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

Ứng dụng trao đổi đồ chơi toydee

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 (2.77 MB, 88 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

BÁO CÁO
ĐỒ ÁN 1
ỨNG DỤNG TRAO ĐỔI ĐỒ CHƠI - TOYDEE

NGUYỄN ĐỨC THÀNH PHÁT
LÙ XUÂN THÁI

GIẢNG VIÊN HƯỚNG DẪN
THS. THÁI THỤY HÀN UYỂN

TP. HỒ CHÍ MINH, THÁNG 6 NĂM 2022


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

BÁO CÁO
ĐỒ ÁN 1
ỨNG DỤNG TRAO ĐỔI ĐỒ CHƠI - TOYDEE

NGUYỄN ĐỨC THÀNH PHÁT - 19521995
LÙ XUÂN THÁI -19522186

GIẢNG VIÊN HƯỚNG DẪN
THS. THÁI THỤY HÀN UYỂN


TP. HỒ CHÍ MINH, THÁNG 6 NĂM 2022


LỜI CẢM ƠN
Nhóm chúng em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đến cô Thái Thụy Hàn
Uyển đã hướng dẫn, tạo điều kiện cho nhóm chúng em tìm hiểu về đề tài xây dựng ứng
dụng trao đổi đồ chơi.
Trong vòng 15 tuần, qua các buổi học, nhờ sự hướng dẫn nhiệt tình của cơ, chúng em đã
tiếp thu được những kiến thức quan trọng, bổ ích, hồn thành đồ án.
Mặc dù đã cố gắng hoàn thành báo cáo với tất cả nỗ lực song báo cáo của nhóm chúng em
chắc chắn khơng tránh khỏi những thiếu sót, chúng em rất mong nhận được sự thơng cảm
và góp ý chân thành từ cơ. Nhóm em xin chân thành cảm ơn.
Thành phố Hồ Chí Minh, tháng 6 năm 2022
Nguyễn Đức Thành Phát
Lù Xuân Thái


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌCCÔNG NGHỆ

Độc Lập - Tự Do - Hạnh Phúc

THÔNG TIN

ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Xây dựng ứng trao đổi đồ chơi
Cán bộ hướng dẫn: Thái Thị Hàn Uyển

Thời gian thực hiện: Từ ngày 24/02/2022 đến ngày 17/06/2022
Sinh viên thực hiện:
Nguyễn Đức Thành Phát – 19521995
Lù Xuân Thái - 19522186
Nội dung đề tài:
• Đặt vấn đề
Có những đứa trẻ xin mua đồ chơi mới mỗi ngày nhưng chắc chắn trong một ngày hoặc
tuần vài tuần, bạn có thể tìm thấy món đồ chơi đó ở một góc nhà của bạn. Cứ khoảng
238 đồ chơi được thu thập với một đứa trẻ, nhưng chỉ sử dụng 12 đồ chơi để chơi trong
khoảng thời gian trong một ngày.
Hiện nay, chi phí dành cho trẻ em trong mỗi gia đình đều là một vấn đề rất lớn. Trong đó
có chi phí về đồ chơi dành cho trẻ. Trẻ em thích chơi đồ chơi tuy nhiên rất nhanh chán
nếu chơi mãi một món đồ chơi. Khiến cho phụ huynh phải mua đồ chơi mới để thay thế
các đồ chơi cũ.
• Mục tiêu đề tài
Để khắc phục cho vấn đề, ứng dụng Toydee được sinh ra nhằm cho phép người dùng
trao đổi các món đồ chơi với nhau, tiết kiệm chi phí. Các phụ huynh trao đổi đồ chơi mà
họ đã có với một số phụ huynh khác có thể cung cấp đồ chơi mà họ có. Cả hai cha mẹ sẽ
có thể cung cấp một món đồ chơi mới cho con của họ mà không cần chi một xu.


Thơng qua ứng dụng, người dùng có thể nắm được những thơng tin về các món đồ chơi
đăng lên trao đổi, đăng đồ chơi trao đổi của mình lên, yêu cầu trao đổi đồ chơi với người
khác, trò chuyện với người trao đổi, …
• Phạm vi đề tài
Vì q trình xây dựng ứng dụng và thực hiện đề tài có thời gian giới hạn, cùng với đó là
mảng kiến thức về Dart và framework Flutter quá rộng lớn, nên phạm vi của đề tài được
đề ra là các chức năng mấu chốt của đề tài được hoàn thiện, thực hiện tốt trải nghiệm
người dùng trên mơi trường di động.
• Phương pháp nghiên cứu

- Tham khảo các tài liệu trực tuyến về các hoạt động trao đổi qua lại giữa người dùng.
- Tiến hình khảo sát lấy yêu cầu thực tế từ người dùng.
- Tham khảo một số ý tưởng và ứng dụng trao đổi đồ chơi qua internet.
- Tham khảo tài liệu, video hướng dẫn cách áp dụng ứng dụng các cơng nghệ
mới vào q trình xây dựng ứng dụng.
• Ý nghĩa và kết quả của đề tài
Sản phẩm
- Tạo ra được ứng dụng trao đổi đồ chơi trực tuyến giữa các người dùng.
- Đáp ứng được các chức năng đề ra của ứng dụng.
Tài liệu
- Kiến thức về các công nghệ đã sử dụng vào đồ án: ngôn ngữ, framework, database, …


Kế hoạch thực hiện:
Giai đoạn

Thời gian

Mô tả

Giai đoạn 1

24/02 - 31/03

Lựa chọn đề tài.
Tìm hiểu cơng nghệ
Khảo sát ứng dụng.

Giai đoạn 2


01/04/ - 29/04

Thiết kế giao diện.
Thiết kế một số chức năng.

Giai đoạn 3

30/04 – 29/05

Xây dựng giao diện.
Hoàn thiện một số chức năng

Giai đoạn 4

30/05 – 15/06

Hoàn thiện các chứng năng cịn lại.
Sửa các lỗi.

Nguyễn Đức Thành Phát
Cơng việc
chung

Lù Xn Thái

Tìm hiểu cơng nghệ.
Thiết kế giao diện.
Thiết kế hệ thống.
Thiết kế database.


Công việc
riêng

Xây dụng chức năng đăng nhập,
đăng ký.

Xây dựng chức năng onBoaring.

Xây dựng chức năng trang chủ

Xây dựng chức năng trang cá nhân

Xây dựng chức năng đồ chơi

Xây dựng chức năng đồ chơi

Xây dựng chức năng chatting

Xây dựng chức năng sự kiện

Xác nhận của CBHD

TP. HCM, ngày 17 tháng 06 năm 2022

(Ký tên và ghi rõ họ tên)

Sinh viên
(Ký tên và ghi rõ họ tên)




MỤC LỤC
CHƯƠNG 1. GIỚI THIỆU .................................................................................................. 1
1.1. Đặt vấn đề .................................................................................................................. 1
1.2. Mục tiêu đề tài ........................................................................................................... 1
1.3. Phạm vi đề tài ............................................................................................................ 1
1.4. Phương pháp nghiên cứu ........................................................................................... 1
1.5. Ý nghĩa và kết quả của đề tài..................................................................................... 2
1.5.1. Sản phẩm ............................................................................................................ 2
1.5.2. Tài liệu ................................................................................................................ 2
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ..................................................................................... 3
2.1. Ngôn ngữ Dart ........................................................................................................... 3
2.2. Framework Flutter ..................................................................................................... 3
2.2.1. Flutter là gì ......................................................................................................... 3
2.2.2. Tại sao nên sử dụng Flutter ................................................................................ 3
2.3. Firebase ...................................................................................................................... 4
2.3.1. Ưu điểm .............................................................................................................. 4
2.3.2. Nhược điểm ........................................................................................................ 5
CHƯƠNG 3. KHẢO SÁT VÀ PHÂN TÍCH ĐẶT TẢ YÊU CẦU .................................... 6
3.1. Khảo sát hiện hiện trạng ............................................................................................ 6
3.1.1. Phương pháp khảo sát......................................................................................... 6
3.1.2. Đối tượng khách hàng ........................................................................................ 6
3.1.3. Danh sách câu hỏi khảo sát ................................................................................ 6
3.2. Danh sách các yêu cầu ............................................................................................... 6
CHƯƠNG 4. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ................................................... 9
4.1. Phân tích thiết kế hệ thống ........................................................................................ 9
4.1.1. Công nghệ sử dụng ............................................................................................. 9
4.1.2. Kiến trúc hệ thống .............................................................................................. 9
4.1.3. Kiến trúc ứng dụng ............................................................................................. 9
4.1.4. Sơ đồ use case................................................................................................... 10

4.1.4.1. Diagrams .................................................................................................... 10
4.1.4.2. Danh sách actor ......................................................................................... 12
4.1.4.3. Danh sách các use case .............................................................................. 12


4.1.4.4. Mô tả chi tiết use case ............................................................................... 12
4.1.5. Class diagrams .................................................................................................. 23
4.1.5.1. Diagrams .................................................................................................... 23
4.1.5.2. Danh sách các bảng ................................................................................... 23
4.1.5.3. Mô tả chi tiết các bảng............................................................................... 24
4.1.6. Thiết kế cơ sở dữ liệu ....................................................................................... 28
4.1.6.1. Danh sách các collection trong cơ sở dữ liệu ............................................ 28
4.1.6.2. Sơ đồ thiết kế ............................................................................................. 28
4.1.6.3. Mô tả chi tiết các collection....................................................................... 28
4.1.7. Activity diagram ............................................................................................... 32
4.1.7.1. Login .......................................................................................................... 32
4.1.7.2. Sign Up ...................................................................................................... 33
4.1.7.3. Forgot password ........................................................................................ 34
4.1.7.4. Swap .......................................................................................................... 35
4.1.7.5. Post toy ...................................................................................................... 36
4.1.7.6. Search ........................................................................................................ 37
4.1.7.7. Donate toy ................................................................................................. 38
4.1.7.8. Delete toy ................................................................................................... 39
4.1.7.9. Create event ............................................................................................... 40
4.1.8. Sequence diagrams ........................................................................................... 41
4.1.8.1. Login .......................................................................................................... 41
4.1.8.2. Sign Up ...................................................................................................... 42
4.1.8.3. Chatting ..................................................................................................... 43
4.1.8.4. Delete post ................................................................................................. 43
4.1.8.5. Filter .......................................................................................................... 44

4.1.8.6. Search ........................................................................................................ 44
4.1.8.7. Change information ................................................................................... 45
4.1.8.8. Create event ............................................................................................... 45
4.1.8.9. Donate toy ................................................................................................. 46
4.2. Thiết kế giao diện .................................................................................................... 47
4.2.1. Danh sách màn hình ......................................................................................... 47
4.2.2. Mơ tả chi tiết các màn hình .............................................................................. 47


4.2.2.1. Onboarding ................................................................................................ 47
4.2.2.2. Login .......................................................................................................... 48
4.2.2.3. Sign Up ...................................................................................................... 50
4.2.2.4. Reset password .......................................................................................... 51
4.2.2.5. Home ......................................................................................................... 52
4.2.2.6. Filter .......................................................................................................... 53
4.2.2.7. Search ........................................................................................................ 54
4.2.2.8. All toys ...................................................................................................... 54
4.2.2.9. Toy detail ................................................................................................... 55
4.2.2.10. Welcome upload ...................................................................................... 56
4.2.2.11. Upload toy screen .................................................................................... 57
4.2.2.12. Preview upload ........................................................................................ 59
4.2.2.13. Done upload............................................................................................. 59
4.2.2.14. Profile ...................................................................................................... 60
4.2.2.15. Configuration ........................................................................................... 62
4.2.2.16. Password configuration ........................................................................... 63
4.2.2.17. Phone configuration................................................................................. 63
4.2.2.18. Name configuration ................................................................................. 64
4.2.2.19. Date of birth configuration ...................................................................... 65
4.2.2.20. Gender configuration ............................................................................... 66
4.2.2.21. Address configuration ............................................................................. 67

4.2.2.22. List events ................................................................................................ 68
4.2.2.23. List my events.......................................................................................... 69
4.2.2.24. Upload event ............................................................................................ 70
4.2.2.25. List toy donated ....................................................................................... 71
4.2.2.26. Request screen ......................................................................................... 72
4.2.2.27. Chatting screen ........................................................................................ 73
4.2.2.28. Chatting detail ......................................................................................... 74
CHƯƠNG 5. KẾT LUẬN .................................................................................................. 76
5.1. Kết quả đạt được ...................................................................................................... 76
5.2. Ưu điểm ................................................................................................................... 76
5.3. Nhược điểm ............................................................................................................. 76


5.4. Hướng phát triển ...................................................................................................... 76


CHƯƠNG 1. GIỚI THIỆU
1.1. Đặt vấn đề
Có những đứa trẻ xin mua đồ chơi mới mỗi ngày nhưng chắc chắn trong một ngày hoặc
tuần vài tuần, bạn có thể tìm thấy món đồ chơi đó ở một góc nhà của bạn. Cứ khoảng 238
đồ chơi được thu thập với một đứa trẻ, nhưng chỉ sử dụng 12 đồ chơi để chơi trong
khoảng thời gian trong một ngày.
Hiện nay, chi phí dành cho trẻ em trong mỗi gia đình đều là một vấn đề rất lớn. Trong đó
có chi phí về đồ chơi dành cho trẻ. Trẻ em thích chơi đồ chơi tuy nhiên rất nhanh chán
nếu chơi mãi một món đồ chơi. Khiến cho phụ huynh phải mua đồ chơi mới để thay thế
các đồ chơi cũ.
1.2. Mục tiêu đề tài
Để khắc phục cho vấn đề, ứng dụng Toydee được sinh ra nhằm cho phép người dùng trao
đổi các món đồ chơi với nhau, tiết kiệm chi phí. Các phụ huynh trao đổi đồ chơi mà họ đã
có với một số phụ huynh khác có thể cung cấp đồ chơi mà họ có. Cả hai cha mẹ sẽ có thể

cung cấp một món đồ chơi mới cho con của họ mà không cần chi một xu.
Thông qua ứng dụng, người dùng có thể nắm được những thơng tin về các món đồ chơi
đăng lên trao đổi, đăng đồ chơi trao đổi của mình lên, yêu cầu trao đổi đồ chơi với người
khác, trò chuyện với người trao đổi, …
1.3. Phạm vi đề tài
Vì quá trình xây dựng ứng dụng và thực hiện đề tài có thời gian giới hạn, cùng với đó là
mảng kiến thức về Dart và framework Flutter quá rộng lớn, nên phạm vi của đề tài được
đề ra là các chức năng mấu chốt của đề tài được hoàn thiện, thực hiện tốt trải nghiệm
người dùng trên môi trường di động.
1.4. Phương pháp nghiên cứu
- Tham khảo các tài liệu trực tuyến về các hoạt động trao đổi qua lại giữa người dùng.
- Tiến hình khảo sát lấy yêu cầu thực tế từ người dùng.
1


- Tham khảo một số ý tưởng và ứng dụng trao đổi đồ chơi qua internet.
- Tham khảo tài liệu, video hướng dẫn cách áp dụng ứng dụng các công nghệ
mới vào quá trình xây dựng ứng dụng.
1.5. Ý nghĩa và kết quả của đề tài
1.5.1. Sản phẩm
- Tạo ra được ứng dụng trao đổi đồ chơi trực tuyến giữa các người dùng.
- Đáp ứng được các chức năng đề ra của ứng dụng.
1.5.2. Tài liệu
- Kiến thức về các công nghệ đã sử dụng vào đồ án: ngôn ngữ, framework, database, …

2


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1. Ngôn ngữ Dart

Dart là ngơn ngữ lập trình mới, được phát triển bởi Google, hiện đã được chấp thuận bởi
tổ chức Ecma. Dart được sử dụng để xây dựng các loại ứng dụng: web, server, di động
(IOS và Android với công cụ Flutter).
Dart là ngơn ngữ hỗ trợ lập trình hướng đối tượng, cú pháp kiểu C, mã code Dart có thể
biên dịch thành JavaSript để chạy trên trình duyệt. Nó hỗ trợ những khái niệm lập trình
hiện đại như giao diện lớp, lớp trừu tượng, …
2.2. Framework Flutter
2.2.1. Flutter là gì
Flutter là mobile UI framework của Google để tạo ra các giao diện chất lượng cao trên
iOS và Android trong khoảng thời gian ngắn. Flutter hoạt động với những code sẵn có
được sử dụng bởi các lập trình viên, các tổ chức.
Flutter gồm 2 thành phần quan trọng:
-

Một SDK (Software Development Kit): Một bộ sưu tập các công cụ sẽ giúp bạn
phát triển các ứng dụng của mình. Điều này bao gồm các công cụ để biên dịch mã
của bạn thành mã máy gốc (mã cho iOS và Android).

-

Một Framework (UI Library based on widgets): Một tập hợp các thành phần giao
diện người dùng (UI) có thể tái sử dụng (button, text inputs, slider, ...) giúp bạn có
thể cá nhân hóa tùy theo nhu cầu của riêng mình.
2.2.2. Tại sao nên sử dụng Flutter

- Phát triển ứng dụng nhanh chóng: Tính năng hot reload giúp bạn nhanh chóng và dễ
dàng thử nghiệm, xây dựng giao diện người dùng, thêm tính năng và sửa lỗi nhanh hơn.
Trải nghiệm tải lại lần thứ hai, mà không làm mất trạng thái, trên emulator, simulator và
device cho iOS và Android.
- Giao diện người dùng đẹp và thu hút: Thỏa mãn người dùng của bạn với các widget

built-in đẹp mắt của Flutter theo Material Design và Cupertino (iOS-flavor), các giao diện
3


lập trình ứng dụng (API) chuyển động phong phú, scroll tự nhiên mượt mà và tự nhận
thức được nền tảng.
- Framework hiện đại: Dễ dàng tạo giao diện người dùng của bạn với framework hiện đại
của Flutter và tập hợp các platform, layout và widget phong phú. Giải quyết các thách
thức giao diện người dùng khó khăn của bạn với các API mạnh mẽ và linh hoạt cho 2D,
animation, gesture, hiệu ứng và hơn thế nữa.
2.3. Firebase
Firebase là một nền tảng mà Google cung cấp để phát triển các ứng dụng di động
và trang web, hỗ trợ Developer trong việc đơn giản hóa các thao tác với dữ liệu và không
cần tác động tới backend hay server.
2.3.1. Ưu điểm
- Tốc độ cao: Firebase hỗ trợ phát triển ứng dụng với tốc độ nhanh chóng, giảm bớt thời
gian phát triển và tiếp thị ứng dụng.
- Đơn giản, dễ dàng trong sử dụng: Người dùng có thể tạo tài khoản Firebase bằng tài
khoản Google và cũng như sử dụng nền tảng này trong phát triển ứng dụng một cách dễ
dàng.
- Một nền tảng, đa dịch vụ: Firebase cung cấp đầy đủ các dịch vụ hỗ trợ phát triển web,
bạn có thể chọn database Firestore hoặc Realtime theo ý muốn.
- Là một phần của Google: Firebase đã được mua lại và hiện tại đang là một phần của
Google. Nó khai thác triệt để sức mạnh và các dịch vụ sẵn có của Google.
- Tập trung phát triển chủ yếu về giao diện người dùng: Firebase cho phép lập trình viên
tập trung chủ yếu vào phát triển phần giao diện người dùng nhờ kho Backend mẫu phong
phú đa dạng.
- Khơng có máy chủ: Điều này giúp Firebase có khả năng tối ưu hóa về hiệu suất làm việc
thông qua mở rộng cụm database.


4


- Học máy: Firebase cung cấp học máy cho lập trình viên, hỗ trợ tối đa cho việc phát triển
ứng dụng.
- Tạo ra lưu lượng truy cập: Với khả năng hỗ trợ tạo lập các chỉ mục, Firebase giúp nâng
cao thứ hạng của ứng dụng trên bảng xếp hạng Google, từ đó tăng lượt traffic.
- Theo dõi lỗi: Firebase là công cụ phát triển, khắc phục lỗi tuyệt vời.
- Sao lưu: Firebase sao lưu thường xuyên, giúp đảm bảo tính sẵn có và bảo mật thơng tin
cho dữ liệu.
2.3.2. Nhược điểm
- Không phải mã nguồn mở.
- Chỉ hoạt động trên CSDL NoSQL.
- Lập trình viên khơng được truy cập mã nguồn.
- Phạm vi hoạt động bị hạn chế ở một vài quốc gia.
- Một vài dịch vụ cần trả phí, chi phí dành cho Firebase tương đối lớn và khơng ổn.
- Chỉ có thể chạy trên Google Cloud.

5


CHƯƠNG 3. KHẢO SÁT VÀ PHÂN TÍCH ĐẶT TẢ YÊU CẦU
3.1. Khảo sát hiện hiện trạng
3.1.1. Phương pháp khảo sát
Dùng bảng câu hỏi.
3.1.2. Đối tượng khách hàng
Những người trong độ tuổi từ 18 – 30.
3.1.3. Danh sách câu hỏi khảo sát
• Giới tính của bạn là gì?
• Độ tuổi của bạn là bao nhiêu?

• Bạn đang là sinh viên trường nào?
• Gia đình bạn có thường chi tiền để mua sắm đồ chơi khơng?
• Nếu có thì số tiền đó nằm ở mức nào?
• Gia đình bạn có những đồ chơi khơng sử dụng khơng?
• Gia đình bạn có nhu cầu trao đổi món đồ chơi khơng?
• Bạn có từng sử dụng qua ứng dụng trao đổi đồ chơi nào chưa?
• Tần suất sử dụng các ứng dụng này?
• Theo bạn, ứng dụng trao đổi đồ chơi sẽ mang lại những lợi ích như thế nào?
• Theo bạn, một ứng dụng trao đổi đồ chơi nên tập trung vào mặt nào?
• Các chức năng cần thiết của một ứng dụng trao đổi là?
3.2. Danh sách các yêu cầu
STT
1

Phân loại
Chức năng

Mô tả

Tên u cầu

Đăng bài trao đổi các món Tính năng quan trọng của ứng dụng.
đồ chơi.

Người dùng nhập bắt đầu nhập thông
tin, xem trước bài đăng.

6



2

Chức năng

Tìm kiếm nhanh theo yêu

Ứng dụng hiện ra một danh sách các

cầu người dùng.

điều kiện lọc. Người dùng chọn điều
kiện mong muốn để tìm sản phẩm

3

Chức năng

Trị chuyện giữa các bên

Sau khi đồng ý trao đổi, hệ thống kết

trao đổi.

nối 2 người dùng với nhau thơng qua
màn hình tin nhắn.
Hai bên tự trao đổi hình thức nhận đồ
chơi (Ứng dụng chưa hỗ trợ vận
chuyển)

4


Chức năng

Đánh giá và điểm tin cậy

Sau khi hoàn thành một trao đổi,

người dùng

người dùng sẽ được tăng điểm tin cậy
(Điểm đánh giá),
Sau khi quyên góp cũng sẽ nhận
được điểm tin cậy.

5

Chức năng

Kiểm trang tình trạng đồ

Hệ thống cần xác nhận tình trạng của

chơi chơi

món đồ chơi thông qua thông tin
người dùng cung cấp trong bài đăng.
Sau khi xác nhận xong, bài đăng sẽ
được hiển thị trên ứng dụng.

6


Chức năng

Đăng ký

Hệ thống cho phép người dùng đăng
ký tài khoản mới bằng email, số điện
thoại, google, facebook, …
Sau khi đăng ký, hệ thống sẽ gửi mail
xác nhận cho người dùng. (cần xác
nhận email)

7

Chức năng

Đăng nhập

Người dùng đăng nhập ứng dụng
bằng tài khoản đã đăng ký.
Người dùng có thể thay đổi mật khẩu
thông qua email khi quên mật khẩu.
7


8

Chức năng

Cài đặt


Hệ thống cho phép người dùng thay
đổi ngôn ngữ theo vị trí.
Hệ thống cho phép người dùng thay
đổi giao diện sáng tối ứng dụng.
Người dùng có thể đặt lại mật khẩu
hoặc lưu đăng nhập.

9

Chức năng

Hệ thống sẽ thông báo cho người

Thơng báo

dùng khi có u cầu trao đổi đồ chơi.
10

Giao diện

Giao diện bắt mắt, đơn
giản.

11

Hiệu năng

Thời gian truy cập, tốc độ
xử lý tương tác, độ chính

xác cao

8


CHƯƠNG 4. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
4.1. Phân tích thiết kế hệ thống
4.1.1. Cơng nghệ sử dụng
• Nền tảng: Flutter Framework, version 4.7.2
• Ngơn ngữ: Dart
• UI Framework: Flutter Framework.
• UI design tool: Figma
• Database: Firebase Cloud Firebase
• IDE: VS Code
• Kiến trúc ứng dụng: MVVM’
4.1.2. Kiến trúc hệ thống
Mơ hình Client – Server
- Lớp Client: Hiển thị giao diện người dùng, thông qua kết nối Internet để kết nối đến cơ
sở dữ liệu quản lý thư viện. Là nơi diễn ra các tương tác của người dùng với chương trình
như nhập, các thao tác truy xuất dữ liệu.
- Lớp Server: Quản lý và chứa toàn bộ dữ liệu của phần mềm. Đồng thời xử lý các yêu
cầu nhập/xuất được gửi xuống từ lớp Client.

4.1.3. Kiến trúc ứng dụng
Mơ hình MVVM
9


4.1.4. Sơ đồ use case
4.1.4.1. Diagrams


10


11


4.1.4.2. Danh sách actor
STT
1

Tên

Mô tả
Người sử dụng ứng dụng

User

4.1.4.3. Danh sách các use case
STT Tên use case
1

Login

2

SignUp

3


Forgot password

4

Save user login credentials

5

Authentication

6

Swap

7

Post toy exchange

8

Delete post

9

Filters

10

Chatting


11

Search

12

Create event

13

Donate toys

14

Change information

4.1.4.4. Mô tả chi tiết use case
4.1.4.4.1. Login
Tên

Login

Mô tả

Người dùng cần phải đăng nhập khi sử dụng các chức năng của
ứng dụng
12


Tác nhân


Người sử dụng ứng dụng

Điều kiện kích hoạt

Người dùng nhấn vào nút đăng nhập trên màn hình
Hành động của tác nhân

Luồng chính

Hành động của hệ thống

1 Nhập thơng tin đăng nhập,

1. Kiểm tra tính hợp lệ của

bao gồm email và password

thông tin người dùng nhập

2. Nhấn vào nút đăng nhập

2. Nếu đúng tiến hành kiểm tra
tài khoản trong hệ thống.
3. Đăng nhập thành công hoặc
thông báo người dùng đăng
nhập thất bại.

Luồng thay thế
Điều kiện tiên quyết


Khơng
• Người dùng có tài khoản trong hệ thống.
• Người dùng đang ở màn hình đăng nhập

Điều kiện sau

• Đăng nhập thành cơng: chuyển sang màn hình trang chủ.
• Đăng nhập thất bại: thơng báo cho người dùng.

4.1.4.4.2. Sign Up
Tên

Sign Up

Mô tả

Người dùng muốn tạo tài khoản dùng để truy cập ứng dụng

Tác nhân

Người dùng

Điều kiện kích hoạt

Người dùng ở màn hình đăng ký, nhấn vào nút tạo tài khoản

Luồng chính

Hành động của tác nhân


Hành động của hệ thống

1. Người dùng điền tất cả

1. Kiểm tra dữ liệu người dùng

thông tin.

nhập vào

2 Nhấn vào nút đăng ký

2. Nếu thành không tiến hành
tạo tài khoản. Nếu không tiến
hành luồn thanh thế 1.

13


Luồng thay thế

Luồng thay thế 1
1. Hiện lên thông báo cho người dùng: sai thông tin hoặc là tạo
tài khoản thất bại.
2 Tiến nhanh cho người dùng nhập lại thông tin.

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

• Ứng dụng đang được chạy.

• Người dùng đang ở màn hình đăng ký

Điều kiện sau

• Đăng ký thành cơng: chuyển sang màn hình đăng nhập.
• Đăng ký thất bại: thông báo cho người dùng.

4.1.4.4.3. Forgot password
Tên

Forgot password

Mô tả

Người dùng không nhớ mật khẩu tài khoản và muốn cài đặt lại
mật khẩu mới

Tác nhân

Người dùng

Điều kiện kích hoạt

Người dùng ở màn hình quên mật khẩu, nhấn vào nút gửi email

Luồng chính

Hành động của tác nhân

Hành động của hệ thống


1. Người dùng điền email của

1. Kiểm tra email người dùng

tài khoản đã tạo.

có trong hệ thống hay khơng.

2 Nhấn vào nút gửi email.

2. Nếu có tiến hành gửi email
cài đặt lại mật khẩu. Nếu
không tiến hành luồng thay thế
1

Luồng thay thế

Luồng thay thế 1
1. Hiện lên thông báo cho người dùng: nhập sai email.
2 Tiến nhanh cho người dùng nhập lại thơng tin.

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

• Ứng dụng đang được chạy.
• Người dùng đang ở màn hình qn lại mật khẩu.

Điều kiện sau

• Thành cơng: chuyển sang màn hình xác nhận.

• Đăng ký thất bại: thơng báo cho người dùng.
14


×