1. Trang chủ
  2. » Thể loại khác

ĐẠI HỌC ĐÀ NẴNGKHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNGĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: ỨNG DỤNG GHI CHÚ CÔNG VIỆC

22 20 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 800 KB

Nội dung

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỒ ÁN CƠ SỞ ĐỀ TÀI: ỨNG DỤNG GHI CHÚ CÔNG VIỆC Sinh viên thực : ĐỖ VĂN CHIẾN Giảng viên hướng dẫn : TS LÊ VĂN MINH Lớp : 18IT2 Đà nẵng, tháng 07 năm 2020 ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỒ ÁN CƠ SỞ ỨNG DỤNG GHI CHÚ CÔNG VIỆC Đà Nẵng, tháng 07 năm 2020 MỞ ĐẦU Trong sống đại ngày nay, người theo vịng xốy cơng việc, có cho cơng việc riêng Mà cơng việc q nhiều khiến hạn chế khả ghi nhớ, điều làm thường xuyên bị lỡ công việc nhỏ mà để tâm đến, nhiên công việc nhỏ bỏ lỡ nên thiệt hại định không phương diện kinh tế mà cịn tình cảm Vì việc đưa ứng dụng ghi công việc điều tất yếu LỜI CẢM ƠN Trong thời gian làm đồ án 3, em nhân nhiều giúp đỡ, đóng góp, ý kiến bảo nhiệt tình thầy cơ, gia đình bạn bè Em xin chân thành cảm ơn thầy Lê Văn Minh, giảng viên môn Cơ sở liệu giúp đỡ em, bảo tận tình suốt trình làm đồ án Em xin chân thành cảm ơn thầy cô giáo Khoa công nghệ thông tin truyền thơng – Đại học Đà Nẵng nói chung thầy bơn mơn lập trình nói riêng giúp em có kiến thức môn đại cương môn chuyên ngành, giúp em có sở lý thuyết vững vàng tạo điều kiện giúp đỡ em suốt trình học tập Cuối em xin cảm ơn gia đình, bàn bè, ln tạo điều kiện, quan tâm, giúp dỡ, động viện em suốt trình hoàn thành đồ án sở NHẬN XÉT (Của giảng viên hướng dẫn) …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… MỤC LỤC DANH MỤC CÁC BẢNG DANH MỤC HÌNH DANH MỤC CỤM TỪ VIẾT TẮT Chương Giới thiệu 10 1.1 Tổng quan 10 1.2 Phương pháp 10 1.3 Cấu trúc đồ án 10 1.3.1 Nghiên cứu tổng quan .10 1.3.2 Cơ sở lý thuyết 10 1.3.3 Thực 10 1.3.4 Kết phương hướng phát triển 10 Chương Nghiên cứu tổng quan .11 2.1 Các phương pháp ưu nhược điểm 11 2.1.1 Dùng ngôn ngữ Java 11 2.1.2 Dùng ngôn ngữ kotlin .11 2.1.3 Dùng ngôn ngữ C++ 11 2.1.4 Dùng ngôn ngữ C# 11 2.1.5 Dùng ngôn ngữ Python .12 2.1.6 Sử dụng framework React Native .12 2.2 Cơ sở lý thuyết 13 2.2.1 Framework React native 13 2.2.2 Google Firebase 14 2.2.3 Visual studio code .16 2.3 Kết luận 18 Sau nghiên cứu phương án xây dựng app MEMO nhận thấy nên sử dụng framework React native nhằm tiết kiệm thời gian chi phí, khơng cịn giúp đơn giản hóa việc bảo trì sau tính linh hoạt chạy nhiều tảng mà cần lần code .18 Chương Phân tích thiết kế hệ thống 19 3.1 Các chức ứng dụng 19 3.2 Sơ đồ use-case 19 3.3 Sơ đồ triển khai 19 Chương Triển khai xây dựng 20 4.1 Cơ sở liệu 20 4.2 Giao diện 20 Chương Kết luận Hướng phát triển 22 5.1 Kết luận 22 5.2 Hướng phát triển 22 DANH MỤC CÁC BẢNG Bảng 3:1 Bảng mô tả sở liệu 20 DANH MỤC HÌNH Trang Hình 2:1 React native framework 13 Hình 2:2 Google Firebase 14 Hình 2:3 Visual Studio Code 16 Hình 3:4 Sơ đồ use-case .19 Hình 3:5 Sơ đồ triển khai 19 Hình 4:6 Màn hình chờ Hình 4:7 Màn hình home .20 Hình 4:6 Màn hình chờ Hình 4:7 Màn hình home .20 Hình 4:8 Màn hình chi tiết ghi Hình 4:9 Màn hình danh sách ghi lưu 21 Hình 4:8 Màn hình chi tiết ghi Hình 4:9 Màn hình danh sách ghi lưu 21 DANH MỤC CỤM TỪ VIẾT TẮT STT Cụm từ Công nghệ phần mềm Công nghệ thông tin … Viết tắt CNPM CNTT Chương Giới thiệu 1.1 Tổng quan Hiện công việc ngày nhiều khiến người ta ngày bạn bịu từ đo có bỏ lỡ chuyện ta tưởng chừng nhu nhỏ nhặt lại vơ quan trọng Chính ngun nhân trên, muốn xây dựng ứng dụng ghi công việc giúp người dùng ghi lại công việc cần làm thời gian định đưa thông báo đến lúc cần thực cơng việc Từ đây, ứng dụng ghi công việc MEMO đời 1.2 Phương pháp Sử dụng ngôn ngữ Javascript, dựa tảng framework React Native để xây dựng ứng dụng android, sử dung Google Firebase để làm cở sở liệu lưu trữ liệu liên quan đến ứng dụng 1.3 Cấu trúc đồ án 1.3.1 Nghiên cứu tổng quan Giới thiệu phương pháp thực hiện, nêu ưu nhược điểm phương pháp 1.3.2 Cơ sở lý thuyết Giới thiệu cơng cụ thực đồ án 1.3.3 Thực Trình bày bước thực 1.3.4 Kết phương hướng phát triển Trình bày kết dự án, điểm chưa hoàn thiện phương hướng thực phát triển tương lai Chương Nghiên cứu tổng quan 2.1 Các phương pháp ưu nhược điểm 2.1.1 Dùng ngơn ngữ Java Java ngơn ngữ thức để phát triển ứng dụng Android đó, ngơn ngữ sử dụng nhiều Nhiều ứng dụng Cửa hàng Play xây dựng Java ngôn ngữ Google hỗ trợ nhiều Ngoài tất điều này, Java cịn có cộng đồng trực tuyến tuyệt vời để hỗ trợ trường hợp có vấn đề Tuy nhiên, Java ngôn ngữ phức tạp cho người bắt đầu sử dụng chứa chủ đề phức tạp hàm tạo, ngoại lệ trỏ null, đồng thời, ngoại lệ kiểm tra, v.v Ngồi ra, Bộ cơng cụ phát triển phần mềm Android (SDK) tăng độ phức tạp lên cấp độ mới! Nói chung, Java ngơn ngữ tuyệt vời để trải nghiệm niềm vui trọn vẹn Phát triển ứng dụng Android Tuy nhiên, phức tạp với người bắt đầu muốn bắt đầu với dễ dàng sau quay lại với 2.1.2 Dùng ngơn ngữ kotlin Kotlin ngơn ngữ lập trình đa tảng sử dụng thay cho Java để phát triển ứng dụng Android Nó giới thiệu ngơn ngữ Java Java thức thứ cấp vào năm 2017 Kotlin tương tác với Java chạy Máy ảo Java Sự khác biệt lớn Kotlin loại bỏ tính thừa Java ngoại lệ trỏ null Nó loại bỏ cần thiết phải kết thúc dịng dấu chấm phẩy Nói tóm lại, Kotlin đơn giản nhiều người bắt đầu thử so với Java sử dụng điểm nhập cảnh Cameron cho Phát triển ứng dụng Android 2.1.3 Dùng ngôn ngữ C++ C ++ sử dụng để phát triển ứng dụng Android cách sử dụng Bộ công cụ phát triển địa Android (NDK) Tuy nhiên, ứng dụng khơng thể tạo hồn tồn C ++ NDK sử dụng để triển khai phần ứng dụng mã gốc C ++ Điều giúp sử dụng thư viện mã C ++ cho ứng dụng theo yêu cầu Mặc dù C ++ hữu ích cho phát triển ứng dụng Android số trường hợp, việc thiết lập khó khăn nhiều linh hoạt nhiều Nó dẫn đến nhiều lỗi phức tạp gia tăng 2.1.4 Dùng ngôn ngữ C# C # giống với Java lý tưởng cho Phát triển ứng dụng Android Giống Java, C # thực sưu tập rác nên có khả rị rỉ nhớ Và C # có cú pháp đơn giản gọn gàng Java, giúp việc mã hóa với tương đối dễ dàng Trước đó, nhược điểm lớn C # chạy hệ thống Windows sử dụng NET Framework Tuy nhiên, vấn đề xử lý Xamarin.Android (trước Mono cho Android), triển khai đa tảng Cơ sở hạ tầng ngơn ngữ chung Giờ đây, cơng cụ Xamarin.Android sử dụng để viết ứng dụng Android gốc chia sẻ mã nhiều tảng 2.1.5 Dùng ngơn ngữ Python Python sử dụng để phát triển ứng dụng Android Android không hỗ trợ phát triển Python gốc Điều thực nhiều công cụ khác để chuyển đổi ứng dụng Python thành Gói Android chạy thiết bị Android Một ví dụ điều Kivy thư viện Python nguồn mở sử dụng để phát triển ứng dụng di động Nó hỗ trợ Android khuyến khích phát triển ứng dụng nhanh chóng (đó tình đơi bên có lợi!) Tuy nhiên, nhược điểm điều khơng có lợi ích riêng cho Kivy khơng hỗ trợ 2.1.6 Sử dụng framework React Native React Native framework mã nguồn mở sáng tạo Facebook Nó sử dụng để phát triển ứng dụng di động Android, iOS, Web UWP cho phép nhà phát triển sử dụng React với môi trường ứng dụng gốc Ưu điểm: • • • • • • • Tối ưu thời gian Hiệu ổn định Tiết kiệm chi phí Đội ngũ phát triển ứng dụng khơng lớn Ứng dụng tin cậy, ổn định Xây dựng ứng dụng native code cho nhiều hệ điều hành khác Trải nghiệm người dùng tốt so sánh với ứng dụng Hybrid Nhược điểm: • • • • • Yêu cầu Native code Hiệu so với Native App Bảo mật chưa thật tốt dùng JS Quản lý nhớ Tùy biến chưa thật tốt số module 2.2 Cơ sở lý thuyết 2.2.1 Framework React native Hình 2:1 React native framework Giới thiệu React native framework cho phép lập trình viên xây dựng ứng dụng native mà sử dụng ngơn ngữ lập trình javascript React native cho phép xây dựng ứng dụng android ios với ngôn ngữ thống javascript mang lại trải nghiệm native app thực Không framework hybrid khác (viết lần triển khai nhiều nơi), React native tập trung vào việc lập trình viên làm việc hiệu mơi trường đa tảng React native giúp cho lập trình viên web viết ứng dụng native để khắc phục điểm yếu ứng dụng web hybrid Chỉ với lập trình viên thành thạo javascript, bạn chiến dấu mặt trận web, desktop, server mobile Điều khơng có lợi cho lập trình viên web mà giúp cho doanh nghiệp phát triển sản phẩm đầu cuối với nhân lực Khi xây dựng React native, điều tuyệt vời tích hợp tính Live Reload – tượng tự tính hot Replacement Module Webpack Tính Live Reload khác tính Reload, Live Reload chỏ tải lại chức tập tin thay đổi, Reload tải lại toàn mã nguồn Ngoài ra, bạn dễ dàng debug javascript Chrome Safari Đối với lỗi thuộc Native phải cần đến Xcode Android Studio cho Android Cách hoạt động cảu React native Ứng dụng viết React native chia làm phần: phần view phần xử lý Phần view hay phần hiển thị biên dịch từ javascript ánh xạ với component hệ thống, ví dụ: điều hướng, tab, touch, v.v Phần view lấy cảm hứng từ Virtual DOM React JS, xử lý view thưc DOM ảo, sau React Native render lại native view Phần xử lý thực trực tiếp ngôn ngữ javascript: viduj “1+1=2”, biệu thức xử lý core thực thi javascript, thông dich qua java hay Swift/Objective-C làm phép tính Nhược điểm cảu React native React native giải pháp tuyệt vời cho phát triển ứng dụng điện thoại di động, nhiên đến thời điểm số khuyết điểm: - Vẫn thiếu component view cho Adnroid: Map, Modal, Slider, Spinner module Camera Roll, Media, PushNotificationIOS - Không hỗ trợ Window phone: điểm trừ lớn so sánh với ứng dụng hybrid - Không build ứng dụng iOS Window Linux - Không thể build ứng dụng phức tạp - Khơng nên dùng để viết game có tính đồ họa cách chơi phức tạp - Dùng ES2015/ES6 nên khó khăn việc tiếp cận 2.2.2 Google Firebase Hình 2:2 Google Firebase Google Firebase dịch vụ sở liệu thời gian thực hoạt động tảng đám mây cung cấp Google nhằm giúp lập trình phát triển nhanh ứng dụng cách đơn giản hóa thao tác với sở liệu Các chức Google Firebase Với Google Firebase, bạn tạo ứng dụng chat Yahoo Message Facebook Messager ngày thời gian cực ngắn khoảng ngày chí vài đơn giản bạn cần lo phần client phần server database có firebase lo Firebase kết hợp tảng cloud với hệ thống máy chủ mạnh mẽ tới từ Google, để cung cấp cho API đơn giản, mạnh mẽ đa tảng việc quản lý, sử dụng database Cụ thể Google Firebase cung cấp tới chức sau: - Realtime Database – Cơ sở liệu thời gian thực Firebase lưu trữ liệu database dạng JSON thực đồng database tới tất client theo thời gian thực Cụ thể bạn xây dựng client đa tảng (cross-platform client) tất client sử dụng chung database đến từ Firebase tự động cập nhật liệu database thêm sửa đổi Ngồi Firebase cịn cho phép bạn phân quyền đơn giản cú pháp tương tự javascript - Firebase Authentication – Hệ thống xác thực Firebase Với Firebase bạn dễ dàng tích hợp cơng nghệ xác thực Google, Facebook, Twitter, … hệ thống xác thực mà bạn tự tạo vào ứng dụng bạn tảng Android, iOS Web - Firebase Hosting Các bạn triển khai ứng dụng web nhanh chóng với hệ thống Firebase, liệu lưu trữ đám mây đồng thời bảo mật thông qua giao thức truy cập SSL Các ứng dụng cấp tên miền dạng *.firebaseapp.com bạn trả tiền để sử dụng tên miền riêng Những lợi ích từ việc sử dụng Google Firebase - Triển khai ứng dụng nhanh Với Firebase bạn giảm bớt nhiều thời gian cho việc viết dòng code để quản lý đồng sở liệu, việc diễn hoàn toàn tự động với API Firebase Khơng có Firebase cịn hỗ trợ tảng nên bạn đỡ thời gian nhiều ứng dụng bạn muốn xây dựng ứng dụng đa tảng Không nhanh chóng việc xây dựng database, Google Firebase cịn giúp ta đơn giản hóa q trình đăng kí đăng nhập vào ứng dụng sử dụng hệ thống xác thực Firebase cung cấp - Bảo mật Firebase hoạt động dựa tảng cloud thực kết nối thông qua giao thức bảo mật SSL, bạn bớt lo lắng nhiều việc bảo mật liệu đường truyền client server Khơng có vậy, việc cho phép phân quyền người dùng database cú pháp javascipt nâng cao nhiều độ bảo mật cho ứng dụng bạn, user mà bạn cho phép có quyền chỉnh sửa sở liệu - Tính linh hoạt khả mở rộng Sử dụng Firebase giúp bạn dễ dàng nhiều cần nâng cấp hay mở rộng dịch vụ Ngồi firebase cịn cho phép bạn tự xây dựng server riêng để bạn thuận tiện q trình quản lý Việc Firebase sử dụng NoSQL, giúp cho database bạn khơng bị bó buộc bảng trường mà bạn tùy ý xây dựng database theo cấu trúc riêng bạn - Sự ổn định Firebase hoạt động dựa tảng cloud đến từ Google bạn khơng phải lo lắng việc sập server, công mạng DDOS, tốc độ kết nối lúc nhanh lúc chậm, … nữa, đơn giản Firebase hoạt động hệ thống server Google Hơn nhờ hoạt động tảng Cloud nên việc nâng cấp, bảo trì server diễn đơn giản mà không cần phải dừng server để nâng cấp truyền thống - Giá thành Google Firebase có nhiều gói dịch vụ với mức dung lượng lưu trữ băng thông khác với mức giá dao động từ Free đến $1500 đủ để đáp ứng nhu cầu tất đối tượng Chính bạn lựa chọn gói dịch vụ phù hợp với nhu cầu Điều giúp bạn tới ưu hóa vốn đầu tư vận hành tùy theo số lượng người sử dụng Ngồi bạn cịn khơng chi phí để bảo trì, nâng cấp, khắc phục cố điều có Firebase lo 2.2.3 Visual studio code Hình 2:3 Visual Studio Code Giới thiệu Là trình biên tập lập trình code miễn phí dành cho Windows, Linux macOS, Visual Studio Code phát triển Microsoft Nó xem kết hợp hoàn hảo IDE Code Editor Visual Studio Code hỗ trợ chức debug, kèm với Git, có syntax highlighting, tự hồn thành mã thông minh, snippets, cải tiến mã nguồn Nhờ tính tùy chỉnh, Visual Studio Code cho phép người dùng thay đổi theme, phím tắt, tùy chọn khác Một số tính • Hỗ trợ nhiều ngơn ngữ lập trình Visual Studio Code hỗ trợ nhiều ngơn ngữ lập trình C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript, … Vì vậy, dễ dàng phát đưa thông báo chương chương trình có lỗi • Hỗ trợ đa tảng Các trình viết code thơng thường sử dụng cho Windows Linux Mac Systems Nhưng Visual Studio Code hoạt động tốt ba tảng • Cung cấp kho tiện ích mở rộng Trong trường hợp lập trình viên muốn sử dụng ngơn ngữ lập trình khơng nằm số ngơn ngữ Visual Studio hỗ trợ, họ tải xuống tiện ích mở rộng Điều khơng làm giảm hiệu phần mềm, phần mở rộng hoạt động chương trình độc lập • Kho lưu trữ an toàn Đi kèm với phát triển lập trình nhu cầu lưu trữ an tồn Với Visual Studio Code, người dùng hồn tồn n tâm dễ dàng kết nối với Git kho lưu trữ có • Hỗ trợ web Visual Studio Code hỗ trợ nhiều ứng dụng web Ngồi ra, có trình soạn thảo thiết kế website • Lưu trữ liệu dạng phân cấp Phần lớn tệp lưu trữ đoạn mã đặt thư mục tương tự Ngồi ra, Visual Studio Code cịn cung cấp thư mục cho số tệp đặc biệt quan trọng • Hỗ trợ viết Code Một số đoạn code thay đổi chút để thuận tiện cho người dùng Visual Studio Code đề xuất cho lập trình viên tùy chọn thay có • Hỗ trợ thiết bị đầu cuối Visual Studio Code có tích hợp thiết bị đầu cuối, giúp người dùng khỏi phải chuyển đổi hai hình trở thư mục gốc thực thao tác • Màn hình đa nhiệm Người dùng Visual Studio Code mở lúc nhiều tệp tin thư mục – chúng không liên quan với • Intellisense Hầu hết trình viết mã có tính nhắc mã Intellisense, chương trình chuyên nghiệp Visual Studio Code Nó phát đoạn mã không đầy đủ Thậm chí, lập trình viên qn khơng khai báo biến, Intellisense tự động giúp họ bổ sung cú pháp cịn thiếu • Hỗ trợ Git Visual Studio Code hỗ trợ kéo chép mã trực tiếp từ GitHub Mã sau thay đổi lưu lại phần mềm • Bình luận Việc để lại nhận xét giúp người dùng dễ dàng nhớ cơng việc cần hồn thành 2.3 Kết luận Sau nghiên cứu phương án xây dựng app MEMO nhận thấy nên sử dụng framework React native nhằm tiết kiệm thời gian chi phí, khơng cịn giúp đơn giản hóa việc bảo trì sau tính linh hoạt chạy nhiều tảng mà cần lần code Chương Phân tích thiết kế hệ thống 3.1 Các chức ứng dụng - Lưu lại ghi người dùng - Có thể xem chi tiết ghi - Thể rõ trạng thái cơng việc 3.2 Sơ đồ use-case Hình 3:4 Sơ đồ use-case 3.3 Sơ đồ triển khai Hình 3:5 Sơ đồ triển khai Chương Triển khai xây dựng 4.1 Cơ sở liệu Trường liệu Id Title Detail CreatedTime State Note Kiểu liệu Int String String Date Int String Bảng 3:1 Bảng mô tả sở liệu 4.2 Giao diện Hình 4:6 Màn hình chờ Hình 4:7 Màn hình home Hình 4:8 Màn hình chi tiết ghi Hình 4:9 Màn hình danh sách ghi lưu Chương Kết luận Hướng phát triển 5.1 Kết luận Ứng dụng ghi cơng việc sau hồn thành đáp ứng yêu cầu đưa ví dụ lưu trữ, thêm, sửa, xóa ghi chú, giúp người dùng giải vấn đề dễ quên công việc cần làm Giao diện đơn giản, dễ tiếp cận với người dùng Tuy nhiên ứng dụng cịn tồn số khuyết điểm chưa có chức thông báo đến lúc cần thực công việc Về vấn đề tiếp tục hoàn thiện sản phẩm, đưa vào sản phẩm chức thơng báo để người dùng sử dụng cách tiện lợi 5.2 Hướng phát triển Trong thời gian tới, tơi tiếp tục hồn thiện sản phẩm hơn, thêm nhiều chức cho MEMO để mang lại trải nghiệm tuyệt vời cho người sử dụng, ví dụ chức thơng báo nói Ngồi tơi cải thiện phương pháp quản lý ghi chú, để nâng cao trải nghiệm cảu người dùng ...ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỒ ÁN CƠ SỞ ỨNG DỤNG GHI CHÚ CÔNG VIỆC Đà Nẵng, tháng 07 năm 2020 MỞ ĐẦU Trong sống đại ngày nay, người theo vịng xốy cơng việc, ... công việc giúp người dùng ghi lại cơng việc cần làm thời gian định đưa thông báo đến lúc cần thực cơng việc Từ đây, ứng dụng ghi cơng việc MEMO đời 1.2 Phương pháp Sử dụng ngôn ngữ Javascript,... 10 1 .3 Cấu trúc đồ án 10 1 .3. 1 Nghiên cứu tổng quan .10 1 .3. 2 Cơ sở lý thuyết 10 1 .3. 3 Thực 10 1 .3. 4 Kết phương hướng phát triển 10 Chương Nghiên

Ngày đăng: 20/04/2021, 22:27

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w