Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 75 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
75
Dung lượng
1,44 MB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI - ĐINH THỊ HUYỀN ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT PHẦN MỀM XÂY DỰNG ỨNG DỤNG NHẮC NHỞ TRÊN NỀN TẢNG IOS GVHD: ThS Nguyễn Thái Cường Sinh viên : Đinh Thị Huyền KỸ THUẬT PHẦN MỀM Hà Nội – Năm 2022 Tieu luan Tieu luan MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT .i DANH MỤC HÌNH VẼ ii DANH MỤC BẢNG BIỂU iii LỜI CẢM ƠN .iv MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ NỘI DUNG NGHIÊN CỨU 1.1 Giới thiệu chung 1.2 Cơ sở lý thuyết 1.2.1 Tổng quan lập trình di động .3 1.2.2 Giới thiệu cơng cụ lập trình Xcode .5 1.2.3 Ngơn ngữ lập trình Swift .6 1.2.4 Một số framework lập trình Swift 1.2.5 NoSQL Database Realm Mobile Database 1.2.6 Tổng quan mơ hình MVVM 16 CHƯƠNG PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .20 2.1 Khảo sát người dùng 20 2.2 Giới thiệu hệ thống 21 2.3 Phân tích yêu cầu 21 2.3.1 Về hệ thống 21 2.3.2 Về người sử dụng 22 2.3.3 Yêu cầu chức 22 2.4 Thiết kế hệ thống 23 2.4.1 Mơ hình hóa Usecase 23 2.4.2 Mô tả chi tiết Usecase 27 2.4.3 Biểu đồ lớp hệ thống 46 2.5 Thiết kế giao diện .47 2.5.1 Giao diện Quản lý nhắc nhở 47 2.5.2 Giao diện Quản lý loại nhắc nhở 53 2.5.3 Giao diện Thống kê .55 2.5.4 Giao diện Đăng nhập 56 Tieu luan 2.5.5 Giao diện Đồng 57 2.5.6 Giao diện Thông báo 58 2.6 Thiết kế sở liệu .59 CHƯƠNG KẾT QUẢ .60 3.1 Cài đặt môi trường 60 3.2 Cài đặt chương trình 61 3.3 Kết thu 63 3.4 Kết kiểm thử 63 KẾT LUẬN 66 TÀI LIỆU THAM KHẢO 67 Tieu luan i DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT STT Viết tắt Dịch nghĩa HTML/CSS HyperText Markup Language/Cascading Style Sheets SQL Structured Query Language API Application Programming Interface XML Extensible Markup Language JSON JavaScript Object Notation RMD Realm Moblie Database MVVM Model - View - ViewModel MVC Model-View-Controller CSDL Cơ sở liệu 10 SDK Software Development Kit Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS ii DANH MỤC HÌNH VẼ Hình 1.1: Biểu đồ công nghệ sở liệu giai đoạn 1994-2014 14 Hình 1.2: Bảng so sánh tốc độ Realm so với CSDL khác 15 Hình 1.3: Mơ hình MVVM 19 Hình 2.1: Biểu đồ Usecase 24 Hình 2.2: Usecase Quản lý nhắc nhở 25 Hình 2.3: Usecase Quản lý loại nhắc nhở .25 Hình 2.4: Usecase Thống kê 26 Hình 2.5: Usecase Đồng 26 Hình 2.6: Biểu đồ trình tự Quản lý nhắc nhở 31 Hình 2.7: Biểu đồ trình tự Quản lý loại nhắc nhở 35 Hình 2.8: Biểu đồ trình tự Thống kê .38 Hình 2.9: Biểu đồ trình tự Đăng nhập 41 Hình 2.10: Biểu đồ trình tự Đồng liệu 44 Hình 2.11: Biểu đồ lớp hệ thống 46 Hình 2.12: Giao diện hình Trang chủ 47 Hình 2.13: Giao diện Hiển thị tất danh sách nhắc nhở .48 Hình 2.14: Giao diện Hiển thị danh sách nhắc nhở theo ngày 49 Hình 2.15: Giao diện Thêm nhắc nhở 50 Hình 2.16: Giao diện Chi tiết nhắc nhở, Sửa, Xóa nhắc nhở 51 Hình 2.17: Giao diện Tìm kiếm nhắc nhở .52 Hình 2.18: Giao diện Hiện thị nhắc nhở theo loại 53 Hình 2.19: Giao diện Thêm, Sửa loại nhắc nhở 54 Hình 2.20: Giao diện Hiện thị thống kê 55 Hình 2.21: Giao diện Đăng nhập 56 Hình 2.22: Giao diện Đồng liệu 57 Hình 2.23: Giao diện Thông báo 58 Hình 2.24: Cơ sở liệu .59 Hình 3.1: Phần mềm Xcode Appstore 60 Hình 3.2: Cửa sổ terminal cài đặt homebrew 61 Hình 3.3: Generate file xcodeproj thành công .61 Hình 3.4: Giao diện project Xcode 62 Hình 3.5: Ứng dụng build thành công thiết bị simulator 63 DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS iii DANH MỤC BẢNG BIỂU Bảng 2.1: Mô tả usecase Quản lý nhắc nhở 27 Bảng 2.2: Mô tả usecase Quản lý loại nhắc nhở 31 Bảng 2.3: Mô tả usecase Thống kê .36 Bảng 2.4: Mô tả usecase Đăng nhập .39 Bảng 2.5: Mô tả usecase Đồng 42 Bảng 2.6: Mô tả usecase Thông báo .45 Bảng 3.1: Kiểm thử chức ứng dụng 63 DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS iv LỜI CẢM ƠN Trong suốt thời gian học tập thực đồ án tốt nghiệp em ln nhận hướng dẫn nhiệt tình từ phía nhà trường thầy giáo Vì thế, lời em xin chân thành cảm ơn trường Đại học Công nghiệp Hà Nội, thầy cô giáo khoa Công nghệ thông tin tạo điều kiện thuận lợi truyền dạy kiến thức cho em thời gian qua để em hoàn thành đề tài cách tốt Và hết em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo hướng dẫn ThS Nguyễn Thái Cường tận tình giúp đỡ, định hướng em nhiều suốt trình tìm hiểu nghiên cứu hoàn thành đồ án tốt nghiệp Khi thực nghiên cứu đề tài, em cố gắng hoàn thành tốt báo cáo đồ án tốt nghiệp Tuy nhiên kiến thức chuyên ngành thân nhiều hạn chế Vì báo cáo khơng tránh khỏi thiếu sót, em mong nhận đóng góp tất thầy giáo để đồ án em đầy đủ hoàn chỉnh Em xin chân thành cảm ơn! DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS MỞ ĐẦU Lý chọn đề tài Khi thời đại công nghệ thông tin ngày phát triển mạnh mẽ đòi hỏi người phải làm việc với cường độ cao tập trung Hằng ngày phải đối mặt với khối lượng công việc dày đặc khiến cho dễ quên bỏ lỡ công việc quan trọng Điều dẫn đến hậu ảnh hưởng lớn đời sống công việc Chính lập lịch cá nhân sử dụng ứng dụng để nhắc việc giải pháp thiết yếu cá nhân giúp cho việc quản lý công việc hàng ngày tốt hiệu Từ nhu cầu thực tế nên em thực đề tài “Xây dựng ứng dụng quản lý chi tiêu tảng Android”, giúp người dùng lên kế hoạch công việc đặt thông báo nhắc nhở để thực cơng việc hẹn Đối tượng, mục tiêu phạm vi nghiên cứu a Mục tiêu nghiên cứu - Phân tích, hiểu tốn nghiệp vụ thực tế - Tìm hiểu cơng nghệ xây dựng tảng iOS - Xây dựng ứng dụng nhắc việc đáp ứng đầy đủ yêu cầu đặt - Về phía người dùng, đảm bảo động dễ dàng quản lý thông tin ngày nhắc nhở b Đối tượng nghiên cứu - Ngơn ngữ lập trình Swift - Cơng cụ lập trình Xcode - Mơ hình MVVM - Cơ sở liệu Realm c Phạm vi nghiên cứu DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Ứng dụng xây dựng đáp ứng chức sau: Quản lý nhắc nhở Quản lý loại nhắc nhở Thống kê phần trăm mức độ công việc Đăng nhập Đồng liệu Thông báo Phương pháp nghiên cứu - Phương pháp nghiên cứu mặt lý thuyết: ▪ Nghiên cứu tiến hành thu thập tài liệu có liên quan đến đề tài ▪ Tổng hợp tài liệu thu thập tiến hành phân tích ▪ Chọn lọc tài liệu nghiên cứu để báo cáo đồ án tốt nghiệp - Phương pháp nghiên cứu thực nghiệm: ▪ Tìm hiểu cách thức, tiêu chí kiểm thử chức ▪ Phân tích ứng dụng có chức tương tự ▪ Phân tích tiến hành xây dựng ứng dụng theo phân tích u cầu thực tế ▪ Tìm hiểu ngơn ngữ lập trình Swift, cơng cụ lập trình Xcode, mơ hình MVVM, sở liệu Realm ▪ Áp dụng công nghệ vào xây dựng hệ thống ▪ Tổng hợp tất kiến thức học hoàn thành báo cáo DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 53 2.5.2 Giao diện Quản lý loại nhắc nhở Hình 2.18: Giao diện Hiện thị nhắc nhở theo loại DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 54 Hình 2.19: Giao diện Thêm, Sửa loại nhắc nhở DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 55 2.5.3 Giao diện Thống kê Hình 2.20: Giao diện Hiện thị thống kê DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 56 2.5.4 Giao diện Đăng nhập Hình 2.21: Giao diện Đăng nhập DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 57 2.5.5 Giao diện Đồng Hình 2.22: Giao diện Đồng liệu DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 58 2.5.6 Giao diện Thông báo Hình 2.23: Giao diện Thơng báo DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 59 2.6 Thiết kế sở liệu Hình 2.24: Cơ sở liệu DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 60 CHƯƠNG KẾT QUẢ 3.1 Cài đặt môi trường Trong trình cài đặt mơi trường - Cài đặt xcode + Bước 1: Mở Appstore, tìm kiềm Xcode tìm kiếm + Bước 2: Ấn nút download để thực tải cài đặt phiên Xcode Hình 3.1: Phần mềm Xcode Appstore - Cài đặt xcodegen + Bước 1: Mở terminal, thực cài homebrew đoạn lệnh sau /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh" DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 61 Hình 3.2: Cửa sổ terminal cài đặt homebrew Khi cài homebrew thành công, thực brew -v để kiểm tra version homebrew, đồng thời xác nhận việc cài homebrew thành công + Bước 2: Cài đặt xcodegen đoạn lệnh brew install xcodegen + Bước 3: Thực kiểm tra version xcodegen để đảm bảo trình cài đặt thực thành công câu lệnh xcodegen – version 3.2 Cài đặt chương trình - Truy cập vào thư mục project terminal - Cài Xcodegen để có generate file xcodeproj Nếu máy chưa cài xcodegen cài thông qua câu lệnh “brew install xcodegen” - Chạy câu lệnh “xcodegen” để tạo file xcodeproject Hình 3.3: Generate file xcodeproj thành công DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 62 - Mở file xcodeproj vừa tạo xcode Hình 3.4: Giao diện project Xcode - Ở bên trái, ta thấy cấu trúc thư mục, tệp tin project - Base: nơi chứa base code, giúp cho việc tổ chức code, thuận tiện - Common: chứa object dùng cho toàn project, extensions, resources, helper, … - MVVM: Nơi tổ chức code theo mơ hình MVVM + DAO: Chứa class DAO giúp cho việc tương tác với sở liệu + Enum: Nơi định nghĩa enum + Model: Nơi chứa model, Model MVVM + ViewController: nơi chứa class ViewController giao diện, View MVVM + ViewModel: nơi chứa class ViewModel, ViewModel MVVM - Để thực build ứng dụng lên thiết bị di động thiết bị ảo, ta nhấn phím tắt command + R DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 63 Hình 3.5: Ứng dụng build thành công thiết bị simulator 3.3 Kết thu Hệ thống xây dựng với chức năng, là: Quản lý nhắc nhở Quản lý loại nhắc nhở Thống kê Đăng nhập Đồng liệu Thông báo 3.4 Kết kiểm thử Bảng 3.1: Kiểm thử chức ứng dụng STT Nội dung Mục đích kiểm thử Quản lý nhắc nhở Kiểm tra chức “Thêm nhắc nhở” Kiểm tra chức Đầu vào Đầu mong muốn Nhập Thêm liệu hợp lệ nhắc nhở thành công Nhập Không thêm liệu không hợp lệ nhắc nhở Cập nhật Nhập liệu hợp lệ nhắc nhở thành công DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan Kết Pass Pass Pass DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 64 “Sửa nhắc nhở” Kiểm tra chức “Xóa nhắc nhở” Kiểm tra chức “Hiển thị nhắc nhở” Kiểm tra chức “ Tìm kiếm nhắc nhở” Quản lý loại nhắc nhở Kiểm tra chức “Hiển thị danh sách loại nhắc nhở” Kiểm tra chức “Thêm loại nhắc nhở” Kiểm tra chức “Sửa loại nhắc nhở” Kiểm tra chức Hiển thị Nhập liệu không thông báo yêu cầu nhập hợp lệ lại Xóa thành Đồng ý cơng nhắc xóa nhở khỏi danh sách Nhấn Hiển thị button danh sách nhắc nhở theo lựa chọn Nhập tên Hiển thị danh nhắc nhở sách nhắc có tồn nhở chứa ký tự vừa nhập hình Nhập tên Không hiển nhắc nhở thị ghi không tồn Có Hiển thị đủ trang chủ danh sách loại nhắc nhở hình home Pass Nhập Thêm liệu hợp lệ loại nhắc nhở thành công Nhập Hiển thị liệu không thông báo hợp lệ yêu cầu nhập lại Nhập Sửa thành liệu hợp lệ công Nhập Hiển thị liệu không thông báo hợp lệ yêu cầu nhập lại Xóa thành Đồng ý cơng loại xóa nhắc nhở Pass DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan Pass Pass Pass Pass Pass Pass Pass Pass Pass DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 65 10 Thống kê 11 Đăng nhập 12 13 Đồng liệu 14 16 17 Thơng báo “Xóa loại nhắc nhở” Kiểm tra chức “Thống kê nhắc nhở” Thống kê mức độ nhắc nhở Kiểm tra chức “Đăng nhập với Google” Nhập thông tin tài khoản hợp lệ Kiểm tra chức “Đăng nhập với Apple” Nhập thông tin khơng hợp lệ Chọn thơng tin hình Kiểm tra chức “Đồng lên server” Kiểm tra chức “Đồng từ server máy” Kiểm tra chức mạng Kiểm tra chức “Thông báo” Chọn nút đẩy lên Hiển thị danh Pass sách thống kê nhắc nhở: hoàn thành; hạn; tiếp tục Đăng nhập Pass thành công thị thơng tin hình Home Hủy bỏ đăng Pass nhập Pass Đăng nhập thành công thị thông tin hình Home Đồng lên Pass thành cơng Chọn nút tải từ server Đồng thành công Pass Chọn nút đồng Hiển thị thông báo Pass Tạo nhắc nhở thành cơng Thơng báo lên hình thông tin, Pass DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS 66 KẾT LUẬN Đánh giá kết - Phần hoàn thành Về mặt cơng nghệ, em tìm hiểu nắm bắt quy trình để xây dựng ứng dụng iOS, tìm hiểu cách sử dụng trình soạn thảo Xcode Hoàn thiện khảo sát phân tích thiết kế hệ thống “Ứng dụng nhắc nhở” Lập trình thành thạo với ngơn ngữ Swift framework UIKit - Phần chưa hoàn thành Cần hoàn thiện thêm giao diện để khách hàng dễ sử dụng Hướng phát triển Thiết kế lập trình mở rộng chức năng: Quét tài liệu, Thêm hình ảnh, chụp ảnh vào nhắc nhở; Đồng tự động Hỗ trợ thêm chế độ Dark mode Hỗ trợ giao diện dạng widget cho ứng dụng hình điện thoại Hỗ trợ giao diện ứng dụng watchOS, macOS Cải thiện mượt mà ứng dụng Nâng cao trải nghiệm người dùng Em mong tiếp tục nhận giúp đỡ tạo điều kiện thầy cô nhà trường để em có hội phát triển, hồn thiện ứng dụng tốt thời gian tới DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS Tieu luan DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS DO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOSDO.an.tot.NGHIEP.NGANH.ky.THUAT.PHAN.mem.xay.DUNG.UNG.DUNG.NHAC.NHO.TREN.nen.TANG.IOS