Tải bản đầy đủ (.doc) (22 trang)

ĐẠ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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (493.57 KB, 22 trang )

ĐẠI HỌC ĐÀ NẴNG

KHOA 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

Sinh viên thực hiện : ĐỖ 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Ở 3
ỨNG DỤNG GHI CHÚ CÔNG VIỆC

Đà Nẵng, tháng 07 năm 2020


MỞ ĐẦU

Trong cuộc sống hiện đại ngày nay, mỗi người chúng ta đều cuốn theo vịng
xốy cơng việc, ai cũng có cho mình một cơng việc riêng. Mà cơng việc thì quá
nhiều khiến chúng ta hạn chế khả năng ghi nhớ, điều này làm chúng ta thường
xuyên bị lỡ những cơng việc nhỏ mà chúng ta ít để tâm đến, tuy nhiên đơi khi


những cơng việc nhỏ đó nếu chúng ta bỏ lỡ có thể tại nên thiệt hại nhất định
khơng chỉ trên phương diện kinh tế mà cịn có thể là tình cảm. Vì vậy việc đưa ra
một ứng dụng ghi chú công việc là điều tất yếu.


LỜI CẢM ƠN
Trong thời gian làm đồ án 3, em đã nhân được nhiều sự giúp đỡ, đóng góp, ý kiến và
chỉ bảo nhiệt tình của thầy cơ, gia đình và bạn bè.
Em xin chân thành cảm ơn thầy Lê Văn Minh, giảng viên bộ môn Cơ sở dữ liệu đã
giúp đỡ em, chỉ bảo tận tình trong suốt quá trình làm đồ án.
Em cũng xin chân thành cảm ơn các thầy cô giáo trong Khoa công nghệ thông tin và
truyền thơng – Đại học Đà Nẵng nói chung và các thầy cơ trong bơn mơn lập trình nói
riêng đã giúp em có được các kiến thức về các mơn đại cương cũng như các mơn
chun ngành, giúp em có được cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ
em trong suốt quá trình học tập.
Cuối cùng 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 trong suốt q trình hồn thành đồ án cơ sở 3.


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...................................................................................7
DANH MỤC HÌNH..............................................................................................8
DANH MỤC CỤM TỪ VIẾT TẮT......................................................................9
Chương 1 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 hiện............................................................................................10
1.3.4 Kết quả và phương hướng phát triển...................................................10
Chương 2 Nghiên cứu tổng quan.........................................................................11
2.1 Các phương pháp và ưu nhược điểm của nó..............................................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 các phương án xây dựng app MEMO tôi nhận thấy nên sử dụng
framework React native nhằm tiết kiệm thời gian cũng như chi phí, khơng những
vậy nó cịn giúp đơn giản hóa việc bảo trì sau này vì tính linh hoạt của nó khi có
thể chạy trên nhiều nền tảng mà chỉ cần một lần code.........................................18
Chương 3 Phân tích thiết kế hệ thống..................................................................19
3.1 Các chức năng của ứng dụng.....................................................................19
3.2 Sơ đồ use-case............................................................................................19
3.3 Sơ đồ triển khai..........................................................................................19
Chương 4 Triển khai xây dựng............................................................................20
4.1 Cơ sở dữ liệu..............................................................................................20
4.2 Giao diện....................................................................................................20
Chương 5 Kết luận và 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ả cơ sở dữ 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 chú Hình 4:9 Màn hình danh sách các ghi chú đã
lưu........................................................................................................................ 21
Hình 4:8 Màn hình chi tiết ghi chú Hình 4:9 Màn hình danh sách các ghi chú đã
lưu........................................................................................................................ 21


DANH MỤC CỤM TỪ VIẾT TẮT
STT
1
2

Cụm từ
Công nghệ phần mềm
Công nghệ thông tin
…..

Viết tắt
CNPM
CNTT


Chương 1

Giới thiệu

1.1 Tổng quan
Hiện nay công việc ngày càng nhiều khiến con người ta ngày càng bạn bịu
và từ đo có chúng ta có thể bỏ lỡ những chuyện ta tưởng chừng nhu nhỏ nhặt

nhưng lại vô cùng quan trọng.
Chính vì ngun nhân trên, tơi muốn xây dựng một ứng dụng ghi chú cơng
việc có thể giúp người dùng ghi chú lại những công việc cần làm trong một thời
gian nhất định và đưa ra thông báo khi đến lúc cần thực hiện cơng việc đó.
Từ đây, ứng dụng ghi chú công việc MEMO đã ra đời.

1.2 Phương pháp
Sử dụng ngôn ngữ Javascript, dựa trên nền tảng framework React Native để
xây dựng ứng dụng android, sử dung Google Firebase để làm cở sở dữ liệu lưu
trữ dữ 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 các phương pháp thực hiện, nêu ra ưu nhược điểm của từng
phương pháp.
1.3.2 Cơ sở lý thuyết
Giới thiệu các cơng cụ thực hiện đồ án
1.3.3 Thực hiện
Trình bày các bước thực hiện
1.3.4 Kết quả và phương hướng phát triển
Trình bày kết quả của dự án, những điểm chưa hoàn thiện và phương
hướng thực hiện cũng như phát triển trong tương lai


Chương 2

Nghiên cứu tổng quan

2.1 Các phương pháp và ưu nhược điểm của nó
2.1.1 Dùng ngơn ngữ Java

Java là ngơn ngữ chính thức để phát triển ứng dụng Android và do đó, đây
cũng là ngơn ngữ được sử dụng nhiều nhất. Nhiều ứng dụng trong Cửa hàng Play
được xây dựng bằng Java và đây cũng là ngôn ngữ được Google hỗ trợ nhiều
nhất. Ngoài tất cả những điều này, Java cịn có một cộng đồng trực tuyến tuyệt
vời để hỗ trợ trong trường hợp có bất kỳ vấn đề
Tuy nhiên, Java là ngôn ngữ phức tạp cho người mới bắt đầu sử dụng vì
nó chứa các chủ đề phức tạp như hàm tạo, ngoại lệ con trỏ null, đồng thời, ngoại
lệ được 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 một cấp độ mới!
Nói chung, Java là một ngơn ngữ tuyệt vời để trải nghiệm niềm vui trọn vẹn
của Phát triển ứng dụng Android. Tuy nhiên, nó có thể hơi phức tạp với những
người mới bắt đầu muốn bắt đầu với một cái gì đó dễ dàng hơn và sau đó quay lại
với nó.
2.1.2 Dùng ngơn ngữ kotlin
Kotlin là ngơn ngữ lập trình đa nền tảng có thể được sử dụng thay thế cho
Java để phát triển ứng dụng Android. Nó cũng đã được giới thiệu là ngơn ngữ
Java Java chính thức thứ cấp vào năm 2017. Kotlin có thể tương tác với Java và
nó chạy trên Máy ảo Java.
Sự khác biệt khá lớn duy nhất là Kotlin loại bỏ các tính năng thừa của Java
như ngoại lệ con trỏ null. Nó cũng loại bỏ sự cần thiết phải kết thúc mọi dịng
bằng dấu chấm phẩy. Nói tóm lại, Kotlin đơn giản hơn nhiều đối với những người
mới bắt đầu thử so với Java và nó cũng có thể được sử dụng như một điểm nhập
cảnh của Cameron cho Phát triển ứng dụng Android.
2.1.3 Dùng ngơn ngữ C++
C ++ có thể được sử dụng để phát triển ứng dụng Android bằng cách sử
dụng Bộ công cụ phát triển bản địa Android (NDK). Tuy nhiên, một ứng dụng
không thể được tạo hoàn toàn bằng C ++ và NDK được sử dụng để triển khai các
phần của ứng dụng trong mã gốc C ++. Điều này giúp sử dụng các 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 trong một số trường

hợp, nhưng việc thiết lập khó khăn hơn nhiều và kém linh hoạt hơn nhiều. Nó
cũng có thể dẫn đến nhiều lỗi hơn vì sự phức tạp gia tăng.

2.1.4 Dùng ngôn ngữ C#
C # khá giống với Java và vì vậy nó rất lý tưởng cho Phát triển ứng dụng
Android. Giống như Java, C # cũng thực hiện bộ sưu tập rác nên có ít khả năng rị
rỉ bộ nhớ hơn. Và C # cũng có một cú pháp đơn giản và gọn gàng hơn Java, giúp
việc mã hóa với nó tương đối dễ dàng hơn.


Trước đó, nhược điểm lớn nhất của C # là nó chỉ có thể chạy trên các hệ
thống Windows khi sử dụng .NET Framework. Tuy nhiên, vấn đề này đã được xử
lý bởi Xamarin.Android (trước đây là Mono cho Android), đây là một triển khai
đa nền tảng của Cơ sở hạ tầng ngôn ngữ chung. Giờ đây, các công cụ
Xamarin.Android có thể được sử dụng để viết các ứng dụng Android gốc và chia
sẻ mã trên nhiều nền tảng.

2.1.5 Dùng ngơn ngữ Python
Python có thể được sử dụng để phát triển ứng dụng Android mặc dù
Android không hỗ trợ phát triển Python gốc. Điều này có thể được thực hiện bằng
nhiều công cụ khác nhau để chuyển đổi các ứng dụng Python thành Gói Android
có thể chạy trên thiết bị Android.
Một ví dụ về điều này là Kivy là một thư viện Python nguồn mở được sử
dụng để phát triển các ứng dụng di động. Nó hỗ trợ Android và cũng khuyến
khích phát triển ứng dụng nhanh chóng (đó là một tình huống đơi bên cùng có
lợi!). Tuy nhiên, một nhược điểm của điều này là sẽ khơng có lợi ích riêng cho
Kivy vì nó khơng được hỗ trợ.
2.1.6 Sử dụng framework React Native
React Native là một framework mã nguồn mở được sáng tạo bởi Facebook.
Nó được sử dụng để phát triển ứng dụng di động Android, iOS, Web và UWP

bằng các cho phép các nhà phát triển sử dụng React cùng với mơi trường ứng
dụng gốc.
Ưu điểm:








Tối ưu thời gian.
Hiệu năng ổn định.
Tiết kiệm chi phí.
Đội ngũ phát triển ứng dụng không quá lớn.
Ứng dụng tin cậy, ổn định.
Xây dựng ứng dụng ít native code nhất cho nhiều hệ điều hành khác nhau.
Trải nghiệm người dùng tốt hơn khi so sánh với ứng dụng Hybrid.
Nhược điểm:







Yêu cầu Native code.
Hiệu năng kém hơn so với Native App.
Bảo mật chưa thật sự tốt do dùng JS.
Quản lý bộ nhớ.

Tùy biến chưa thật sự tốt ở mộ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 là một framework cho phép các lập trình viên xây dựng các
ứng dụng native mà chỉ sử dụng ngơn ngữ lập trình javascript
React native cho phép xây dựng các ứng dụng trên android và ios chỉ với
một ngôn ngữ thống nhất là javascript nhưng mang lại trải nghiệm native app
thực sự. Không như các framework hybrid khác (viết một lần triển khai nhiều
nơi), React native tập trung vào việc một lập trình viên làm việc hiệu quả trên
môi trường đa nền tảng như thế nào.
React native giúp cho lập trình viên web có thể viết ứng dụng native để
khắc phục các điểm yếu của ứng dụng web và hybrid. Chỉ với một lập trình viên
thành thạo javascript, bạn có thể chiến dấu trên mọi mặt trận web, desktop, server
và bây giờ là mobile. Điều này không những có lợi cho lập trình viên web mà nó
giúp cho các doanh nghiệp phát triển sản phẩm ở đầu cuối với ít nhân lực hơn.
Khi xây dựng React native, điều tuyệt vời là đã được tích hợp tính năng
Live Reload – tượng tự tính năng hot Replacement Module trong Webpack. Tính
năng Live Reload khác tính năng Reload, trong khi Live Reload chỏ tải lại chức
năng tập tin nào thay đổi, thì Reload sẽ tải lại tồn bộ mã nguồn. Ngồi ra, bạn
cũng có thể dễ dàng debug javascript trong Chrome và Safari. Đối với những lỗi
thuộc Native thì phải cần đến Xcode hoặc Android Studio cho Android.
Cách hoạt động cảu React native
Ứng dụng viết bằng React native được chia làm 2 phần: phần view và
phần xử lý

Phần view hay phần hiển thị được biên dịch từ javascript sẽ ánh xạ với
những component của hệ thống, ví dụ: điều hướng, tab, touch, v.v... Phần view
này được lấy cảm hứng từ Virtual DOM của React JS, mọi xử lý view được thưc
hiện trên một cây DOM ảo, sau đó được React Native render lại bằng native view


Phần xử lý vẫn được thực hiện trực tiếp bằng ngôn ngữ javascript: viduj
“1+1=2”, biệu thức này được xử lý dưới bộ core thực thi javascript, không phải
thông dich qua java hay Swift/Objective-C rồi mới làm phép tính.
Nhược điểm cảu React native
React native là một giải pháp tuyệt vời cho phát triển ứng dụng trên điện
thoại di động, tuy nhiên đến thời điểm hiện tại vẫn còn một số khuyết điểm:
- Vẫn còn thiếu các component view cho Adnroid: Map, Modal, Slider,
Spinner hoặc các module như Camera Roll, Media, PushNotificationIOS.
- Không hỗ trợ Window phone: đây sẽ là điểm trừ lớn nếu so sánh với các
ứng dụng hybrid.
- Không build được ứng dụng iOS trên Window và Linux
- Không thể build được ứng dụng quá phức tạp
- Không nên dùng để viết game có tính đồ họa và cách chơi phức tạp
- Dùng ES2015/ES6 nên khó khăn trong việc tiếp cận
2.2.2 Google Firebase

Hình 2:2 Google Firebase

Google Firebase là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên
nền tảng đám mây được cung cấp bởi Google nhằm giúp các lập trình phát triển
nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu..
Các chức năng chính của Google Firebase
Với Google Firebase, bạn có thể tạo ra các ứng dụng chat như
Yahoo Message của ngày xưa hoặc như Facebook Messager của ngày

nay trong thời gian cực ngắn như khoảng một ngày thậm chí là vài giờ
bởi đơn giản là bạn chỉ cần lo phần client cịn phần server và database
đã có firebase lo. Firebase là sự kết hợp giữa nền tảng cloud với hệ
thống máy chủ cực kì mạnh mẽ tới từ Google, để cung cấp cho chúng
ta những API đơn giản, mạnh mẽ và đa nền tảng trong việc quản lý, sử
dụng database. Cụ thể hơn Google Firebase cung cấp tới chúng ta
những chức năng chính sau:
- Realtime Database – Cơ sở dữ liệu thời gian thực Firebase lưu
trữ dữ liệu database dưới dạng JSON và thực hiện đồng bộ database


tới tất cả các client theo thời gian thực. Cụ thể hơn là bạn có thể xây
dựng được client đa nền tảng (cross-platform client) và tất cả các client
này sẽ cùng sử dụng chung 1 database đến từ Firebase và có thể tự
động cập nhật mỗi khi dữ liệu trong database được thêm mới hoặc sửa
đổi. Ngồi ra Firebase cịn cho phép bạn phân quyền một các đơn giản
bằng cú pháp tương tự như javascript.
- Firebase Authentication – Hệ thống xác thực của Firebase Với
Firebase bạn có thể dễ dàng tích hợp các cơng nghệ xác thực của
Google, Facebook, Twitter, … hoặc một hệ thống xác thực mà bạn tự
mình tạo ra vào trong ứng dụng của bạn ở bất kì nền tảng nào như
Android, iOS hoặc Web.
- Firebase Hosting Các bạn có thể triển khai một ứng dụng nền
web nhanh chóng với hệ thống Firebase, và các dữ liệu sẽ được lưu trữ
đám mây đồng thời được bảo mật thông qua giao thức truy cập SSL.
Các ứng dụng sẽ được cấp 1 tên miền dạng *.firebaseapp.com hoặc
bạn có thể trả tiền để sử dụng tên miền của riêng mình.
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 có thể giảm bớt
rất nhiều thời gian cho việc viết các dòng code để quản lý và đồng bộ

cơ sở dữ liệu, mọi việc sẽ diễn ra hoàn toàn tự động với các API của
Firebase. Khơng chỉ có vậy Firebase cịn hỗ trợ đã nền tảng nên bạn sẽ
càng đỡ mất thời gian rất nhiều khi ứng dụng bạn muốn xây dựng là
ứng dụng đa nền tảng. Khơng chỉ nhanh chóng trong việc xây dựng
database, Google Firebase cịn giúp ta đơn giản hóa q trình đăng kí
và đăng nhập vào ứng dụng bằng các sử dụng hệ thống xác thực do
chính Firebase cung cấp.
- Bảo mật Firebase hoạt động dựa trên nền tảng cloud và thực
hiện kết nối thông qua giao thức bảo mật SSL, chính vì vậy bạn sẽ bớt
lo lắng rất nhiều về việc bảo mật của dữ liệu cũng như đường truyền
giữa client và server. Khơng chỉ có vậy, việc cho phép phân quyền
người dùng database bằng cú pháp javascipt cũng nâng cao hơn nhiều
độ bảo mật cho ứng dụng của bạn, bởi chỉ những user mà bạn cho
phép mới có thể có quyền chỉnh sửa cơ sở dữ liệu.
- Tính linh hoạt và khả năng mở rộng Sử dụng Firebase sẽ giúp
bạn dễ dàng hơn rất nhiều mỗi khi cần nâng cấp hay mở rộng dịch vụ.
Ngồi ra firebase cịn cho phép bạn tự xây dựng server của riêng mình
để bạn có thể thuận tiện hơn trong q trình quản lý. Việc Firebase sử
dụng NoSQL, giúp cho database của bạn sẽ khơng bị bó buộc trong các
bảng và các trường mà bạn có thể tùy ý xây dựng database theo cấu
trúc của riêng bạn.


- Sự ổn định Firebase hoạt động dựa trên nền tảng cloud đến từ
Google vì vậy hầu như bạn khơng bao giờ phải lo lắng về việc sập
server, tấn công mạng như DDOS, tốc độ kết nối lúc nhanh lúc chậm, …
nữa, bởi đơn giản là Firebase hoạt động trên hệ thống server của
Google. Hơn nữa nhờ hoạt động trên nền tảng Cloud nên việc nâng
cấp, bảo trì server cũng diễn ra rất đơn giản mà không cần phải dừng
server để nâng cấp như truyền thống.

- Giá thành Google Firebase có rất nhiều gói dịch vụ với các mức
dung lượng lưu trữ cũng như băng thông khác nhau với mức giá dao
động từ Free đến $1500 đủ để đáp ứng được nhu cầu của tất cả các đối
tượng. Chính vì vậy bạn có thể lựa chọn gói dịch vụ phù hợp nhất với
nhu cầu của mình. Điều này giúp bạn tới ưu hóa được vốn đầu tư và
vận hành của mình tùy theo số lượng người sử dụng. Ngồi ra bạn cịn
khơng mất chi phí để bảo trì, nâng cấp, khắc phục các sự cố bởi vì
những điều này đã có Firebase lo.
2.2.3 Visual studio code

Hình 2:3 Visual Studio Code

Giới thiệu
Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và
macOS, Visual Studio Code được phát triển bởi Microsoft. Nó được xem là một
sự kết hợp hoàn hảo giữa IDE và Code Editor.
Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntax
highlighting, tự hồn thành mã thơng minh, snippets, và cải tiến mã nguồn. Nhờ
tính năng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi
theme, phím tắt, và các tùy chọn khác.
Một số tính năng


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 như C/C++, C#, F#,
Visual Basic, HTML, CSS, JavaScript, … Vì vậy, nó dễ dàng phát hiện và đưa ra
thơng báo nếu chương chương trình có lỗi.



Hỗ trợ đa nền tảng

Các trình viết code thơng thường chỉ được sử dụng hoặc cho Windows
hoặc Linux hoặc Mac Systems. Nhưng Visual Studio Code có thể hoạt động tốt
trên cả ba nền tảng trên.


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 một ngơn ngữ lập trình
khơng nằm trong số các ngôn ngữ Visual Studio hỗ trợ, họ có thể tải xuống tiện
ích mở rộng. Điều này vẫn sẽ không làm giảm hiệu năng của phần mềm, bởi vì
phần mở rộng này hoạt động như một chương trình độc lập.


Kho lưu trữ an tồn

Đi kèm với sự phát triển của lập trình là nhu cầu về lưu trữ an tồn. Với
Visual Studio Code, người dùng có thể hồn tồn n tâm vì nó dễ dàng kết nối
với Git hoặc bất kỳ kho lưu trữ hiện có nào.


Hỗ trợ web

Visual Studio Code hỗ trợ nhiều ứng dụng web. Ngoài ra, nó cũng có một
trình soạn thảo và thiết kế website.


Lưu trữ dữ liệu dạng phân cấp


Phần lớn tệp lưu trữ đoạn mã đều được đặt trong các thư mục tương tự
nhau. Ngồi ra, Visual Studio Code cịn cung cấp các thư mục cho một số tệp đặc
biệt quan trọng.


Hỗ trợ viết Code

Một số đoạn code có thể thay đổi chút ít để thuận tiện cho người dùng.
Visual Studio Code sẽ đề xuất cho lập trình viên các tùy chọn thay thế nếu 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 giữa hai màn hình hoặc trở về thư mục gốc khi thực hiện các
thao tác.


Màn hình đa nhiệm


Người dùng Visual Studio Code có thể mở cùng lúc nhiều tệp tin và thư
mục – mặc dù chúng không hề liên quan với nhau.


Intellisense

Hầu hết các trình viết mã đều có tính năng nhắc mã Intellisense, nhưng ít chương
trình nào chuyên nghiệp bằng Visual Studio Code. Nó có thể phát hiện nếu bất kỳ

đoạn mã nào không đầy đủ. Thậm chí, khi lập trình viên qn khơng khai báo
biến, Intellisense sẽ tự động giúp họ bổ sung các cú pháp cịn thiếu.


Hỗ trợ Git

Visual Studio Code hỗ trợ kéo hoặc sao chép mã trực tiếp từ GitHub. Mã
này sau đó có thể được thay đổi và lưu lại trên 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 các phương án xây dựng app MEMO tôi nhận thấy nên sử
dụng framework React native nhằm tiết kiệm thời gian cũng như chi phí, khơng
những vậy nó cịn giúp đơn giản hóa việc bảo trì sau này vì tính linh hoạt của nó
khi có thể chạy trên nhiều nền tảng mà chỉ cần một lần code


Chương 3

Phân tích thiết kế hệ thống

3.1 Các chức năng của ứng dụng
- Lưu lại các ghi chú của người dùng
- Có thể xem chi tiết của ghi chú
- Thể hiện rõ được trạng thái của 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 4

Triển khai xây dựng

4.1 Cơ sở dữ liệu
Trường dữ liệu
Id
Title
Detail
CreatedTime
State
Note

Kiểu dữ liệu
Int
String
String

Date
Int
String

Bảng 3:1 Bảng mô tả cơ sở dữ 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 chú

Hình 4:9 Màn hình danh sách các ghi chú đã lưu


Chương 5

Kết luận và Hướng phát triển

5.1 Kết luận
Ứng dụng ghi chú cơng việc sau khi hồn thành có thể đáp ứng được các
yêu cầu cơ bản đã đưa ra ví dụ như lưu trữ, thêm, sửa, xóa các ghi chú, giúp
người dùng giải quyết được vấn đề dễ quên các 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 vẫn còn tồn tại một số khuyết điểm như chưa có chức
năng thơng báo khi đến lúc cần thực hiện công việc. Về vấn đề này tơi sẽ
tiếp tục hồn thiện sản phẩm, đưa vào sản phẩm chức năng thông báo để

người dùng có thể sử dụng một cách tiện lợi hơn

5.2 Hướng phát triển
Trong thời gian tới, tơi sẽ tiếp tục hồn thiện sản phẩm hơn, thêm nhiều
chức năng hơn cho MEMO để có thể mang lại trải nghiệm tuyệt vời cho
người sử dụng, ví dụ như chức năng thơng báo như đã nói trên. Ngồi ra tơi
cũng sẽ 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.



×