Báo cáo đồ án cuối kỳ
SV thực hiện:
- Phan Duy Đức - 18520621
- Dương Thành Vương - 18521677
GV hướng dẫn: Huỳnh Nguyễn Khắc Huy
MỤC LỤC
I. Phát biểu bài toán
Ngày nay, nhu cầu tập luyện thể dục thể thao, cải thiện sức khỏe, vóc dáng
ngày càng tăng cao địi hỏi cần có những ứng dụng giúp hỗ trợ, quản lý việc
tập luyện cũng như dinh dưỡng để đảm bảo đáp ứng được nhu cầu của
người dùng. Rất nhiều các ứng dụng đã ra đời như: MyFitnessPal,
Fitness&BodyBuilding, Calories, vv… Những ứng dụng trên đều đáp ứng
tốt nhu cầu của người dùng, tuy nhiên vẫn còn hạn chế vì chỉ đáp ứng được
1 trong 2 khía cạnh: tập luyện hoặc dinh dưỡng. Bên cạnh đó, các ứng dụng
có sẵn thực sự chưa có khả năng cá nhân hóa đối với từng người dùng cụ
thể, bởi các chỉ số của cơ thể của mỗi người là khác nhau. Nắm bắt được
thực trạng đó, nhóm đã phát triển ứng dụng Swoletarian, là 1 ứng dụng hỗ
trợ người dùng trong cả việc tập luyện và dinh dưỡng, đồng thời tích hợp
khả năng cá nhân hóa với từng người dùng cụ thể.
II. Xác định yêu cầu
1. Danh sách biểu mẫu
1. Thêm danh sách thực phẩm ngày
2. Thêm loại thực phẩm mới
3. Thêm một bài tập mới
4. Thêm một lịch trình luyện tập mới
5. Thống kê dinh dưỡng theo thời gian (tuần, tháng)
6. Thống kê luyện tập theo thời gian (tuần, tháng)
7. Thay đổi mục tiêu
8. TDEE Calculator
9. BMI Calculator
2. Mơ hình hóa biểu mẫu
BM1: Thêm danh sách thực phẩm ngày
Ngày:
Người dùng:
Tổng Calo:
ST
T
Tên thực phẩm Loại thực phẩm Calo/g Ghi chú
BM2: Thêm thực phẩm mới
Tên thực phẩm:
Loại thực phẩm:
Calo/g:
Ghi chú:
Hình ảnh minh họa:
Quy định:
Loại thực phẩm phải nằm trong danh sách loại thực phẩm có sẵn
III. Mơ hình hóa Usecase
1. Sơ đồ Usecase
2. Danh sách các Usecase
ST
T
Tên Use case
1
Đăng ký
2
Đăng nhập
3
Đăng xuất
4
Đổi mật khẩu
5
Quên mật khẩu
6
Quản lý dinh dưỡng
7
Thêm thực phẩm
8
Sửa thực phẩm
9
Xóa thực phẩm
10
Quản lý bài tập luyện
11
Thêm bài tập
12
Sửa bài tập
13
Xóa bài tập
14
Quản lý lịch tập luyện
15
Thêm lịch tập luyện
Ghi chú
16
Sửa lịch tập luyện
17
Xóa lịch tập luyện
18
Thống kê dinh dưỡng
19
Thống kê tiến trình dinh dưỡng theo thời gian
20
Tạo thực đơn ngày
21
Thống kê tập luyện
22
Thống kê tập luyện theo thời gian
23
Ghi nhận giờ tập
24
Thống kê quá trình
25
Thống kê BMI
26
Thống kê TDEE
27
Cập nhật thông tin theo ngày
3. Đặc tả usecase
3.1 Usecase “Đăng ký”
STT - tên:
Primary Actor:
Mô tả:
UC1 - Use case Đăng ký
Người dùng
Secondary Actors:
Hệ thống
Cho phép người dùng đăng ký tài khoản
Điều kiện tiên Thiết bị người dùng phải được kết nối vào internet
quyết:
Điều kiện lúc sau:
Quy trình cơ bản:
-
Người dùng đăng ký thành cơng
-
Hệ thống lưu thông tin đăng ký vào cơ sở dữ liệu của ứng dụng
-
Người dùng truy cập vào ứng dụng
-
Người dùng chọn phương thức Đăng ký
-
Người dùng nhập thông tin vào form đăng ký
- Hệ thống kiểm tra thông tin hợp lệ và lưu thông tin đăng ký vào cơ
sở dữ liệu
Quy trình thay thế:
Ngoại lệ:
Khơng
Hệ thống kiểm tra thơng tin không hợp lệ và đưa ra thông báo nhập lại
Ưu tiên: Cao
3.2 Usecase “Đăng nhập”
STT - tên:
UC2 - Đăng nhập
Primary Người dùng
Actor:
Mô tả:
Secondary Actors:
Google, Facebook, Hệ thống
Cho phép người dùng đăng nhập
Điều kiện
tiên quyết:
-
Thiết bị người dùng phải được kết nối vào internet
-
Tài khoản của người dùng đã được đăng ký
Điều kiện
lúc sau:
-
Người dùng đăng nhập thành công
-
Hệ thống chuyển sang màn hình chính
Quy trình
cơ bản:
-
Người dùng chọn đăng nhập
-
Hệ thống hiển thị form đăng nhập
-
Người dùng nhập thông tin đăng nhập
-
Hệ thống xác thực thông tin đăng nhập
-
Người dùng đăng nhập thành công và truy cập ứng dụng
Quy trình
thay thế:
Ngoại lệ:
Ưu tiên:
Facebook
Google
- Người dùng chọn đăng nhập bằng
Facebook
- Người dùng chọn đăng nhập
bằng Google
- Hệ thống chuyển sang màn hình
đăng nhập của Facebook
- Hệ thống chuyển sang màn hình
đăng nhập của Google
- Người dùng nhập tài khoản
Facebook và chọn Đăng nhập
- Người dùng nhập tài khoản
Google và chọn Đăng nhập
- Facebook xác thực thông tin thành
công và cho phép người dùng truy cập
ứng dụng
- Google xác thực thông tin thành
công và cho phép người dùng truy
cập ứng dụng
-
Hệ thống xác thực thông tin đăng nhập không thành công
-
Người dùng nhập lại thông tin đăng nhập, hoặc chọn Quên mật khẩu
Cao
3.3 Usecase “Đăng xuất”
STT - tên:
Primary Actor:
UC3 - Use case Đăng xuất
Người dùng
Secondary Actors:
Hệ thống
Mô tả: Người dùng đăng xuất ra khỏi hệ thống
Điều kiện tiên quyết:
-
Thiết bị người dùng phải được kết nối vào internet
-
Người dùng đã đăng nhập vào ứng dụng
Điều kiện lúc sau:
-
Người dùng đăng xuất ra khỏi hệ thống
Quy trình cơ bản:
-
Người dùng chọn phương thức Đăng xuất
-
Hệ thống ghi nhận và thông báo yêu cầu đăng xuất
-
Người dùng xác nhận đăng xuất
-
Hệ thống đăng xuất
Quy trình thay thế:
Khơng
Ngoại lệ:
Khơng
Ưu tiên: Bình thường
3.4 Usecase “Đổi mật khẩu”
STT - tên: UC8 - Use case Sửa thực phẩm
Primary Người dùng
Actor:
Mô tả:
Điều kiện
tiên quyết:
Điều kiện lúc
sau:
Quy trình cơ
bản:
Cho phép người dùng chỉnh sửa thực phẩm đã thêm mới
●
Thiết bị người dùng phải được kết nối vào internet
●
Người dùng đã đăng nhập thành công vào hệ thống
●
Người dùng chọn thao tác trên màn hình Quản lý dinh dưỡng
●
Thực phẩm chỉnh sửa là thực phẩm người dùng đã thêm mới(không
phải thực phẩm mặc định của hệ thống)
●
Thông tin thực phẩm được chỉnh sửa
●
Người dùng nhấn chọn thực phẩm cần chỉnh sửa
●
Thông tin thực phẩm cần chỉnh sửa được hiển thị
●
Người dùng nhập thông tin chỉnh sửa cho thực phẩm
●
Hệ thống xác nhận chỉnh sửa thông tin thực phẩm hồn tất
Quy trình Khơng
thay thế:
Ngoại lệ:
●
NL1: Thực phẩm chỉnh sửa không phải là thực phẩm người dùng tự
thêm vào: không cho phép chỉnh sửa thực phẩm mặc định của hệ
thống
●
NL2: Thông tin chỉnh sửa thực phẩm không hợp lệ: hệ thống bắt buộc
người dùng nhập lại thơng tin
Ưu tiên: Bình thường
3.5 Usecase “Quên mật khẩu”
STT - tên: UC5 - Use case Quên mật khẩu
Primary Người dùng
Actor:
Mô tả:
Secondary Actors:
Hệ thống
Cho phép người dùng lấy lại mật khẩu
Điều kiện
tiên quyết:
-
Thiết bị người dùng phải được kết nối vào internet
-
Tài khoản của người dùng đã được đăng ký thành cơng trước đó
Điều kiện
lúc sau:
-
Người dùng đổi mật khẩu thành công
-
Hệ thống cập nhật thông tin thay đổi
Quy trình - Người dùng chọn phương thức Quên mật khẩu
cơ bản:
- Hệ thống hiển thị màn hình xác nhận gửi mã số xác thực về email hoặc số
điện thoại
-
Người dùng chọn phương thức nhận mã số xác thực
Email
Số điện thoại
- Hệ thống gửi email và mã xác
thực cho email người dùng đã đăng
ký từ trước
- Hệ thống gửi mã xác thực cho số
điện thoại người dùng đã đăng ký từ
trước
- Người dùng nhận mã xác thực
qua email và nhập mã xác thực qua
form xác nhận của hệ thống
- Người dùng nhận mã xác thực qua
số điện thoại và nhập mã xác thực qua
form xác nhận của hệ thống
- Hệ thống xác thực mã xác thực
thành công, hiển thị form đổi mật
khẩu
- Hệ thống xác thực mã xác thực
thành công, hiển thị form đổi mật khẩu
-
Người dùng nhập mật khẩu mới
- Hệ thống kiểm tra thông tin hợp
lệ và lưu thông tin thay đổi
-
Người dùng nhập mật khẩu mới
- Hệ thống kiểm tra thông tin hợp lệ
và lưu thông tin thay đổi
Quy trình Trong trường hợp người dùng chọn đăng nhập bằng tài khoản của Facebook
thay thế: hoặc Google, người dùng lấy lại mật khẩu trực tiếp thông qua Facebook hoặc
Google
Ngoại lệ: NL1: Tài khoản người dùng chưa được đăng ký
- Hệ thống kiểm tra tài khoản người dùng và thông báo tài khoản chưa được
đăng ký, hệ thống chuyển về màn hình đăng ký
NL2: Người dùng khơng xác thực được thông qua mã xác thực hoặc nhập sai
thông tin thay đổi, quá trình đổi mật khẩu bắt đầu lại từ đầu (quy trình cơ bản)
Ưu tiên: Bình thường
3.6 Usecase “Quản lý dinh dưỡng”
STT - tên:
Primary Actor:
Mơ tả:
Điều kiện tiên quyết:
Điều kiện lúc sau:
Quy trình cơ bản:
UC6 - Use case Quản lý dinh dưỡng
Người dùng
Secondary Actors:
Hệ thống
Cho phép người dùng xem và thao tác với danh sách dinh dưỡng
●
Thiết bị người dùng phải được kết nối vào internet
●
Người dùng đã đăng nhập thành công vào hệ thống
●
Ứng dụng hiển thị giao diện Quản lý dinh dưỡng
●
Người dùng nhấn nút Quản lý dinh dưỡng trên navigation
●
Hệ thống chuyển qua màn hình Quản lý dinh dưỡng
Quy trình thay thế:
Khơng
Ngoại lệ:
Khơng
Ưu tiên: Bình thường
3.7 Usecase “Thêm thực phẩm”
STT - tên: UC7 - Use case Thêm thực phẩm
Primary Actor: Người dùng
Mô tả:
Điều kiện tiên
quyết:
Điều kiện lúc
sau:
Quy trình cơ
bản:
Secondary Actors:
Hệ thống
Cho phép người dùng xem và thao tác với danh sách dinh dưỡng
●
Thiết bị người dùng phải được kết nối vào internet
●
Người dùng đã đăng nhập thành công vào hệ thống
●
Người dùng chọn thao tác trên màn hình Quản lý dinh dưỡng
●
Thực phẩm mới được thêm vào bộ nhớ của ứng dụng trên thiết bị
●
Người dùng nhấn nút Thêm thực phẩm trên màn hình Quản lý dinh
dưỡng
●
Hệ thống hiển thị form Thêm thực phẩm
●
Người dùng nhập thông tin thực phẩm cần thêm
●
Người dùng xác nhận thêm thực phẩm
●
Hệ thống kiểm tra thông tin thực phẩm cần thêm và thêm vào bộ
nhớ trên thiết bị
Quy trình thay Không
thế:
Ngoại lệ: Thông tin thực phẩm được thêm mới không hợp lệ, hệ thống bắt buộc nhập
lại thông tin thực phẩm
Ưu tiên: Bình thường
3.8 Usecase “Sửa thực phẩm”
STT - tên:
UC8 - Use case Sửa thực phẩm
Primary Người dùng
Actor:
Mô tả:
Điều kiện
tiên quyết:
Điều kiện lúc
sau:
Quy trình cơ
bản:
Cho phép người dùng chỉnh sửa thực phẩm đã thêm mới
●
Thiết bị người dùng phải được kết nối vào internet
●
Người dùng đã đăng nhập thành công vào hệ thống
●
Người dùng chọn thao tác trên màn hình Quản lý dinh dưỡng
●
Thực phẩm chỉnh sửa là thực phẩm người dùng đã thêm mới(không
phải thực phẩm mặc định của hệ thống)
●
Thông tin thực phẩm được chỉnh sửa
●
Người dùng nhấn chọn thực phẩm cần chỉnh sửa
●
Thông tin thực phẩm cần chỉnh sửa được hiển thị
●
Người dùng nhập thông tin chỉnh sửa cho thực phẩm
●
Hệ thống xác nhận chỉnh sửa thông tin thực phẩm hồn tất
Quy trình Khơng
thay thế:
Ngoại lệ:
●
NL1: Thực phẩm chỉnh sửa không phải là thực phẩm người dùng tự
thêm vào: không cho phép chỉnh sửa thực phẩm mặc định của hệ
thống
●
Ưu tiên:
NL2: Thông tin chỉnh sửa thực phẩm không hợp lệ: hệ thống bắt buộc
người dùng nhập lại thơng tin
Bình thường
3.9 Usecase “Xóa thực phẩm”
STT - tên: UC9 - Use case Xóa thực phẩm
Primary Actor: Người dùng
Mơ tả:
Điều kiện tiên
quyết:
Điều kiện lúc
sau:
Quy trình cơ
bản:
Secondary Actors:
Hệ thống
Cho phép người dùng xóa thực phẩm đã thêm mới
●
Thiết bị người dùng phải được kết nối vào internet
●
Người dùng đã đăng nhập thành công vào hệ thống
●
Người dùng chọn thao tác trên màn hình Quản lý dinh dưỡng
●
Thực phẩm muốn xóa là thực phẩm người dùng đã thêm mới(không
phải thực phẩm mặc định của hệ thống)
●
Thực phẩm được xóa khỏi hệ thống
●
Người dùng nhấn chọn thực phẩm cần xóa
●
Hệ thống gửi thơng báo xác nhận xóa thực phẩm đã chọn
●
Người dùng xác nhận xóa thực phẩm đã chọn
●
Hệ thống xóa dữ liệu thực phẩm
Quy trình thay Khơng
thế:
Ngoại lệ:
●
NL1: Thực phẩm muốn xóa khơng phải là thực phẩm người dùng tự
thêm vào: khơng cho phép xóa thực phẩm
Ưu tiên: Bình thường
3.10 Usecase “Quản lý bài tập luyện”
STT - tên: UC10 Quản lý bài tập luyện
Primary Actor: Người dùng
Secondary Actors: Hệ thống
Mô tả: Người dùng quản lý danh sách các bài tập
Điều kiện tiên quyết:
●
Thiết bị phải được kết nối vào internet
●
Người dùng đã đăng nhập vào hệ thống
Điều kiện lúc sau:
●
Ứng dụng hiển thị giao diện Quản lý bài tập
Quy trình cơ bản:
●
Người dùng chọn Quản lý bài tập tại navigation
●
Hệ thống hiển thị danh sách Quản lý bài tập
Quy trình thay thế: Khơng có
Ngoại lệ: Khơng có
Ưu tiên: Bình thường
3.11 Usecase “Thêm bài tập”
STT - tên: UC11 – Thêm bài tập
Primary Actor: Người dùng
Secondary Actors: Hệ thống
Mô tả: Người dùng thêm bài tập vào danh sách bài tập
Điều kiện tiên quyết:
●
Thiết bị phải được kết nối vào internet
●
Người dùng đã đăng nhập vào hệ thống
●
Ứng dụng đang hiển thị giao diện Quản lý bài tập
Điều kiện lúc sau:
●
Hệ thống lưu lại bài tập mới
Quy trình cơ bản:
●
Người dùng chọn thêm bài tập
●
Hệ thống hiển thị giao diện thêm bài tập
●
Người dùng nhập các thông tin và chọn xác nhận
●
Hệ thống thông báo thành cơng
Quy trình thay thế: Khơng có
Ngoại lệ: Khơng có
Ưu tiên: Bình thường
3.12 Usecase “Sửa bài tập”
STT - tên:
UC12- Sửa bài tập
Primary Actor:
Người dùng
Mô tả:
Người dùng sửa thông tin của một bài tập trong danh sách các
bài tập
Điều kiện tiên
quyết:
Điều kiện lúc
sau:
Secondary Actors:
Hệ thống
●
Thiết bị phải được kết nối vào internet
●
Người dùng đã đăng nhập vào hệ thống
●
Ứng dụng đang hiển thị giao diện Quản lý bài tập
Bài tập đã chọn được chỉnh sửa, thông tin bài tập được chỉnh
sửa được lưu vào hệ thống
Quy trình cơ
bản:
●
Người dùng chọn bài tập trong danh sách và chọn sửa
●
Người dùng nhập thông tin mới và xác nhận
●
Hệ thống báo thành cơng
Quy trình thay
thế:
Khơng có
Ngoại lệ:
Khơng có
Ưu tiên:
Bình thường
3.13 Usecase “ Xóa bài tập”
STT - tên:
UC13- Xóa bài tập
Primary Actor:
Người dùng
Mơ tả:
Người dùng xóa một bài tập khỏi danh sách của bản thân
Điều kiện tiên
quyết:
Điều kiện lúc sau:
Secondary Actors:
Hệ thống
●
Thiết bị phải được kết nối vào internet
●
Người dùng đã đăng nhập vào hệ thống
●
Ứng dụng đang hiển thị giao diện Quản lý bài tập
Bài tập được chọn bị xóa khỏi hệ thống