k. Đặc tả Use-case Thơng báo tình trạng Chỉ số dinh dưỡng
Name Thơng báo tình trạng Chỉ số dinh dưỡng
Description Use case này cho phép người dùng theo dõi tình trạng của NI của em bé đang có dấu hiệu như thế nào.
Actor Tất cả người dùng
Trigger ❖ Khi người dùng nhấn vào nút “Check Status”
Pre-condition ❖ Người dùng đăng nhập thành công vào hệ thống ❖ Màn hình hiện tại là Màn hình NI em bé
Post-condition ❖ Chuyển sang Màn hình Status NI em bé
❖ Hiển thị thành cơng tình trạng hiện tại của NI của em bé Bảng 5.23: Đặc tả usecase thơng báo tình trạng chỉ số dinh dưỡng
Activities Flow
Hình 5.22 Hình minh họa hoạt động use-case Thơng báo tình trạng chỉ số dinh dưỡng Sequence diagram Sequence diagram
Hình 5.23 Sơ đồ tuần tự Thơng báo tình trạng chỉ số dinh dưỡng Business Rules Business Rules
Activity BR Code Description
❖ Client hiển thị Màn hình Status NI em bé
(1) BR2 Loading Rules:
❖ Khi người dùng nhấn nút “Check Status” và đợi Client kiểm tra tình trạng NI: Nút “Check Status” chuyển sang state “Loading”.
(1) BR3 Submitting Rules:
Khi người dùng nhấn nút “Check Status”, Client sử dụng
[Carbohydrate Value], [Fat Value], [Protein Value], [Vitamin A Value], [Vitamin B Value], [Vitamin C Value], [Vitamin D Value], [Iron Value], [Calcium Value], [Iodine Value], [Birth] để kiểm tra tình trạng NI
❖ [Carbohydrate Value], [Fat Value], [Protein Value], [Vitamin A Value], [Vitamin B Value], [Vitamin C Value], [Vitamin D Value], [Iron Value], [Calcium Value], [Iodine Value], [Birth] sử dụng ở
Màn hình NI em bé
❖ Dựa vạo [Birth] tính tốn được số tuổi hiện tại của em bé theo đơn vị tháng = [Age]
❖ Client có một Biểu đồ giá trị carbohydrate tăng trưởng chung cho
trẻ = [Chart Carbohydrate]. Ở mỗi một [Chart Age] có một
[Carbohydrate Standard]
❖ 9 chỉ số cịn lại cũng có một Biểu đồ riêng tương tự Biểu đồ giá trị
carbohydrate tăng trưởng chung cho trẻ
❖ For [Chart Carbohydrate] ❖ If [Age] = [Chart Age]
If [Carbohydrate] = [Carbohydrate Standard]
If [Carbohydrate] <> [Carbohydrate Standard]
o [Carbohydrate Status Good] = false ❖ 9 chỉ số cịn lại cũng có cách tính tương tự
❖ Client: Thơng báo [Carbohydrate Status Good] và Status Good của 9 chỉ số còn lại
Bảng 5.24: Business Rules Thơng báo tính trạng chỉ số dinh dưỡng
l. Đặc tả Use-case Thống kê bữa ăn
Name Thống kê bữa ăn
Description Use case này cho phép người dùng theo dõi các bữa ăn đã ghi nhận trước đó của trẻ
Actor Tất cả người dùng
Trigger ❖ Khi người dùng nhấn vào nút “Meal History”
Pre-condition ❖ Người dùng đăng nhập thành công vào hệ thống ❖ Màn hình hiện tại là Màn hình Chi tiết em bé
Post-condition ❖ Chuyển sang Màn hình Lịch sử bữa ăn
❖ Hiển thị đầy đủ các thông tin về lượng thức ăn tiêu thụ trước đó của em bé
Activities Flow
Hình 5.24 Hình minh họa hoạt động use-case Thống kê lịch sử bữa ăn Sequence diagram Sequence diagram
Hình 5.25 Sơ đồ tuần tự Thống kê lịch sử bữa ăn Business Rules Business Rules
Activity BR Code Description
❖ Client hiển thị Màn hình Lịch sử bữa ăn
(1) BR2 Loading Rules:
❖ Khi người dùng nhấn nút “Meal History” và đợi Client thống kê lịch sử: Nút “Meal History” chuyển sang state “Loading”.
(1) BR3 Submitting Rules:
Khi người dùng nhấn nút “Meal History”, Client sử dụng [Porridge Value], [Milk Value], [Meat Value], [Fish Value], [Egg Value], [Green Vegets Value], [Red Vegets Value], [Citrus Fruit Value], [Date Input] để thống kê lịch sử
❖ Mỗi khi chức năng Cập nhật Lượng thức ăn tiêu thụ được thực hiện, Client sẽ lưu lại 8 values là [Porridge Value], [Milk Value], [Meat Value], [Fish Value], [Egg Value], [Green Vegets Value], [Red Vegets Value], [Citrus Fruit Value] khi người dùng cập nhật hoàn thành
❖ [Date Input] sẽ được Client ghi nhận là ngày hơm đó. Có format là dd/MM/yyyy
❖ Khi tạo một thể hiện cho lịch sử sẽ bao gồm [Porridge Value], [Milk Value], [Meat Value], [Fish Value], [Egg Value], [Green Vegets Value], [Red Vegets Value], [Citrus Fruit Value] và [Date Ago]
❖ [Date Ago] = [Date Now] - [Date Input]
❖ [Date Now] là ngày hiện tại của hệ thống. Có format là dd/MM/yyyy
Bảng 5.26: Business Rules Thống kê lịch sử bữa ăn
Name Lên kế hoạch bữa ăn tiếp theo
Description Use case này cho phép người dùng nhận gợi ý cho các bữa ăn trong 7 ngày ăn tiếp theo
Actor Tất cả người dùng
Trigger ❖ Khi người dùng nhấn vào nút “Meal Suggest”
Pre-condition ❖ Người dùng đăng nhập thành cơng vào hệ thống ❖ Màn hình hiện tại là Màn hình Chi tiết em bé
Post-condition ❖ Chuyển sang Màn hình Gợi ý bữa ăn
❖ Hiển thị đầy đủ các thông tin về lượng thức ăn trong thời gian sắp tới của em bé
Activities Flow
Hình 5.26 Hình minh họa hoạt động use-case Lên kế hoạch cho bữa ăn tiếp theo Sequence diagram Sequence diagram
Hình 5.27 Sơ đồ tuần tự Lên kế hoạch cho bữa ăn tiếp theo Business Rules Business Rules
Activity BR Code Description
❖ Client hiển thị Màn hình Gợi ý bữa ăn
(1) BR2 Loading Rules:
❖ Khi người dùng nhấn nút “Meal Suggest” và đợi Client kiểm tra tình trạng NI: Nút “Meal Suggest” chuyển sang state “Loading”.
(1) BR3 Submitting Rules:
Khi người dùng nhấn nút “Meal Suggest”, Client sử dụng
[Carbohydrate Value], [Fat Value], [Protein Value], [Vitamin A Value], [Vitamin B Value], [Vitamin C Value], [Vitamin D Value], [Iron Value], [Calcium Value], [Iodine Value], [Birth] để tính tốn và đưa ra gợi ý bữa ăn
❖ [Carbohydrate Value], [Fat Value], [Protein Value], [Vitamin A Value], [Vitamin B Value], [Vitamin C Value], [Vitamin D Value], [Iron Value], [Calcium Value], [Iodine Value], [Birth] sử dụng ở
Màn hình NI em bé
❖ Dựa vạo [Birth] tính tốn được số tuổi hiện tại của em bé theo đơn vị tháng = [Age]
❖ Client có một Biểu đồ giá trị carbohydrate tăng trưởng chung cho
trẻ = [Chart Carbohydrate]. Ở mỗi một [Chart Age] có một
[Carbohydrate Standard]
❖ 9 chỉ số cịn lại cũng có một Biểu đồ riêng tương tự Biểu đồ giá trị
carbohydrate tăng trưởng chung cho trẻ
❖ For [Chart Carbohydrate] ❖ If [Age] = [Chart Age]
If [Carbohydrate] = [Carbohydrate Standard]
If [Carbohydrate] <> [Carbohydrate Standard]
o [Carbohydrate Status Good] = false ❖ 9 chỉ số cịn lại cũng có cách tính tương tự
❖ Với mỗi Status Good = false thì Client sẽ sử dụng Biểu đồ cơng
thức quy đổi chất dinh dưỡng để đưa ra [Porridge Value], [Milk
Value], [Meat Value], [Fish Value], [Egg Value], [Green Vegets Value], [Red Vegets Value], [Citrus Fruit Value] là các value cần thiết trong thời gian sắp tới
❖ Bữa ăn sẽ được tính trong vịng 7 ngày. Và mỗi ngày khi lần đầu sử dụng tính năng, Client sẽ sử dụng [Carbohydrate Value], [Fat Value], [Protein Value], [Vitamin A Value], [Vitamin B Value], [Vitamin C Value], [Vitamin D Value], [Iron Value], [Calcium Value], [Iodine Value] để tính tốn bữa ăn cho 7 ngày mới Bảng 5.28: Business Rules Lên kế hoạch cho bữa ăn tiếp theo
n. Đặc tả Use-case Cẩm nang chăm sóc trẻ
Name Cẩm nang chăm sóc trẻ
Description Use case này cho phép người dùng tiếp cận các kiến thức hữu ích trong q trình chăm sóc trẻ
Actor Tất cả người dùng
Trigger ❖ Khi người dùng nhấn vào nút có biểu tượng “Cẩm nang”
Pre-condition ❖ Người dùng đăng nhập thành công vào hệ thống
Post-condition ❖ Chuyển sang Màn hình Cẩm nang chăm sóc trẻ ❖ Hiển thị danh sách các chủ đề bài viết trong Cẩm nang Bảng 5.29: Đặc tả use-case Cẩm nang chăm sóc trẻ
Activities Flow
Hình 5.29 Sơ đồ tuần tự Cẩm nang chăm sóc trẻ Business Rules Business Rules
Activity BR Code Description
(2) BR1 Loading Screen Rules:
❖ Client hiển thị Màn hình Cẩm nang chăm sóc em bé – danh sách chủ
(1) BR2 Loading Rules:
❖ Khi người dùng nhấn nút có biểu tượng “Cẩm nang” và đợi phản hồi từ Server: Nút “Cẩm nang” chuyển sang state “Loading”.
(1) BR3 Submitting Rules:
Khi người dùng nhấn nút “Cẩm nang”, Client gửi yêu cầu xem danh sách chủ đề trong Cẩm nang chăm sóc trể lên Server
❖ Server gửi [GetListHandbookThemeSuccess = true], [Theme items] về Client.
❖ [Theme items] mỗi item tương ứng với table HandbookTheme ❖ [Theme Title] tương ứng với field title trong table HandbookTheme ❖ [Theme Image] tương ứng với field image trong table HandbookTheme ❖ [Theme Description] tương ứng với field description trong table
HandbookTheme
❖ Client: Chuyển sang Màn hình Cẩm nang chăm sóc em bé – danh sách
cẩm nang
Bảng 5.30: Business Rules Cẩm nang chăm sóc em bé
o. Đặc tả Use-case Chatbot hỗ trợ người dùng
Name Chatbot hỗ trợ người dùng
Description Use case này cho phép người dùng gửi câu hỏi và nhận được trả lời chi tiết về những thắc mắc trong q trình chăm sóc trẻ
Actor Tất cả người dùng
Pre-condition ❖ Người dùng đăng nhập thành công vào hệ thống
Post-condition ❖ Chuyển sang Màn hình Chat
❖ Người dùng có thể gửi câu hỏi cho chatbot
Activities Flow
Sequence diagram
Hình 5.31 Sơ đồ tuần tự Chatbot hỗ trợ người dùng Business Rules Business Rules
Activity BR Code Description
(3) BR1 Loading Screen Rules:
❖ Client hiển thị Màn hình Chat
(2) BR2 Loading Rules:
❖ Khi người dùng nhấn nút “Gửi câu hỏi” và đợi phản hồi từ Server: Nút “Gửi câu hỏi” chuyển sang state “Loading”.
(2) BR3 Submitting Rules:
Khi người dùng điền câu hỏi dạng văn bản và nhấn nút “Gửi câu hỏi”, Client gửi câu hỏi lên Server và yêu cầu câu trả lời
❖ Server sử dụng những thuật tốn đã được lập trình sẵn để phân tích từ những keyword trong câu hỏi từ phía Client, đưa ra câu trả lời và gửi đường dẫn đến bài viết liên quan từ use-case Cẩm nang chăm sóc em bé ❖ Server gửi [GetAnswerSuccess = true], [Answer items] về Client. ❖ [Answer items] mỗi item tương ứng với String
❖ Item cuối cùng trong [Answer items] có nội dung là đường dẫn tới use- case Cẩm nang chăm sóc em bé – Bài viết tương ứng
❖ Client: Hiển thị những câu trả lời từ Server
❖ Trong trường hợp Server gửi [GetAnswerSuccess = false] về Client, Client hiển thị câu trả lời từ phía Server với nội dung “Try another question please”
Bảng 5.32: Business Rules Chatbot hỗ trợ người dùng
Mô tả chi tiết:
5.2.1. Bảng Account:
Account
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
idAccount string Primary key Mã tài khoản username string Not null Tên tài khoản
password string Not null Mật khẩu
5.2.2. Bảng Baby:
Baby
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
idBaby string Primary key Mã baby
name string Not null Tên baby
birth date Not null Ngày tháng năm sinh
image string Not null link url hình ảnh
5.2.3. Bảng BMI:
BMI
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
idBMI string Primary key Mã BMI
type string Not null Loại BMI
idBaby string foreign key Mã em bé
value double Not null Chỉ số
5.2.4. Bảng Vaccination:
Vaccination
idVaccination string Primary key Mã Vaccin
name string Not null Tên Vaccin
injectionDate date Not null Ngày tiêm
idBaby string foreign key Mã em bé
5.2.5. Bảng Food:
Food
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
idFood string Primary key Mã thức ăn
type string Not null loại thức ăn
value double Not null giá trị (hàm lượng) thức ăn
idBaby string foreign key Mã em bé
date double Not null Ngày tạo thức ăn
5.2.6. Bảng Nutri:
Nutri
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
idNutri string Primary key Mã chất dinh dưỡng
value date Not null chỉ số chất dinh dưỡng
updateDate string Not null ngày cập nhật chất dinh dưỡng babyAge double Not null Số tháng tuổi của em bé
idFood string foreign key Mã thức ăn
5.2.7. Bảng NutriSuggest:
NutriSuggest
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
idNutriSuggest string Primary key Mã gợi ý chất dinh dưỡng value double Not null chỉ số suggest chất dinh dưỡng idNutri string foreign key Mã chất dinh dưỡng
5.2.8. Bảng FoodSuggest:
FoodSuggest
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
idFoodSuggest string Primary key Mã Vaccin
type string Not null Tên Vaccin
value date Not null Ngày tiêm
date string foreign key Mã em bé
idBaby string foreign key Mã em bé
5.2.9. Bảng HandbookTheme:
FoodSuggest
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
idTheme string Primary key Mã Chủ đề bài viết
title string Not null Tên Chủ đề
description string Not null Mô tả Chủ đề
image string Not null Link hình ảnh mơ tả Chủ đề
5.2.10. Bảng ArticleInfo:
FoodSuggest
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
idArticle string Primary key Mã Bài viết
idTheme string Foreign key Mã Chủ đề bài viết
title string Not null Tên Bài viết
induction string Not null Lời mở đầu của Bài viết image string Not null Link hình ảnh mơ tả Bài viết category string Not null Phân loại Bài viết
FoodSuggest
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
idDetailArticle string Primary key Mã Bài viết
IdArticle string Foreign key Mã Chủ đề bài viết
title string Not null Tên Bài viết
induction string Not null Lời mở đầu của Bài viết category string Not null Phân loại Bài viết headers string array Not null Danh sách đầu mục
bodys string array Not null Danh sách nội dung từng mục images string array Not null Danh sách hình ảnh kèm theo từng
mục
5.3. Thiết kế giao diện ứng dụng: 5.3.1. Thiết kế giao diện 5.3.1. Thiết kế giao diện
Đây là link Design UI cho toàn bộ đồ án, bao gồm cả UI Kit của hệ thống. Link: Design in Figma
5.3.2. Màn hình Đăng nhập
Đây là Màn hình Đăng nhập của ứng dụng, cho phép người dùng sử dụng Email và Mật khẩu từ tài khoản đã tạo trước để đăng nhập vào hệ thống. Người dùng nhấn vào nút Login để thực hiện thao tác Đăng nhập, nhấn vào nút Create New Account để thực hiện thao tác Đăng ký tài khoản
Hình 5.28 Màn hình đăng nhập
5.3.3. Màn hình Đăng ký tài khoản
Đây là Màn hình Đăng ký tài khoản của ứng dụng, cho phép người dùng điền Tên người dùng, Email và Mật khẩu để tạo tài khoản và đăng nhập vào hệ thống. Người dùng nhấn vào nút Sign Up để thực hiện thao tác Đăng ký tài khoản và Đăng nhập vào ứng dụng, nhấn vào nút Back để quay lại Màn hình Đăng nhập.
Hình 5.29 Màn hình đăng ký
5.3.4. Màn hình Trang chủ
Đây là Màn hình Trang chủ của ứng dụng, ở đây hệ thống sẽ hiển thị các interface em bé mà tài khoản sở hữu. Người dùng nhấn vào bất kỳ interface em bé để thực hiện thao tác Hiển thị thơng tin chung của em bé đó
Hình 5.30 Màn hình trang chủ
Đây là các Màn hình Khởi tạo em bé của ứng dụng, cho phép người dùng nhập vào các thơng tin cần thiết như Giới tính, Tên, Ngày sinh, Ảnh hiển thị để hệ thống tạo và lưu trữ thông của em bé. Với mỗi màn hình, người dùng nhấn vào nút Next sẽ chuyển sang màn hình tiếp theo theo thứ tự bên dưới, nhấn vào nút Back để chuyển về màn hình trước đó. Ở màn hình cuối cùng, người dùng nhấn vào nút Next sẽ chuyển về Màn hình Trang chủ.
Hình 5.31 Màn hình khởi tạo em bé
5.3.6. Màn hình Hiển thị thơng tin chung
Đây là Màn hình Hiển thị thông tin chung của em bé trong ứng dụng, hiển thị tồn bộ các thơng tin liên quan mà người dùng cần theo dõi. Người dùng nhấn vào nút Update ở bảng Body Mass Index để thực hiện thao tác Cập nhật BMI, nhấn vào nút Update ở bảng Nutrition Index để thực hiện thao tác Cập nhật Lượng thức ăn tiêu thụ, nhấn vào nút Meal Suggestion để thực hiện thao tác Xem các thức ăn gợi ý, nhấn vào nút Back để quay về màn hình trước đó.
Hình 5.32 Màn hình Hiển thị Thơng tin chung
5.3.7. Màn hình Hiển thị, Cập nhật và Thơng báo tình trạng BMI
Đây là Màn hình Hiển thị, Cập nhật và Thơng báo tình trạng BMI của em bé trong ứng dụng, hiển thị cho người dùng các thông tin về Chỉ số khối cơ thể của trẻ và cho phép người dùng cập nhật thông tin về BMI. Người dùng kéo thả các thanh trượt trong màn hình để điền chỉ số BMI tăng thêm của trẻ, nhấn vào nút Save để thực hiện thao tác Cập nhật BMI, nhấn vào nút Back để quay về màn hình trước đó.
Hình 5.33 Màn hình hiển thị, cập nhật và thơng báo tình trạng BMI
Đây là Màn hình Hiển thị, Cập nhật và Thơng báo tình trạng dinh dưỡng của em bé trong ứng dụng, hiển thị cho người dùng các thông tin về Chỉ số dinh dưỡng của trẻ và cho phép người dùng cập nhật thông tin về Lượng thức ăn tiêu thụ. Người dùng kéo thả các thanh trượt trong màn hình để điền lượng thức ăn tiêu thụ của trẻ, nhấn vào nút Save để thực hiện thao tác Cập nhật NI, nhấn vào nút Back để quay về màn hình trước đó.
Hình 5.34 Màn hình hiển thị, cập nhật và thơng báo tình trạng dinh dưỡng
5.3.9. Màn hình Gợi ý bữa ăn
Đây là Màn hình Gợi ý bữa ăn của ứng dụng, hiển thị cho người dùng các thông tin về chỉ