- Giao diện đơn giản, dễ sử dụng - Bỏ các tính năng thừa - Cải thiện hiệu năng cho ứng dụng - Có thể trao đổi, mua bán đồ dùng trên ứng dụng một cách dễ dàng - Tìm hiểu và đánh giá c
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN 2 ỨNG DỤNG TRAO ĐỔI ĐỒ DÙNG HỌC TẬP
Giảng viên hướng dẫn : ThS Lê Thanh Trọng Sinh viên thực hiện 1 : Hà Nhật Linh
Mã sinh viên 1 : 18520086 Sinh viên thực hiện 2 : Phạm Vũ Lê Minh
Mã sinh viên 2 : 18520103
Tp HCM, 24 tháng 12 năm 2021
Trang 2LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM, nhóm đã được trang bị các kiến thức cơ bản cùng các kỹ năng thực tế để có thể hoàn thành Đồ án 2 của mình Để hoàn thành khóa luận này, với lòng biết ơn sâu sắc em xin gửi lời cảm ơn chân thành đến: Ban Giám hiệu trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM vì đã tạo điều kiện thuận lợi để sinh viên tìm kiếm, nghiên cứu thông tin đa dạng các loại sách và tài liệu Gần gũi hơn là những lời tốt đẹp nhất xin gửi đến
đến thầy Lê Thanh Trọng đã tận tình giúp đỡ, định hướng cách tư duy và hướng làm việc
khoa học Đó là những góp ý hết sức quý báu không chỉ trong quá trình thực hiện luận văn mà còn là hành trang tiếp bước cho em trong quá trình học tập và làm việc sau này Sau cùng, xin chúc quý Thầy Cô trong khoa Công nghệ Phần mềm nói riêng cũng như các giáo viên tại trường Công nghệ thông tin nói chung thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình
Sinh viên thực hiện
Hà Nhật Linh - Phạm Vũ Lê Minh
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Tp.HCM, ngày … tháng 12 năm 2021
GVHD
ThS Lê Thanh Trọng
Trang 4MỤC LỤC
LỜI CẢM ƠN 1
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 2
MỤC LỤC HÌNH ẢNH 9
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1
1.1 Lý do chọn đề tài: 1
1.2 Đối tượng nghiên cứu: 1
1.4 Phương pháp thực hiện: 1
1.5 Kết quả mong đợi: 1
CHƯƠNG 2: KIẾN THỨC NỀN TẢNG 2
2.1 Flutter: 2
2.1.1 Khái niệm: 2
2.1.2 Lý do chọn Flutter: 2
2.2 NodeJS và MongoDB: 2
2.2.1 Khái niệm: 2
2.2.2 Lý do chọn NodeJS và MongoDB: 3
2.3 Firebase Authentication: 3
2.4 Cloud Firestore: 4
2.4.1 Khái niệm: 4
2.4.2 Lý do chọn Cloud Firestore: 5
2.5 Github: 5
2.6 Trello: 6
2.6.1 Khái niệm: 6
2.6.2 Lý do chọn Trello: 6
CHƯƠNG 3: HƯỚNG TIẾP CẬN 7
3.1 Khảo sát hiện trạng: 7
3.1.1 Khảo sát các ứng dụng liên quan: 7
Trang 53.1.1.1 Ứng dụng Aladin: 7
3.1.1.2 Ứng dụng Udemy: 7
3.1.2 Khảo sát người dùng: 8
3.2 Định hướng xây dựng ứng dụng: 10
3.2.1 Định hướng công nghệ: 10
3.2.2 Định hướng mô hình phát triển: 10
CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG 11
4.1 Mô tả ứng dụng: 11
4.1.1 Chức năng cần có của ứng dụng: 11
4.1.2 Đối tượng người dùng: 11
4.1.3 Môi trường vận hành: 12
4.2 Phân tích các yêu cầu: 12
4.2.1 Yêu cầu chức năng: 12
4.2.2 Danh sách các quy định và biểu mẫu: 14
4.2.3 Yêu cầu phi chức năng: 16
4.2.3.1 Yêu cầu tiến hoá: 16
4.2.3.2 Yêu cầu hiệu quả: 16
4.2.3.3 Yêu cầu tiện dụng: 18
4.2.4 Sơ đồ Usecase: 19
4.2.4.1 Danh sách Actor: 19
4.2.4.2 Danh sách Usecase: 20
4.2.5 Đặc tả Usecase: 22
4.2.5.1 UC01: Đăng ký ứng dụng: 22
4.2.5.2 UC02: Đăng giao dịch (mua, bán, chia sẻ) đồ dùng: 23
4.2.5.3 UC03: Lướt mua đồ dùng theo trend: 24
4.2.5.4 UC04: Thêm sản phẩm vào danh sách yêu thích: 24
Trang 64.2.5.6 UC06: Nhận thông báo: 25
4.2.5.7 UC07: Thanh toán sản phẩm: 26
4.2.5.8 UC08: Chỉnh sửa trang cá nhân: 27
4.2.5.9 UC09: Nhắn tin: 27
4.2.5.10 UC10: Đăng nhập, đăng xuất: 28
4.2.5.11 UC11: Xem các sản phẩm đăng bán: 29
4.2.5.12 UC12: Tìm kiếm sản phẩm: 29
4.2.5.13 UC13: Bình luận sản phẩm: 30
4.2.5.14 UC14: Xem trang cá nhân của người khác: 30
4.2.5.15 UC15: Thêm sản phẩm vào giỏ hàng: 31
4.2.5.16 UC16: Đấu giá sản phẩm: 31
4.2.5.17 UC17: Theo dõi đơn hàng: 32
4.3 Thiết kế kiến trúc hệ thống phần mềm: 32
4.3.1 Tổng quan mô hình hệ thống: 32
4.3.2 Mô tả luồng xử lý của kiến trúc: 33
4.4 Thiết kế quy trình làm việc: 34
4.5 Thiết kế dữ liệu: 35
4.5.1 Sơ đồ Logic: 35
4.5.2 Mô tả chi tiết các dữ liệu: 36
4.5.2.1 Bảng Profile: 36
4.5.2.2 Bảng Account: 36
4.5.2.3 Bảng TagShipping: 36
4.5.2.4 Bảng Review: 37
4.5.2.5 Bảng Cart: 37
4.5.2.6 Bảng Message: 37
4.5.2.7 Bảng Room: 37
4.5.2.8 Bảng Product: 38
Trang 74.5.2.9 Bảng Order: 38
4.5.2.10 Bảng Notification: 39
4.5.2.11 Các bảng dữ liệu được quản lý bằng Firebase: 39
4.6 Thiết kế giao diện: 39
4.6.1 Sơ đồ các màn hình: 39
4.6.2 Danh sách các màn hình: 39
4.6.3 Giao diện từng màn hình: 41
4.6.3.1 Màn hình chờ: 41
a Giao diện: 41
b Mô tả đối tượng trên màn hình: 42
4.6.3.2 Màn hình đăng nhập 43
a Giao diện: 43
b Mô tả đối tượng trên màn hình: 44
4.6.3.3 Màn hình trang chủ: 45
a Giao diện: 45
b Mô tả đối tượng trên màn hình: 46
4.6.3.4 Màn hình yêu thích: 47
a Giao diện: 47
b Mô tả đối tượng trên màn hình: 48
4.6.3.5 Màn hình thông báo: 49
a Giao diện: 49
b Mô tả đối tượng trên màn hình: 50
4.6.3.6 Màn hình cá nhân: 51
a Giao diện: 51
b Mô tả đối tượng trên màn hình: 52
4.6.3.7 Màn hình tìm kiếm: 53
Trang 8b Mô tả đối tượng trên màn hình: 54
4.6.3.8 Màn hình giỏ hàng: 55
a Giao diện: 55
b Mô tả đối tượng trên màn hình: 56
4.6.3.9 Màn hình chi tiết sản phẩm: 57
a Giao diện: 57
b Mô tả đối tượng trên màn hình: 58
4.6.3.10 Màn hình người bán: 60
a Giao diện: 60
b Mô tả đối tượng trên màn hình: 61
4.6.3.11 Màn hình xác nhận: 62
a Giao diện: 62
b Mô tả đối tượng trên màn hình: 63
4.6.3.12 Màn hình giao dịch thành công: 64
a Giao diện: 64
b Mô tả đối tượng trên màn hình: 65
4.7 Một số diagram bổ sung của ứng dụng: 66
4.7.1 Active Diagram: 66
4.7.2 State Diagram: 67
4.7.3 Sequence Diagram: 68
CHƯƠNG 5: THỰC NGHIỆM VÀ ĐÁNH GIÁ 69
5.1 Môi trường thử nghiệm: 69
5.2 Kết quả thử nghiệm: 69
5.3 Đánh giá sản phẩm: 69
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 70
6.1 Kết luận: 70
6.2 Thuận lợi và khó khăn: 70
Trang 96.2.1 Thuận lợi: 70
6.2.2 Khó khăn: 71
6.3 Hướng phát triển: 71
TÀI LIỆU THAM KHẢO 72
Trang 10MỤC LỤC HÌNH ẢNH
Hình 2.1 Flutter 2
Hình 2.2 NodeJS và MongoDB 3
Hình 2.3 Firebase Authentication 4
Hình 2.4 Cloud Firestore 5
Hình 2.5 Github 6
Hình 2.6 Trello 6
Hình 4.1 Sơ đồ phân rã chức năng 11
Hình 4.2 UC Đăng ký ứng dụng 22
Hình 4.3 UC Đăng giao dịch đồ dùng 23
Hình 4.4 UC Lướt mua đồ dùng theo trend 24
Hình 4.5 UC Thêm sản phẩm vào danh sách yêu thích 25
Hình 4.6 UC Theo dõi các sản phẩm yêu thích 25
Hình 4.7 UC Nhận thông báo 26
Hình 4.8 UC Thanh toán sản phẩm 26
Hình 4.9 UC Chỉnh sửa trang cá nhân 27
Hình 4.10 UC Nhắn tin 28
Hình 4.11 UC Đăng nhập, đăng xuất 28
Hình 4.12 UC Xem các sản phẩm đăng bán 29
Hình 4.13 UC Tìm kiếm sản phẩm 29
Hình 4.14 UC Bình luận sản phẩm 30
Hình 4.15 UC Xem trang cá nhân của người khác 30
Hình 4.16 UC Thêm sản phẩm vào giỏ hàng 31
Hình 4.17 UC Đấu giá sản phẩm 31
Hình 4.18 UC Theo dõi đơn hàng 32
Hình 4.19 Tổng quan mô hình hệ thống 33
Hình 4.20 Quy trình làm việc Gitflow Workflow 34
Trang 11Hình 4.21 Sơ đồ thiết kế dữ liệu 35
Hình 4.22 Sơ đồ các màn hình 39
Hình 4.23 Giao diện Màn hình chờ 42
Hình 4.24 Giao diện Màn hình đăng nhập 44
Hình 4.25 Giao diện Màn hình trang chủ 46
Hình 4.26 Giao diện Màn hình yêu thích 48
Hình 4.27 Giao diện Màn hình thông báo 50
Hình 4.28 Giao diện Màn hình cá nhân 52
Hình 4.29 Giao diện Màn hình tìm kiếm 54
Hình 4.30 Giao diện Màn hình giỏ hàng 56
Hình 4.31 Giao diện Màn hình chi tiết sản phẩm 58
Hình 4.32 Giao diện Màn hình người bán 61
Hình 4.33 Giao diện Màn hình xác nhận 63
Hình 4.34 Giao diện Màn hình giao dịch thành công 65
Hình 4.35 (Ac.D) Sơ đồ thêm sản phẩm vào giỏ hàng và order sản phẩm 67
Hình 4.36 (St.D) Sơ đồ thêm sản phẩm vào giỏ hàng và order sản phẩm 68
Hình 4.37 (Se.D) Sơ đồ thêm sản phẩm vào giỏ hàng và order sản phẩm 68
Trang 12CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
Trong thời đại 4.0 hiện nay đã giúp ích được rất nhiều cho con người trong đời sống xã hội, trong công việc kinh doanh buôn bán, trao đổi Chỉ cần tạo lập tài khoản, đăng sản phẩm cần bán hoặc trao đổi thì có thể thực hiện được việc trao đổi mua bán ngay
Nhận thấy hầu hết các bạn sinh viên khi đã học xong môn hoặc ra trường thì có nhiều sách
vở, đồ dùng không cần dùng nữa nên vứt đi hoặc không biết cho người khác ở đâu
Vì thế, nhu cầu cần có một ứng dụng dùng để mua bán, trao đổi đồ dùng học tập, các khoá học để phục vụ cho nhu cầu của các bạn sinh viên
Đối tượng trong phạm vi đề tài hướng đến:
Những sinh viên trong khu vực Làng Đại học có nhu cầu đóng góp hoặc trao đổi đồ dùng học tập, những khoá học
- Giao diện đơn giản, dễ sử dụng
- Bỏ các tính năng thừa
- Cải thiện hiệu năng cho ứng dụng
- Có thể trao đổi, mua bán đồ dùng trên ứng dụng một cách dễ dàng
- Tìm hiểu và đánh giá các giải pháp hiện có
- Tìm hiểu quy trình thực hiện của các app liên quan
- Đề xuất, cải thiện các tính năng cần thiết
- Tham khảo ý kiến của giáo viên hướng dẫn để có những định hướng tốt nhất
- Phân tích và thiết kế hệ thống
- Xây dựng ứng dụng
- Kiểm thử, triển khai và đánh giá kết quả
- Hoàn thành ứng dụng với đầy đủ các yêu cầu và chức năng đề ra
- Giao diện trẻ trung, thân thiện và mang lại cảm giác tốt nhất cho người dùng
- Ứng dụng có độ hoàn thiện cao, có khả năng đưa vào thực tiễn
Trang 13nhữ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 được phát triển nhằm giải quyết bài toán thường gặp trong mobile là Fast
Development và Native Performance Nếu như React Native chỉ đảm bảo Fast
Development và code native thuần chỉ đảm bảo Native Performance thì Flutter
làm được cả 2 điều trên
Hình 2.1 Flutter
2.1.2 Lý do chọn Flutter:
- Các ứng dụng được xây dựng với Flutter hầu như không thể phân biệt với những ứng dụng được xây dựng bằng cách sử dụng Android SDK, cả về giao diện và hiệu suất Hơn nữa, với những tinh chỉnh nhỏ, chúng có thể chạy trên thiết bị iOS
- Phát triển nhanh chóng: Tính năng hot reload của nó giúp bạn nhanh chóng và dễ dàng trải nghiệm, xây dựng hệ thống người dùng, thêm tính năng và sửa lỗi nhanh hơn
- UI đẹp và biểu cảm: Thoả mãn người dùng của bạn với các widget built-in đẹp mắt theo Material Design và Cupertino (IOS-Flavor), các API chuyển động phong phú
2.2.1 Khái niệm:
Trang 14NodeJS: NodeJS là một nền tảng (Platform) phát triển độc lập được xây dựng ở trên Javascript
Runtime của Chrome mà chúng ta có thể xây dựng được các ứng dụng mạng một cách nhanh chóng và dễ dàng mở rộng
- Nodejs tạo ra được các ứng dụng có tốc độ xử lý nhanh, realtime thời gian thực
- Nodejs chạy đa nền tảng phía Server, sử dụng kiến trúc hướng sự kiện Event-driven, cơ chế non-blocking I/O làm cho nó nhẹ và hiệu quả
MongoDB:
- Do MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một collection sẽ có các kích cỡ và các document khác nhau, linh hoạt trong việc lưu trữ dữ liệu,
- Khi có một truy vấn dữ liệu, bản ghi được cached lên bộ nhớ Ram, để phục vụ lượt truy vấn sau diễn ra nhanh hơn mà không cần phải đọc từ ổ cứng
- Hiệu năng cao: Tốc độ truy vấn (find, update, insert, delete) của MongoDB nhanh hơn hẳn so với các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS)
Firebase Authentication là chức năng dùng để xác thực người dùng bằng Password, số điện thoại hoặc tài khoản Google, Facebook hay Twitter, v.v Đồng thời cũng xác thực nặc danh
Trang 15cho các ứng dụng Hoạt động xác thực có thể giúp thông tin cá nhân của người sử dụng được
an toàn và đảm bảo không bị đánh cắp tài khoản
Firebase Authentication giúp thực hiện việc chia sẻ ID giữa các ứng dụng, giúp người dùng
Cloud Firestore là một cloud-hosted, NoSQL database mà các ứng dụng phía client có thể trực tiếp truy cập thông qua native SDKs Nó lưu dữ liệu theo mô hình dữ liệu NoSQL Dữ liệu được lưu trữ trong các file tài liệu chứa các trường được ánh xạ vào các giá trị Các file tài liệu này được lưu trữ trong các tập hợp chúng có thể sử dụng nó để tổ chức dữ liệu và truy vấn dữ liệu Cloud Firestore hỗ trợ rất nhiều kiểu dữ liệu từ đơn giản như String, Integer hay những kiểu dữ liệu phức tạp như các nested object
Trang 16Hình 2.4 Cloud Firestore
2.4.2 Lý do chọn Cloud Firestore:
- Sự ổn định và hiệu năng: Dữ liệu của bạn được đặt ở nhiều nơi để đảm bảo tính mở rộng
và độ tin cậy cao
- Khả năng mở rộng: Việc mở rộng này là hoàn toàn tự động, vậy nên bạn sẽ không cần phải quan tâm đến việc dữ liệu của mình lưu trữ theo nhiều phiên bản
- Bảo mật: bảo mật đơn giản và mạnh mẽ cho SDK di động, web và server: SDK trên thiết bị di động và web sử dụng các quy tắc bảo mật của Cloud Firestore
Lợi ích khi sử dụng Github:
- Quản lý source code dễ dàng
- Tracking sự thay đổi qua các version
- Giúp cải thiện kỹ năng code, thậm chí là tracking bug
- Mở rộng mối quan hệ
Trang 17Hình 2.5 Github
2.6.1 Khái niệm:
Trello là một phần mềm quản lý công việc, dự án được nhiều người sử dụng Bạn có thể
sử dụng nó để sắp xếp các thẻ ghim vào trong các danh sách khác nhau Các thẻ ghim đó có thể là nhiệm vụ, ghi chú, dự án, file chia sẻ hoặc bất cứ những gì khác giúp nhóm của bạn hoạt động “teamwork” tốt hơn Nguyên tắc hoạt động của Trello dựa vào ý tưởng đơn giản: giúp quản lý dự án hiệu quả, bạn cần phải có cái nhìn tổng quát nhất về tất cả các nhiệm vụ có liên quan và linh hoạt thay đổi chúng khi thứ tự ưu tiên giữa các nhiệm vụ khi chúng có sự thay đổi
Hình 2.6 Trello
2.6.2 Lý do chọn Trello:
- Đơn giản, dễ sử dụng
- Quản lý công việc một cách dễ dàng
- Miễn phí nhưng đầy đủ tính năng
Trang 18CHƯƠNG 3: HƯỚNG TIẾP CẬN
- Giao diện sinh động
- Nhiều tính năng tuỳ chỉnh cho người dùng
Ưu điểm:
- Dễ sử dụng
- Đa dạng các khoá học
- Kiếm thêm thu nhập nếu bạn là giảng viên
- Tương tác với giảng viên
- Được hàng triệu người tin cậy
Trang 19- Nhiều khoá học yêu cầu thanh toán
Trang 20Mục đích câu hỏi: Có thể biết được người dùng là nam hay nữ để áp dụng những màu sắc và
bố cục phù hợp với giới tính
Kết quả khảo sát: Người dùng ứng dụng mua hàng đa số là nữ, vì vậy nên áp dụng những
thiết kế mềm mại và màu sắc tươi sáng
Câu 3: Tần suất mua hàng online của bạn?
Mục đích câu hỏi: Khảo sát tần suất sử dụng ứng dụng và kinh nghiệm người dùng
Kết quả khảo sát: 2-4 lần/tuần là kết quả khả quan để xây dựng ứng dụng, phù hợp với nhu
cầu người mua Từ đó cho thấy kinh nghiệm của người dùng khá cao để đưa ra ý kiến thiết kế
giao diện
Rút ra kinh nghiệm:
- Hạn chế, loại bỏ các PopUp chiếm diện tích màn hình, có thể thao tác nhầm gây ảnh hưởng đến trải nghiệm người dung
Trang 21- Giao diện kết hợp các nét bo tròn cạnh tạo độ mềm mại
- Thống nhất tông màu cho app, tạo nét đặc trưng riêng
- Các sản phẩm hiển thị ở trang chủ nên thiết kế tối giản, chỉ hiển thị các thông tin cần thiết, không lạm dụng các tag quảng cáo chiếm diện tích và rối mắt
- Thiết kế với các thao tác người dùng sử dụng quen thuộc để khách hàng không cần phải làm quen lại từ đầu
- Tối ưu không gian màn hình không để trống hoặc quá nhiều chi tiết ở bất cứ đâu
- Đa số người sử dụng ứng dụng chủ yếu là mua sắm nên các chức năng mua sắm sẻ được
ưu tiên hơn các chức năng đăng bán, chia sẻ sản phẩm
- Về phần backend, nhóm quyết định sử dụng nền tảng hiện đại là NodeJS, Express, MongoDB để có thể tương thích dể dàng với flutter đồng thời có thể tạo được cảm giác
sử dụng tốt nhất cho người dùng
- Vì đang trong giai đoạn phát triển, thử nghiệm, nên các hệ cơ sở dử liệu sẻ được phát triển trên các hệ dữ liệu miển phí như mongodb Atlass, Firebase
3.2.2 Định hướng mô hình phát triển:
Ứng dụng được phát triển để phục vụ cho việc mua bán, chia sẻ đồ dùng, khóa học cho các bạn sinh viên Mặt khác ứng dụng củng phải đủ đảm bảo các đặc thù của một mô hình B2B và các chức năng của một ứng dụng online Sản phẩm chưa được định hình cụ thể, đồng thời các chức năng liên tục thay đổi và phát triển theo thời gian Nên mô hình agile được nhóm sử dụng
để phát triển ứng dụng
Trang 22CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG
4.1.1 Chức năng cần có của ứng dụng:
Sản phẩm có các chức năng chính sau:
- Chỉnh sửa thông tin cá nhân, đăng bán các sản phẩm
- Lướt các mặt hàng, thêm các mặt hàng vào giỏ hàng, đặt mua và thanh toán các mặt hàng cần thiết
- Thông báo các thông tin cần thiết cho khách hàng (thông tin khuyến mãi, thông tin thanh toán, đặt mua hàng)
- Nhắn tin với người bán, người mua sản phẩm
- Quản lý các sản phẩm, đơn đặt hàng, các thông tin liên quan
- Đánh giá các sản phẩm, người dùng
- Tìm kiếm các sản phẩm (thông minh, không thông minh)
Hình 4.1 Sơ đồ phân rã chức năng
4.1.2 Đối tượng người dùng:
Đối tượng sử dụng ứng dụng được chia thành 4 nhóm chính (nhưng chủ đạo vẫn là 2 nhóm chính là người chia sẻ và nhận chia sẻ sản phẩm):
- Nhóm 1: Học sinh, sinh viên, giảng viên đã và đang tham gia sinh hoạt, sinh sống tại ký túc xá đại học quốc gia, các ký túc xá thuộc đại học quốc gia
Trang 23- Nhóm 2: Học sinh, sinh viên, giảng viên đã và đang tham gia hoạt động của đại học quốc gia Nhưng không tham gia sinh sống và sinh hoạt tại ký túc xá đại học quốc gia, các ký túc xá thuộc đại học quốc gia
- Nhóm 3: Các đối tượng người dùng không còn thuộc sự quản lý của đại học quốc gia hay những đối tượng người dùng tự do
- Nhóm 4: Quản trị viên, những người quản lý các vấn đề về người dùng, mặt hàng của ứng dụng
Đánh giá sự cần thiết của sự phân chia các đối tượng người dùng:
- Sự phân chia các đối tượng người dùng sẽ giúp ứng dụng dễ quản lý các chức năng phù hợp với từng đối tượng và giúp người dùng thoải mái hơn trong việc sử dụng ứng dụng
- Trado App là ứng dụng thực hiện theo mô hình B2B vì vậy vấn đề xác minh người dùng, quản lý sản phẩm, quản lý đơn hàng là một trong những vấn đề quan trọng trong một ứng dụng thực hiện theo mô hình B2B Việc phân chia các nhóm đối tượng theo sự quản
lý và theo giỏi của ký túc xá, đại học quốc gia, giúp cho ứng dụng có thể tiện lợi xác minh các người dùng theo từng giai đoạn ứng dụng
- Việc xác định 4 nhóm người dùng đã xác định rõ các giai đoạn phát triển của ứng dụng Tập trung phát triển đến các đối tượng sinh viên trong ký túc xá, làng đại học, sau đó phát triển rộng hơn
- Sự xuất hiện của nhóm 4 chủ yếu xuất phát từ nhu cầu ở giai đoạn sau của ứng dụng, khi ứng dụng phát triển, độ bảo mật và xác minh cần được đặt lên trên Nhưng hệ thống chưa thể đáp ứng được thì các quản trị viên được coi là một trong những giá trị cần quan tâm
4.1.3 Môi trường vận hành:
- Ứng dụng được cài đặt và xây dựng trên các thiết bị smartphone
- Hệ điều hành: Android và IOS
4.2.1 Yêu cầu chức năng:
Danh sách các yêu cầu chức năng:
Trang 241 Đăng ký ứng dụng BM1 QĐ1
2 Đăng giao dịch (mua bán, chia sẻ…) đồ
3 Lướt và mua sản phẩm theo trend BM3 QĐ3
4 Thêm sản phẩm vào mục yêu thích
5 Theo dõi các sản phẩm yêu thích
8 Chỉnh sửa trang cá nhân BM6
9 Nhắn tin với người bán, mua sản phẩm BM7
10 Đăng nhập, đăng xuất ứng dụng
Trang 2511 Xem các sản phẩm đăng bán, chia sẻ
14 Xem trang cá nhân người dùng
15 Thêm sản phẩm vào giỏ hàng BM3 QĐ3
17 Theo dõi đơn hàng
4.2.2 Danh sách các quy định và biểu mẫu:
- Biểu mẫu 1 và quy định 1:
QĐ1: Tên đăng nhập của người dùng không được phép trùng nhau
- Biểu mẫu 2 và quy định 2:
Trang 26QĐ2: Giảm giá không được quá 100%
- Biểu mẫu 3 và quy định 3:
Sản phẩm chọn:
QĐ3: Số lượng sản phẩm đặt không được vượt quá số lượng sản phẩm hiện có
- Biểu mẫu 4 và quy định 4:
Tên người dùng: Địa chỉ:
Trang 27Mô tả: Email:
- Biểu mẫu 7:
Tin nhắn hoặc bình luận:
- Quy định 6:
QĐ6: Các sản phẩm được đấu giá phải bán trên mức giá quy định và tuân theo các điều khoản trong luật đấu giá
4.2.3 Yêu cầu phi chức năng:
4.2.3.1 Yêu cầu tiến hoá:
1 Chỉnh sửa trang cá
nhân Thông tin cá nhân
Màn hình tra cứu thông tin cá
Trang 284 Thêm sản phẩm vào mục yêu thích Ngay lập
8 Chỉnh sửa trang cá nhân 1s - 3s
9 Nhắn tin với người bán, mua sản phẩm Ngay lập
tức
10 Đăng nhập, đăng xuất ứng dụng 2s - 3s
11 Xem các sản phẩm đăng bán, chia sẻ Ngay lập
tức
12 Tìm kiếm sản phẩm 2s - 3s
13 Bình luận sản phẩm 2s - 3s
14 Xem trang cá nhân người dùng 2s - 3s
15 Thêm sản phẩm vào giỏ hàng Ngay lập
tức
Trang 2916 Đấu giá sản phẩm 2s - 3s
17 Theo dõi đơn hàng 2s - 3s
4.2.3.3 Yêu cầu tiện dụng:
1 Đăng ký ứng dụng 1 phút hướng
dẫn
Dễ thao tác, dễ sử dụng các cử chỉ
2 Đăng giao dịch (mua bán, chia
sẻ…) đồ dùng
5 phút hướng dẫn
Dễ thao tác, dễ sử dụng các cử chỉ
3 Lướt và mua sản phẩm theo
trend
5 phút hướng dẫn
Dễ thao tác, dễ sử dụng các cử chỉ
4 Thêm sản phẩm vào mục yêu
thích
2 - 3 phút hướng dẫn
Dễ thao tác, dễ sử dụng các cử chỉ
5 Theo dõi các sản phẩm yêu
thích
2-3 phút hướng dẫn
Dễ thao tác, dễ sử dụng các cử chỉ
6 Nhận và gửi thông báo 1 phút hướng
dẫn
Dễ thao tác, dễ sử dụng các cử chỉ
7 Thanh toán sản phẩm 10-15 phút
hướng dẫn
Cần có kinh nghiệm, cần thời gian để trải nghiệm
Trang 308 Chỉnh sửa trang cá nhân 2-3 phút hướng
dẫn
Dễ thao tác, dễ sử dụng các cử chỉ
9 Nhắn tin với người bán, mua
sản phẩm
5-8 phút hướng dẫn
Cần có kinh nghiệm, cần thời gian để trải nghiệm
10 Đăng nhập, đăng xuất ứng
dụng
5-6 phút hướng dẫn
Cần có kinh nghiệm, cần thời gian để trải nghiệm
11 Xem các sản phẩm đăng bán,
chia sẻ
10-15 phút hướng dẫn
Cần có kinh nghiệm, cần thời gian để trải nghiệm
12 Tìm kiếm sản phẩm 2-3 phút hướng
dẫn
Dễ thao tác, dễ sử dụng các cử chỉ
13 Bình luận sản phẩm 2-3 phút hướng
dẫn
Dễ thao tác, dễ sử dụng các cử chỉ
14 Xem trang cá nhân người dùng 2-5 phút hướng
dẫn
Dễ thao tác, dễ sử dụng các cử chỉ
15 Thêm sản phẩm vào giỏ hàng 2-3 phút hướng
dẫn
Dễ thao tác, dễ sử dụng các cử chỉ
Trang 31Primary Actor Use Cases
Người dùng (sinh viên KTX,… )
1 Đăng ký ứng dụng
2 Đăng giao dịch (mua bán, chia sẻ…) đồ dùng
3 Lướt và mua sản phẩm theo trend
4 Thêm sản phẩm vào mục yêu thích
5 Theo dõi các sản phẩm yêu thích
6 Nhận và gửi thông báo
7 Thanh toán sản phẩm
8 Chỉnh sửa trang cá nhân
9 Nhắn tin với người bán, mua sản phẩm
10 Đăng nhập, đăng xuất ứng dụng
11 Xem các sản phẩm đăng bán, chia sẻ
12 Tìm kiếm sản phẩm
13 Bình luận sản phẩm
14 Xem trang cá nhân người dùng
15 Thêm sản phẩm vào giỏ hàng
1 UC01 Đăng ký ứng dụng Usecase này mô tả các bước đăng ký của các actor
vào hệ thống
Trang 322 UC02
Đăng giao dịch (mua bán, chia sẻ…) đồ dùng
Usecase này mô tả các bước thực hiện bán đồ, chia
sẻ đồ của actor
3 UC03
Lướt và mua sản phẩm theo trend
Usecase này mô tả các bước người dùng thực hiện chức năng Trending của sản phẩm, dùng để tìm kiếm các sản phẩm nổi trội và các thao tác phụ đối với chức năng này
4 UC04 Thêm sản phẩm
vào mục yêu thích
Usecase này mô tả các bước người dùng thêm một sản phẩm vào mục ưa thích của mình (tiện cho việc theo giỏi giá cả và tình hình sản phẩm)
5 UC05
Theo dõi các sản phẩm yêu thích
Usecase này mô tả các bước thực hiện việc theo dõi các sản phẩm mà người dùng quan tâm sau khi theo các sản phẩm đó vào mục
Usecase này mô tả các bước để người dùng thực hiện thanh toán xác nhận sản phẩm
8 UC08 Chỉnh sửa trang cá
Trang 3310 UC10 Đăng nhập, đăng
Use case này mô tả người dùng muốn xem thông tin
cá nhân của người khác
15 UC15 Thêm sản phẩm
vào giỏ hàng Use case này mô tả thêm sản phẩm vào giỏ hàng
16 UC16 Đấu giá sản phẩm Use case này mô tả chức năng đấu giá sản phẩm
17 UC17 Theo dõi đơn hàng Use case này mô tả chức năng theo dõi đơn hàng
4.2.5 Đặc tả Usecase:
4.2.5.1 UC01: Đăng ký ứng dụng:
Trang 34Đối tượng sử dụng: Người mua đồ, người nhận đồ chia sẻ, người chia sẻ, người bán đồ dùng Usecase này mô tả các bước đăng ký của các actor vào hệ thống
Có 2 cách để thực hiện đăng ký với ứng dụng Trado:
- Cách 1: Đăng ký với ứng dụng thứ 3
• Vào ứng dụng Trado và thực hiện đăng ký bằng ứng dụng khác (các ứng dụng có hỗ trợ)
• Đăng nhập tài khoản ứng dụng khác
• Người dùng thực chờ hệ thống phản hồi nếu thành công sẻ thực hiện đăng nhập vào
hệ thống, đăng ký thất bại sẽ báo lỗi
- Cách 2: Đăng ký bằng cách thực hiện form
• Vào ứng dụng Trado và thực hiện đăng ký bình thường
• Thực hiện điền đầy đủ các form
• Thực hiện xác minh danh tính (bằng tin nhắn sms hay email)
• Người dùng ấn nút tạo tài khoản
• Đợi hệ thống phản hồi nếu thành công sẻ thực hiện đăng nhập vào hệ thống, đăng ký thất bại sẽ báo lỗi
4.2.5.2 UC02: Đăng giao dịch (mua, bán, chia sẻ) đồ dùng:
Hình 4.3 UC Đăng giao dịch đồ dùng
Đối tượng người dùng: Người chia sẻ, người bán đồ dùng Usecase này mô tả các bước thực hiện bán đồ của actor
Các bước thực hiện:
Trang 35- Người dùng sau khi đăng nhập có thể vào trang cá nhân (hiển thị trên Navigator)
- Người dùng click vào mục đăng đồ giao dịch
- Ở đây sẻ có các mục giao dịch là bán đồ dùng và đấu đồ (bán đồ theo phương thức lấy giá cao nhất, tương tự đấu giá)
- Ở mỗi phương thức giao dịch khác nhau, người dùng sẽ có các form đăng nhập khác biệt (mô tả rõ trên sơ đồ usecase)
4.2.5.3 UC03: Lướt mua đồ dùng theo trend:
Hình 4.4 UC Lướt mua đồ dùng theo trend
Đối tượng người dùng: Người mua đồ , nhận đồ chia sẻ Usecase này mô tả các bước người
dùng thực hiện chức năng trending của sản phẩm, dùng để tìm kiếm các sản phẩm nổi trội và
các thao tác phụ đối với chức năng này
- Ở mục giỏ hàng người dùng sẽ hiểu rõ hơn ở usecase khác
- Người dùng click vào những hạng mục sản phẩm và có thể thao tác với chúng (các thao tác được hiển thị rõ trên sơ đồ)
4.2.5.4 UC04: Thêm sản phẩm vào danh sách yêu thích:
Trang 36Hình 4.5 UC Thêm sản phẩm vào danh sách yêu thích
Đối tượng người dùng: Người mua sản phẩm, nhận chia sẻ Usecase này mô tả các bước người dùng thêm một sản phẩm vào mục ưa thích của mình (tiện cho việc theo giỏi giá cả và tình hình sản phẩm)
Các bước thực hiện:
- Người dùng tìm kiếm mặt hàng, lướt các mặt hàng
- Người dùng click vào mục quan tâm của sản phẩm (có biểu tượng)
4.2.5.5 UC05: Theo dõi các sản phẩm yêu thích:
Hình 4.6 UC Theo dõi các sản phẩm yêu thích
Đối tượng người dùng: Người mua sản phẩm, nhận đồ chia sẻ Usecase này mô tả các bước thực hiện việc theo dõi các sản phẩm mà người dùng quan tâm sau khi theo các sản phẩm đó vào mục
Trang 38- Người dùng click vào giỏ mua hàng
- Chọn sản phẩm cần thanh toán
- Xác nhận các thông tin (địa chỉ, số điện thoại, chi phí phát sinh)
- Chọn phương thức thanh toán (ở đây có các hình thức khác yêu cầu người dùng thực hiện xác thực 3 bên)
- Người dùng xác thanh toán sản phẩm (mua sản phẩm)
4.2.5.8 UC08: Chỉnh sửa trang cá nhân:
Hình 4.9 UC Chỉnh sửa trang cá nhân
Đối tượng sử dụng: Người mua bán sản phẩm, nhận chia sẻ và chia sẻ đồ dùng Usecase này mô tả các bước người dùng thay đổi thông tin mô tả của mình bao gồm cả các sản phẩm
đã bán
Các bước thực hiện:
- Người dùng vào mục trang cá nhân
- Click vào mục sửa chữa thông tin cá nhân
- Thực hiện sửa chữa các form thông tin
- Lưu thông tin
- Với các bài bán củ người dùng có thể xác nhận hết hàng hay bình luận sản phẩm, xóa sản phẩm
4.2.5.9 UC09: Nhắn tin:
Trang 39Hình 4.10 UC Nhắn tin
Đối tượng sử dụng: Người mua bán sản phẩm, chia sẻ nhận chia sẻ đồ dùng Usecase này
mô tả các bước người dùng thực hiện trao đổi cùng nhau
Các bước thực hiện:
- Người dùng click vào mục tin nhắn hoặc phần tin nhắn của các sản phẩm
- Thực hiện chọn đoạn thoại cần nhắn tin
- Nhắn tin với người dùng khác
4.2.5.10 UC10: Đăng nhập, đăng xuất:
Hình 4.11 UC Đăng nhập, đăng xuất
Đối tượng sử dụng: Người dùng muốn sử dụng app Usecase này mô tả các bước người dùng thực hiện chức năng đăng nhập, đăng xuất
Các bước thực hiện:
Trang 40- Người dùng đăng nhập bằng bên thứ 3 hoặc đăng nhập bằng tài khoản đã đăng ký tại app Trado
- Đăng nhập thành công mới được sử dụng app
- Đăng xuất tài khoản
4.2.5.11 UC11: Xem các sản phẩm đăng bán:
Hình 4.12 UC Xem các sản phẩm đăng bán
Đối tượng sử dụng: Tất cả người dùng có tài khoản đăng nhập Usecase này mô tả người dùng xem các sản phẩm đăng bán
Các bước thực hiện:
- Các sản phẩm chỉ tồn tại khi người dùng đăng bán, chia sẻ hoặc đấu giá
- Sản phẩm được tìm thấy ở Trang chủ hoặc Trang tìm kiếm