Tải bản đầy đủ (.pdf) (34 trang)

ĐỒ án xây DỰNG ỨNG DỤNG CHĂM sóc sức KHỎE EM bé với FLUTTER

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 (1.2 MB, 34 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
----------

ĐỒ ÁN I
ĐỀ TÀI: “XÂY DỰNG ỨNG DỤNG CHĂM SÓC SỨC KHỎE EM BÉ
VỚI FLUTTER”
Giảng viên hướng dẫn: Ths. Thái Thụy Hàn Uyển
Sinh viên thực hiện:
1.

Nguyễn Minh Thắng

18521396

2.

Bùi Trọng Khánh Duy

18520654

Tp. Hồ Chí Minh, tháng 06 năm 2021


LỜI CẢM ƠN
Nhóm em xin chân thành cảm ơn sự hướng dẫn tận tình của cơ Thái Thụy
Hàn Uyển - giảng viên hướng dẫn môn Đồ án 1 đã hỗ trợ cho nhóm trong
q trình nghiên cứu để nhóm hồn thành đề tài này.
Vì kiế n thức của chúng em vẫn cịn hạ n hẹp nên khơng thể tránh khỏi
những thiế u sót trong quá trình thực hiện đồ á n. Vì vậy nhóm chúng em


ln mong đợi nhận được những ý kiế n đó ng gó p quý bá u từ phía giảng
viên để qua đó có thể rút kinh nghiệm, tự sửa chữa, hồn thiện bản thân
mình trên tinh thần nghiêm túc, tự giác học hỏi. Một lần nữa nhóm chúng
em xin chân thành cảm ơn.
Nhóm nghiên cứu


NHẬN XÉT CỦA GIÁO VIÊN
.......................................................................................................................................................................................
......................................................................... ....................................................................................
............................................................................................................................. .............................................
............................................................................................................................. .............................................
..........................................................................................................................................................................
............................................................................................................................. .............................................
............................................................................................................................. .............................................
..........................................................................................................................................................................
............................................................................................................................. .............................................
............................................................................................................................. .............................................
..........................................................................................................................................................................
............................................................................................................................. .............................................
............................................................................................................................. .............................................
..........................................................................................................................................................................
............................................................................................................................. .............................................
............................................................................................................................. .............................................
..........................................................................................................................................................................
............................................................................................................................. .............................................
............................................................................................................................. .............................................
..........................................................................................................................................................................
............................................................................................................................. .............................................
............................................................................................................................. .............................................

..........................................................................................................................................................................
............................................................................................................................. .............................................
............................................................................................................................. .............................................
..........................................................................................................................................................................
............................................................................................................................. .............................................
............................................................................................................................. .............................................
..........................................................................................................................................................................
............................................................................................................................. .............................................
............................................................................................................................. .............................................
..........................................................................................................................................................................
............................................................................................................................. .............................................
............................................................................................................................. .............................................
..........................................................................................................................................................................
............................................................................................................................. .............................................
............................................................................................................................. .............................................
..........................................................................................................................................................................
.......................................................................................................................................................................................
.............................................................................................................................................................


MỤC LỤC
Contents
1.

2.

MỞ ĐẦU .................................................................................................................................. 5
1.1. Lý do chọn đề tài

5


1.2. Phương pháp nghiên cứu và phát triển

5

1.3. Đối tượng hướng đến

6

GIỚI THIỆU VỀ FLUTTER..................................................... Error! Bookmark not defined.
2.1. Ngôn ngữ Dart
2.1.1.

Giới thiệu ................................................................................................................... 7

2.1.2.

Tại sao chúng ta nên sử dụng Dart .......................................................................... 8

2.2. Flutter Framework

3.

7

8

2.2.1.

Giới thiệu ................................................................................................................... 8


2.2.2.

Ưu điểm..................................................................................................................... 8

2.2.3.

Nhược điểm............................................................................................................... 9

PHÁT TRIỂN ỨNG DỤNG CHĂM SÓC EM BÉ VỚI FLUTTER ........................................... 9
3.1. Đặt vấn đề

9

3.2. Phạm vi ứng dụng

10

3.3. Mơ tả bài tốn

10

3.4. Cách chức năng chính

11

3.5. Phân tích thiết kế

11


3.5.1.

Sơ đồ lớp mức phân tích ........................................................................................ 11

3.5.2.

Sơ đồ UseCase và đặc tả UseCase....................................................................... 12

3.5.3.

Sơ đồ cơ sở dữ liệu................................................................................................. 20

3.6. Giao diện ứng dụng

20

5. KẾT LUẬN ................................................................................................................................ 32
5.1. Kết quả thu được

32

5.2. Khó khăn

33

5.3. Phương hướng phát triển

33

TÀI LIỆU THAM KHẢO................................................................................................................ 33



1. MỞ ĐẦU
1.1. Lý do chọn đề tài
Ở cuộc sống thành thị hiện tại, có rất nhiều gia đình vừa phải đi làm vất
vả hằng ngày, vừa phải chăm lo cho con cái của họ. Những bậc bố mẹ trẻ tuổi
vấp phải rất nhiều khó khăn trong việc chăm sóc con khi làm việc từ sáng
đến chiều ở công ty, chỉ có buổi tối mới dành được thời gian ít ỏi trong ngày
để chăm sóc con. Vì thế nên sự quan tâm về dinh dưỡng, thể chất con người
và tiêm phòng cho con khá hời hợt và qua loa.
Sau thời gian tìm hiểu và cân nhắc, nhóm thấy vấn đề mang tính thực tế
và rất thiết yếu, nên đã chọn vấn đề này để nghiên cứu và phát triển môn
học.

1.2. Phương pháp nghiên cứu và phát triển
Trước khi đi vào nghiên cứu chi tiết cụ thể, nhóm êm đã lên kế hoạch tìm
hiểu rất nhiều các ứng dụng có sẵn trên thị trường. Các ứng dụng này đa số
đều rất mới mẻ, chủ yếu là đáp ứng nhu cầu chăm sóc dinh dưỡng và cơ thể
cho người từ 6 tuổi trở lên. Chính vì thế để tạo ra sự khác biệt và đáp ứng
những nhu cầu chăm sóc cần thiết cho trẻ êm dưới 6 tuổi, nhóm chúng em
đã nghiên cứu tạo ra một ứng dụng có thể làm điều này.
Nhóm êm đã thực hiện đề tài này bằng ngơn ngữ Dart với cơng nghệ ứng
dụng Flutter.
Nhóm êm cũng đã tuân thêo những quy chuẩn phát triển phần mềm và
làm hồn thiện phần mềm thơng qua các bước sau:
Bước 1: Nhóm tiến hành khảo sát người dùng chi tiết, thu thập những
nhu cầu người dùng và những khó khăn của người dùng khi chưa có phần
mềm.
Bước 2: Nhóm nghiên cứu các sản phẩm hiện có sẵn trên thị trường xem
có đáp ứng được những nhu cầu thực tại khơng, khó khăn của phần mềm

hiện tại là gì.


Bước 3: Nhóm phân tích và đặc tả phần mềm theo các mơ hình có sẵn về
phát triển phần mềm. Vẽ các UseCase cho chức năng và WorkFlow để nhóm
cùng thực hiện.
Bước 4: Nhóm thiết kế cơ sở dữ liệu và chọn các phương pháp hiện thực
cơ sở dữ liệu.
Bước 5: Thiết kế sơ bộ những chức năng của phần mềm trong tương lai.
Bước 6: Nhóm lựa chọn ngơn ngữ lập trình để hiện thực phần mềm của
nhóm thành sản phẩm. Qua các sự hội ý, họp hành, nhóm quyết định chọn sử
dụng ngôn ngữ dễ học và tiện lợi Dart thông qua Cross platform Fluttêr để
thực hiện việc lập trình.
Bước 7: Nhóm thiết kế Giao diện cho ứng dụng trên ứng dụng hỗ trợ thiết
kế figma.
Bước 8: Nhóm tiến hành cài đặt hồn thiện cho phần mềm.
Bước 9: Nhóm tiến hành sửa chữa các lỗi và nâng cấp một số chức năng
có trong phần mềm.
Bước 10: Nhóm hồn thành phần mềm và các tài liệu báo cáo.
1.3. Đối tượng hướng đến
Nhóm đối tượng chủ yếu của phần mềm chính là các bậc phụ huynh có
con nhỏ dưới 3 tuổi, hay người chăm sóc những trẻ nhỏ trong độ tuổi từ lúc
mới sinh đến 3 tuổi.
Những người chăm sóc trẻ nhỏ hay các bậc phụ huynh ở thành thị, khơng
có thời gian ghi nhớ những dinh dưỡng đã cung cấp cho con, hay lịch sử tiên
phịng của con mình. Đối với những đối tượng này, họ cần những ứng dụng
có thể giúp họ ghi nhớ và giúp đỡ họ trong việc chăm sóc con của mình.
Chính vì thế nên ứng dụng này là một trợ thủ đắc lực giúp các bậc bố mẹ
có thể kiểm sốt được sự chăm sóc cho con cái, làm chủ thời gian hơn. Thơng
qua đó người sử dụng app có thể ghi lại tồn bộ sự phát triển của con mình

để cung cấp cho bác sĩ nếu như bé có bị bệnh hay gặp phải vấn đề về dinh
dưỡng.


2. GIỚI THIỆU VỀ FLUTTER

2.1. Ngơn ngữ Dart
2.1.1.

Giới thiệu

• Là ngơn ngữ lập trình đơn giản, dễ hiểu và dễ đến gần hơn.
• Là ngơn ngữ lập trình được sử dụng để build lên Flutter Framework.
• Nó xuất hiện vào năm 2011, hướng tới việc tạo ra các ứng dụng đa nền
tảng – Website, mobile, desktop và IoT.
• Phiên bản hiện tại khi mình viết bài đăng này là 2.8 và nó khác là ổn định
trong việc lập trình.
• Là ngôn ngữ tĩnh, thêo hướng đối tượng (OOP), functional programming
và lexical scoped.
• Nó như 1 sự kết hợp giữa Java và JavaScript nên khi học nó nếu ai đã có
nền tảng 1 trong 2 ngơn ngữ kia thì lúc đến gần hơn sẽ khá dễ.


2.1.2.

Tại sao chúng ta nên sử dụng Dart

• Google muốn viết (phát triển) một ngơn ngữ mà nó cải tiến hơn Javascript
và giúp đỡ cả 2 bí quyết biên dịch là Just In Time (JIT) và Ahead Of Time
(AOT):

o Ahead Of Time (AOT): Với AOT thì trình biên chuyển dịch ngôn ngữ
Dart thẳng sang Native Code giúp hiệu suất tối ưu có khả năng (tức
là khi chạy chương trình, nó sẽ biên dịch từ đầu đến cuối)
o Just In Time (JIT): Cịn với JIT cho phép hot reloading cơng việc,
giúp phát triển mặt hàng nhanh và tiện dụng hơn (được hiểu như
việc debug trong ngôn ngữ khác là debug hàm nào chạy hàm đấy
thì ở đây nó sẽ viết đến đâu biên dịch ngay đến đấy)

2.2. Flutter Framework
2.2.1.

Giới thiệu

Fluttêr là 1 mobilê SDK do Googlê tăng trưởng, nó giúp người sử dụng có
khả năng tạo ra được 1 ứng dụng chạy trên cả iOS và Android. Là một Crossflatform framêwork nhưng khác với các Cross-flatform hiện tai, Flutter
không thông qua bridge, mà nó sẽ chạy engine render riêng (viết bằng C++)
và sử dụng Flutter framework (viết bằng Dart) để giao tiếp với các service.
Cả 2 bộ này có thể được đóng gói cùng ứng dụng và thơng qua SDK nó có khả
năng chạy trên đa nền tảng. Kì vọng mà team phát triển Flutter nhắm đến là
có thể chạy trên đa nền tảng, Flutter ngồi chạy trên mobile thì cịn có khả
năng chạy trên nền web thơng qua dự án mang tên Hummingbird, chạy trên
các thiết bị IoT và cả desktop.
2.2.2.

Ưu điểm

• Fast Dêvêlopmênt: Tíng năng Hot Rêload hoạt động trong millisêconds để
hiện thị giao diện tới bạn. Dùng tập hợp các widget có khả năng
customizablê để tạo ra bố cụ và giao diện trong vài phút. Bên cạnh đó Hot



Reload còn hỗ trợ bạn thêm các chức năng, fix bug tiết kiệm thời gian hơn
mà không luôn phải thông qua máy ảo, máy android hoặc iOS.
• Expressive and Flexible UI: có khơng hề ít các thành phần để tạo ra giao
diện của Flutter vô cùng xinh xắn thêo cách điệu Material Design và
Cupertino, hỗ trợ nhiều các APIs chuyển động, smooth scrolling…
• Native Performance: Các widget của fluter kết hợp các sự khác biệt của
các nền tảng chẳng hạn như như scrolling, navigation, icons, font để bổ
sung một hiệu năng tốt nhất tới iOS và Android.
2.2.3.

Nhược điểm

• Bộ render UI được nhóm tăng trưởng gần như viết lại, khơng liên quan
tới UI đã có sẵn của Framework native, dẫn đến memory sử dụng khá là
nhiều. Thêm nữa, các UI khơng đi chung với OS, mà được phát triển riêng,
có nghĩa là cùng 1 phiên bản Flutter khi tạo ra áp dụng cho iOS thì iOS 8.x
-> 12.x đều y chang nhau, tương tự như với Android. Tuy nhiên UI của
Android thì tất nhiên khác với iOS.
• Phải học thêm ngơn ngữ DART: lập trình viên biết về DART rất ít, cũng có
nguy cơ là học xong DART sẽ dính liền luôn với DART ở mảng tăng trưởng
ứng dụng mobile. Chứ khơng uyển chuyển như JS hay Python có khả năng
nhảy qua lại giữa front, back hay AI…
• Mơ hình dữ liệu mới: bloc pattern, DART Streaming; nếu như đã quên với
Rêdux khi làm tăng trưởng React Native, bạn sẽ mất thời gian để học thêm
mơ hình dữ liệu trong Flutter, mặc dù nó khơng khó.

3. PHÁT TRIỂN ỨNG DỤNG CHĂM SÓC EM BÉ VỚI
FLUTTER
3.1. Đặt vấn đề

Ở cuộc sống thành thị hiện tại, có rất nhiều gia đình vừa phải đi làm vất
vả hằng ngày, vừa phải chăm lo cho con cái của họ hằng ngày. Những bậc bố
mẹ hầu như rất khó khăn trong việc chăm sóc con cái khi làm việc từ sáng


đến chiều ở cơng ty, chỉ có buổi tối mới dành được thời gian ít ỏi trong ngày
để chăm sóc con. Vi thế nên sự quan tâm về dinh dưỡng, thể chất con người
và tiêm phòng cho con rất hời hợt và qua loa.
Sau thời gian tìm hiểu và cân nhắc, nhóm thấy vấn đề mang tính thực tế
và rất thiết yếu, nên đã chọn vấn đề này để nghiên cứu và phát triển mơn
học.

3.2. Phạm vi ứng dụng
Nhóm đối tượng chủ yếu của phần mềm chính là các bậc phụ huynh có
con nhỏ dưới 3 tuổi, hay người chăm sóc những trẻ nhỏ trong độ tuổi từ lúc
mới sinh đến 3 tuổi.
Những người chăm sóc trẻ nhỏ hay các bậc phụ huynh ở thành thị, khơng
có thời gian ghi nhớ những dinh dưỡng đã cung cấp cho con, hay lịch sử tiên
phịng của con mình. Đối với những đối tượng này, họ cần những ứng dụng
có thể giúp họ ghi nhớ và giúp đỡ họ trong việc chăm sóc con của mình.
Chính vì thế nên ứng dụng này là một trợ thủ đắc lực giúp các bậc bố mẹ
có thể kiểm sốt được sự chăm sóc cho con cái, làm chủ thời gian hơn. Thơng
qua đó người sử dụng app có thể ghi lại tồn bộ sự phát triển của con mình
để cung cấp cho bác sĩ nếu như bé có bị bệnh hay gặp phải vấn đề về dinh
dưỡng.

3.3. Mơ tả bài tốn
• u cầu chức năng: Phần mềm hiển thị đầy đủ nội dung về tổng quan
các chỉ số dinh dưỡng và chỉ số IBM của bé. Có thể lưu lại những dinh
dưỡng mà bé đã nhận vào trong một tuần. Lưu trữ các lịch sử tiêm

phòng của bé. Đưa ra gợi ý thực đơn cho bé hàng tuần.
• Yêu cầu phi chức năng: Phần mề m đá p ứng được với kích cỡ màn hình
của các thiế t bị di động phổ biển, giao diện trực quan, sinh động, thao


tá c đơn giản, tốc độ đá p ứng và phản hồi ở mức khá, tạ o cảm giác thân
thiện cho người sử dụng.

3.4. Cách chức năng chính
Chức năng Tạo bản sao chỉ số em bé
Chức năng Theo dõi chỉ số BMI của bé
Chức năng Theo dõi, cập nhật liên tục chỉ số dinh dưỡng cho trẻ
Chức năng Đưa ra gợi ý thực đơn hàng tuần
Chức năng Thêo dõi chỉ số dinh dưỡng qua thức ăn của tuần trước
Chức năng Cung cấp mẹo hữu ích về kiến thức chăm trẻ

-

3.5. Phân tích thiết kế
3.5.1.

Sơ đồ lớp mức phân tích

• Sơ đồ lớp:

• Danh sách các lớp đối tượng và quan hệ
1

Tên
lớp/quan hệ

Accounts

2

Baby

3
4
5

BMI
Nutrients
Vaccination
Nutrients of
food

STT

6

Loại

Ý nghĩa/Ghi chú
Thông tin về người sử dụng app - tài khoản
Thông tin về êm bé, 1 tài khoản có thể tạo nhiều êm bé. Kết
nối hầu hết với các bảng
Thông tin về chiều cao, cân nặng và tuổi của êm bé
Thông tin về dinh dưỡng gồm các chất cần thiết cho êm bé
Thông tin về ngày tháng, loại vacxin đã tiêm cho êm bé
Thông tin về chất dinh dưỡng của một món ăn, các chất dinh

dưỡng này sẽ được cộng vào Nutriênts êm bé nếu êm bé ăn.


3.5.2.

Sơ đồ UseCase và đặc tả UseCase

• Sơ đồ tổng quát

1. Danh sách các Actor
STT
1

Tên Actor
Người
dùng

Ý nghĩa/Ghi chú
Chủ tài khoản cá nhân đăng nhập vào ứng dụng, sử dụng được tất cả
các chức năng.


2. Danh sách các Use-case
STT
1

Actor

2
3

4

Đổi mật khẩu
Đặt lại mật khẩu
Thêo dõi chỉ số BMI

5
6

Tên Use-Case
Đăng ký
Đăng nhập

Người
dùng

7
8
9
10

Thêo dõi chỉ số dinh
dưỡng
Gợi ý thực đơn hàng
tuần
Gợi ý thơng tin tiêm
phịng
Gợi ý địa điểm tiêm
phòng
Lịch sử tiêm phòng


Ý nghĩa/Ghi chú
Đăng ký tài khoản cá nhân
Sử dụng tài khoản cá nhân đăng nhập vào ứng
dụng
Thay đổi mật khẩu tài khoản cá nhân
Thay đổi mật khẩu thành mật khẩu mặc định
Hiển thị chỉ số BMI tương đối của đối tượng
theo dõi
Hiển thị chỉ số dinh dưỡng tương đối của đối
tượng thêo dõi
Đưa ra gợi ý thực đơn cho 7 ngày tiếp thêo cho
đối tượng
Đưa ra gợi ý các mũi tiêm phòng cần thiết
Đưa ra gợi ý các địa điểm tiêm phòng thêo mũi
tiêm
Lưu lại và hiển thị lịch sử tiêm phòng

3. Đặc tả Use-case
a.

Đặc tả Use-casê Đăng ký

Tên chức
năng
Người dùng
chính
Tóm tắt
Mục đích
Điều kiện

tiên quyết
Điều kiện lúc
sau

Đăng ký tài khoản
Người dùng

Người dùng thứ

Người dùng đăng ký tài khoản cá nhân sử dụng ứng dụng
Lưu trữ thông tin cá nhân và sử dụng ứng dụng
Hệ thống tự động đăng nhập nếu đăng ký thành công
Hệ thống hiển thị thông báo về lỗi gặp phải nếu đăng ký thất bại

Dịng sự kiện
chính

1.
2.
3.
4.
5.
6.
7.

Người dùng nhấn vào nút Đăng ký ở Màn hình Đăng nhập
Người dùng điền êmail đăng ký
Người dùng điền tên gọi
Người dùng điền mật khẩu
Người dùng điền mật khẩu lần 2

Người dùng nhấn vào nút Đăng ký
Hệ thống tự động đăng nhập và chuyển sang Màn hình Chính

Dịng sự kiện
khác

2.1 Với bất kỳ ơ trống nào người dùng không điền
6.1 Người dùng nhấn vào nút Đăng ký


Điểm mở
rộng

Ghi chú

b.

Use case chuyển thực hiện thông báo: cảnh báo yêu cầu người dùng nhập
đầy đủ thông tin
2.1 Người dùng nhập êmail/tên gọi/mật khẩu không đúng định dạng
êmail/tên gọi/mật khẩu thông thường
6.1 Người dùng nhấn vào nút Đăng ký
Use case chuyển thực hiện thông báo: cảnh báo yêu cầu người dùng nhập
đúng êmail/tên gọi/mật khẩu
Sau khi người dùng nhấn vào nút Đăng ký ở 1., nút Đăng ký tự thay đổi
thành nút Đăng nhập để chuyển về chế độ Đăng nhập
Chế độ Đăng nhập là chế độ mặc định ở Màn hình Đăng nhập
Định dạng êmail: Căn cứ thêo định dạng êmail thông dụng
Định dạng tên gọi: Tên gọi khơng được có chữ số và ký tự đặc biệt tro ng
tên

Định dạng mật khẩu: Mật khẩu bao gồm 6 số, không bao gồm chữ cái và
ký tự đặc biệt

Đặc tả Use-casê Đăng nhập

Tên chức
năng
Người
dùng chính
Tóm tắt
Mục đích
Điều kiện
tiên quyết
Điều kiện
lúc sau
Dịng sự
kiện chính

Dịng sự
kiện khác

Điểm mở
rộng

Đăng nhập
Người dùng

Người dùng thứ

Người dùng sử dụng tài khoản cá nhân đăng nhập vào ứng dụng

Truy cập vào ứng dụng bằng tài khoản cá nhân
Tài khoản đã được đăng ký trước
Hệ thống đăng nhập nếu đăng nhập thành công
Hệ thống hiển thị thông báo về lỗi gặp phải nếu đăng nhập thất bại
1.
2.
3.
4.
5.

Người dùng nhấn vào nút Đăng nhập ở Màn hình Đăng nhập
Người dùng điền êmail đã đăng ký
Người dùng điền mật khẩu đã đăng ký
Người dùng nhấn vào nút Đăng nhập
Hệ thống đăng nhập và chuyển sang Màn hình Chính

2.1 Với bất kỳ ô trống nào người dùng không điền
6.1 Người dùng nhấn vào nút Đăng nhập
Use case chuyển thực hiện thông báo: cảnh báo yêu cầu người dùng nhập
đầy đủ thông tin
2.1 Người dùng nhập sai êmail/mật khẩu
6.1 Người dùng nhấn vào nút Đăng nhập
Use case chuyển thực hiện thông báo: cảnh báo yêu cầu người dùng nhập
đúng êmail/mật khẩu
Trước khi người dùng nhấn vào nút Đăng nhập, người dùng có thể chêck
vào chêckbox Tự động đăng nhập để tự động đăng nhập tài khoản đang sử
dụng vào các lần truy cập sau


Ghi chú


c.

Chế độ Đăng nhập là chế độ mặc định ở Màn hình Đăng nhập. Khi mở ứng
dụng sẽ tự động ở chế độ này, người dùng có thể bỏ qua bước 1.

Đặc tả Use-casê Thay đổi mật khẩu

Tên chức năng
Người dùng
chính
Tóm tắt
Mục đích
Điều kiện tiên
quyết
Điều kiện lúc
sau

Dịng sự kiện
chính

Dịng sự kiện
khác

Điểm mở rộng
Ghi chú

Thay đổi mật khẩu
Người dùng


Người dùng thứ

Người dùng thay đổi mật khẩu của tài khoản đang sử dụng
Thay đổi mật khẩu hiện tại của tài khoản đang sử dụng
Người dùng đăng nhập thành công
Hệ thống thay đổi mật khẩu của tài khoản và thông báo thành công nếu
thay đổi mật khẩu thành công
Hệ thống hiển thị thông báo về lỗi gặp phải nếu thay đổi mật khẩu thất
bại
1. Người dùng nhấn vào Biểu tượng người dùng ở Ngăn kéo bên phải ở
Màn hình Chính
2. Người dùng nhấn vào nút Thay đổi mật khẩu
3. Người dùng điền mật khẩu cũ (mật khẩu hiện tại)
4. Người dùng điền mật khẩu mới
5. Người dùng điền mật khẩu mới lần 2
6. Người dùng nhấn vào nút Thay đổi
7. Hệ thống hiển thị thông báo xác nhận thay đổi mật khẩu
8. Người dùng nhấn vào nút Xác nhận

3.1 Với bất kỳ ô trống nào người dùng không điền
6.1 Người dùng nhấn vào nút Thay đổi
Use case chuyển thực hiện thông báo: cảnh báo yêu cầu người dùng nhập
đầy đủ thông tin
3.1 Người dùng nhập mật khẩu không đúng định dạng mật khẩu
thông thường
6.1 Người dùng nhấn vào nút Thay đổi
Use case chuyển thực hiện thông báo: cảnh báo yêu cầu người dùng nhập
đúng định dạng mật khẩu
3.1 Người dùng nhập sai mật khẩu cũ
6.1 Người dùng nhấn vào nút Thay đổi

Use case chuyển thực hiện thông báo: cảnh báo yêu cầu người dùng nhập
đúng mật khẩu
8.1 Người dùng nhấn vào nút Hủy
Use case chuyển về bước 3
Khơng có
Định dạng mật khẩu: Mật khẩu bao gồm 6 số, không bao gồm chữ cái và
ký tự đặc biệt


d.

Đặc tả Use-casê Đặt lại mật khẩu

Tên chức
năng
Người dùng
chính
Tóm tắt
Mục đích
Điều kiện
tiên quyết
Điều kiện lúc
sau

Dịng sự
kiện chính
Dịng sự
kiện khác
Điểm mở
rộng

Ghi chú

e.

Đặt lại mật khẩu
Người dùng

Người dùng thứ

Người dùng đặt lại mật khẩu của tài khoản đang sử dụng
Đặt lại mật khẩu hiện tại của tài khoản đang sử dụng
Người dùng đăng nhập thành công
Hệ thống thay đổi mật khẩu thành mật khẩu mặc định và gửi thông tin mật
khẩu mới về êmail đăng ký nếu đặt lại mật khẩu thành công
Hệ thống hiển thị thông báo về lỗi gặp phải nếu đặt lại mật khẩu thất bại
1.
2.
3.
4.

Người dùng nhấn vào nút Quên mật khẩu ở Màn hình Đăng nhập
Người dùng nhấn vào nút Đặt lại mật khẩu
Người dùng xác nhận êmail đã đăng ký
Hệ thống thông báo đặt lại mật khẩu thành cơng và trở về Màn hình Đăng
nhập trống
5. Hệ thống gửi mail về thông tin tài khoản cho êmail đã đăng ký

3.1 Người dùng không xác nhận êmail đã đăng ký
Use case tắt popup xác nhận email
Khơng có


Đặc tả Use-case Theo dõi chỉ số BMI

Tên chức năng
Người dùng
chính
Tóm tắt
Mục đích
Điều kiện tiên
quyết
Điều kiện lúc
sau
Dịng sự kiện
chính
Dịng sự kiện
khác

Theo dõi chỉ số BMI
Người dùng

Người dùng thứ

Mỗi tháng người dùng sẽ nhập vào các chỉ số của BMI từ đó biết được
mức độ BMI của cơ thể
Giúp người dùng thêo dõi chỉ số BMI hàng tháng của trẻ nhỏ
Người dùng đã Đăng nhập vào ứng dụng
Hệ thống hiển thị thông tin IBM lên intêrfacê nếu nhập thành công
Hệ thống hiển thị lỗi và yêu cầu người dùng nhập lại.
1. Người dùng nhấn vào nút Cập nhật BMI
2. Nhập các thông tin vào các têxtbox

3. Nhấn nút Cập nhật

2.1 Với bất kỳ ô trống nào người dùng không điền
6.1 Người dùng nhấn vào nút Cập nhật


Use case chuyển thực hiện thông báo: cảnh báo yêu cầu người dùng
nhập đầy đủ thông tin
Điểm mở rộng
Ghi chú

f.

Đặc tả Use-case Theo dõi chỉ số dinh dưỡng

Tên chức năng
Người dùng
chính
Tóm tắt
Mục đích
Điều kiện tiên
quyết

Theo dõi chỉ số dinh dưỡng

Người dùng

Người dùng thứ

Cho biết lượng thức ăn hằng ngày của trẻ có đủ dinh dưỡng khơng.

Giúp trẻ có đủ dưỡng chất một ngày
Người dùng đã Đăng nhập vào ứng dụng
Chọn chức năng cập nhật dinh dưỡng
Hệ thống hiển thị thông tin Dinh dưỡng lên intêrfacê nếu nhập thành
Điều kiện lúc sau công
Hệ thống hiển thị lỗi và yêu cầu người dùng nhập lại.
Dịng sự kiện
chính

Dịng sự kiện
khác

1. Người dùng nhấn vào nút Cập nhật Dinh dưỡng
2. Nhập các thông tin vào các textbox
3. Nhấn nút Cập nhật

2.1 Với bất kỳ ô trống nào người dùng không điền
6.1 Người dùng nhấn vào nút Đăng nhập
Use case chuyển thực hiện thông báo: cảnh báo yêu cầu người dùng
nhập đầy đủ thông tin

Điểm mở rộng
Ghi chú

g.

Đặc tả Use-case Gợi ý thực đơn hàng tuần

Tên chức năng
Người dùng

chính
Tóm tắt
Mục đích
Điều kiện tiên
quyết
Điều kiện lúc
sau

Gợi ý thực đơn hàng tuần

Người dùng

Người dùng thứ

Gợi ý thức ăn đủ dinh dưỡng cho bố mẹ
Cung cấp các loại thức ăn đầy đủ dinh dưỡng cho êm bé 1 tuần
Người dùng đã Đăng nhập vào ứng dụng
Chọn chức năng cập nhật dinh dưỡng
Hệ thống hiển thị thông tin Dinh dưỡng lên intêrfacê nếu nhập thành
công
Hệ thống hiển thị lỗi và yêu cầu người dùng nhập lại.


Dịng sự kiện
chính

Dịng sự kiện
khác

1.

2.
3.
4.

Người dùng nhấn vào nút Cập nhật Dinh dưỡng
Nhập các thông tin vào các têxtbox
Nhấn nút Cập nhật
Hệ thống hiển thị gợi ý dinh dưỡng cho bé trong tuần

2.1 Với bất kỳ ô trống nào người dùng không điền
6.1 Người dùng nhấn vào nút Đăng nhập
Use case chuyển thực hiện thông báo: cảnh báo yêu cầu người dùng
nhập đầy đủ thông tin

Điểm mở rộng
Ghi chú

h.

Đặc tả Use-case Gợi ý thơng tin tiêm phịng

Tên chức năng
Người dùng
chính
Tóm tắt
Mục đích
Điều kiện tiên
quyết

Gợi ý thơng tin tiêm phịng


Người dùng

Người dùng thứ

Gợi ý cho người dùng những thông tin để trẻ tiêm phịng
Giúp người dùng có thể biết được cần tiêm phòng như thế nào cho trẻ
nhỏ
Người dùng đã Đăng nhập vào ứng dụng
Người dùng đã nhập tuổi cho êm bé
Chọn chức gợi ý tiêm phòng

Điều kiện lúc sau
Dòng sự kiện
chính
Dịng sự kiện
khác
Điểm mở rộng
Ghi chú

i.

1. Người dùng nhấn vào nút Gợi ý tiêm phịng
2. Thơng tin gợi ý hiện lên màn hình

2.1 Những mục người dùng đã tiêm phịng cho êm bé thì sẽ được
đánh dấu là đã tiêm

Đặc tả Use-case Gợi ý địa điểm tiêm phòng


Tên chức năng
Người dùng chính
Tóm tắt
Mục đích

Gợi ý Điểm tiêm phịng

Người dùng
Người dùng thứ
Gợi ý cho người dùng những địa điểm tiêm phòng gần vị trí người
dùng
Giúp người dùng biết được điểm tiêm phòng gần nhất


Điều kiện tiên
quyết

Người dùng đã Đăng nhập vào ứng dụng
Người dùng cho phép truy cập vị trí hiện tại của điện thoại
Chọn chức gợi ý điểm tiêm phòng

Điều kiện lúc sau
3.
4.

Người dùng nhấn vào nút Gợi ý điểm tiêm phịng
Thơng tin gợi ý hiện lên màn hình

Dịng sự kiện chính


Dịng sự kiện khác
Điểm mở rộng
Ghi chú

j.

Đặc tả Use-case Lịch sử tiêm phịng

Tên chức năng
Người dùng chính
Tóm tắt
Mục đích
Điều kiện tiên quyết

Lịch sử tiêm phòng

Người dùng
Người dùng thứ
Hiển thị lịch sử tiêm phòng cho người dùng
Giúp người dùng nhớ và ghi chú lại những lịch sử tiêm phòng
Người dùng đã Đăng nhập vào ứng dụng
Người dùng đã nhập các thông tin tiêm phịng cho bé trước đó
Chọn chức lịch sử tiêm phòng

Điều kiện lúc sau
1. Người dùng nhấn vào nút Lịch sử tiêm phịng
2. Thơng tin lịch sử hiện lên màn hình

Dịng sự kiện chính


Dịng sự kiện khác
Điểm mở rộng
Ghi chú


3.5.3. Sơ đồ cơ sở dữ liệu

3.6. Giao diện ứng dụng
• Màn hình Đăng nhập


- Đây là màn hình đầu tiên sau khi người dùng mở ứng dụng. Là một trang
đăng nhập, trang được chia ra làm 2 phần:
o Phần ở trên dành cho người dùng đã có tài khoản của ứng dụng.
Bao gồm một têxtbox cho người dùng nhập tên tài khoản, ngay bên
dưới là một têxtbox cho người dùng nhập mật khẩu tài khoản. Mật
khẩu có ràng buộc gồm 6 số. Sau khi đã nhập đúng tên tài khoản và
mật khẩu, người dùng nhấn vào nút Login để đăng nhập vào ứng
dụng bằng tài khoản. Bên dưới có nút hỗ trợ cho người dùng quên
mật khẩu cá nhân.
o Phần bên dưới dành cho người dùng mới của ứng dụng. Ở đây,
người dùng có thể nhấn chọn đăng nhập bằng các tài khoản từ
nguồn khác như tài khoản Facebook hoặc tài khoản Google. Bên
dưới là nút chuyển qua Màn hình Đăng ký tài khoản của ứng dụng.
• Màn hình Đăng ký tài khoản

- Khi nhấn vào nút Create New Account ở Màn hình Đăng nhập, người dùng
được chuyển tới màn hình Đăng ký tài khoản của ứng dụng.



- Trang đầu tiên khi vào phasê Đăng ký tài khoản sẽ điền tên của người
dùng. Tên này sẽ được dùng cho đăng nhập cùng với tên đại diện cho
profile của người dùng. Trang được chia làm 2 phần chính:
o Thanh appbar ở trên sẽ có tên của tiến trình tạo tài khoản hiện tại.
Cùng với nút lùi về màn hình trước (Màn hình Đăng nhập)
o Phần bên dưới gồm các mơ tả cho người dùng về tiến trình tạo tài
khoản hiện tại. Ở giữa màn hình là một têxtbox cho người dùng
nhập tên tài khoản. Ngay bên dưới là nút Nêxt để người dùng
chuyển tiếp đến tiến trình tiếp theo.

- Trang tiếp thêo trong phasê Đăng ký tài khoản sẽ điền email sử dụng của
người dùng. Những thông tin quan trọng (ví dụ mật khẩu cũ) sẽ được gửi
về êmail mà người dùng đăng ký. Trang cũng được chia làm 2 phần chính:
o Thanh appbar ở trên sẽ có tên của tiến trình tạo tài khoản hiện tại.
Cùng với nút lùi về màn hình trước
o Phần bên dưới gồm các mơ tả cho người dùng về tiến trình tạo tài
khoản hiện tại. Ở giữa màn hình là một têxtbox cho người dùng
nhập email. Ngay bên dưới là nút Nêxt để người dùng chuyển tiếp
đến tiến trình tiếp theo.


- Trang tiếp thêo trong phasê Đăng ký tài khoản sẽ điền mật khẩu tài khoản
của người dùng. Mật khẩu được dùng để bảo mật tài khoản cho người
dùng. Có ràng buộc là bao gồm 6 số. Ở trên gồm 2 trạng thái của trang
miêu tả khi người dùng chưa và đã nhập mật khẩu. Trang cũng được chia
làm 2 phần chính:
o Thanh appbar ở trên sẽ có tên của tiến trình tạo tài khoản hiện tại.
Cùng với nút lùi về màn hình trước
o Phần bên dưới gồm các mơ tả cho người dùng về tiến trình tạo tài
khoản hiện tại. Ở giữa màn hình là 2 textbox cho việc nhập mật khẩu

mới. Textbox ở trên người dùng sẽ điền mật khẩu cá nhân. Có nút
hiển thị mật khẩu ở bên góc phải. Textbox ở dưới người dùng sẽ
điền lại mật khẩu một lần nữa để tránh sai sót. Chỉ khi mật khẩu ở
trên và dưới trùng khớp với nhau, icon ở góc bên phải chuyển qua
dấu chêck thì người dùng mới có thể tiếp tục. Ngay bên dưới là nút
Nêxt để người dùng chuyển tiếp đến tiến trình tiếp theo.


- Trang cuối cùng trong phasê Đăng ký tài khoản sẽ thơng báo cho người
dùng rằng tiến trình tạo tài khoản sắp kết thúc. Trang yêu cầu xác nhận
rằng người dùng chấp nhận các khoản ràng buộc của bên cung cấp ứng
dụng. Trang cũng được chia làm 2 phần chính:
o Thanh appbar ở trên sẽ có tên của tiến trình tạo tài khoản hiện tại.
Cùng với nút lùi về màn hình trước
o Phần bên dưới xác nhận rằng người dùng chấp nhận các khoản ràng
buộc của bên cung cấp ứng dụng. Nhấn vào nút Sign Up sẽ chuyển
màn hình đến Màn hình Trang chủ.
• Màn hình Trang chủ


- Đây là màn hình chính của ứng dụng. Ở màn hình này có thể chia thành 5
phần:
o Phần trên cùng là một thanh appbar chính của ứng dụng. Gồm tên
chữ nổi của ứng dụng là BabyCare. Ở góc phải gồm nút chng
thơng báo để chuyển sang Màn hình Thơng báo và nút toggle các
lệnh khi sử dụng ứng dụng.
o Phần kế đến là khung hiển thị Mẹo hữu ích cho người dùng về kiến
thức chăm trẻ. Khung này sẽ được làm mới mỗi khi người dùng
quay về Màn hình Trang chủ.
o Kế đến là phần hiển thị lời chào người dùng. Hệ thống sẽ sử dụng

tên tài khoản mà người dùng đã đặt từ trước.
o Sau đó là danh sách các lệnh chính của ứng dụng. Mỗi ơ tương ứng
cho một nhánh chức năng lớn của ứng dụng. Gồm tên miêu tả chức
năng và bên phải là hình biểu diễn chức năng. Nhấn vào ô sẽ chuyển
đến trang điều khiển thực hiện chức năng đó.


×