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

Đồ án ứng dụng bán sách

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.95 MB, 67 trang )

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

ĐỒ ÁN 1
ỨNG DỤNG BÁN SÁCH

Giáo viên hướng dẫn: Thái Thụy Hàn Uyển
Sinh viên thực hiện: Vũ Bảo Châu – 20521128

TP. Hồ Chí Minh, tháng 06 năm 2023


LỜI CẢM ƠN
Lời đầu tiên 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 đã tạo điều kiện cho nhóm em có cơ hội
được thực hiện đồ án, hỗ trợ những thông tin cần thiết và giải đáp những thắc mắc cho
nhóm trong suốt quá trình thực hiện đề tài.
Vì kiến thức của 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 q trình thực hiện đồ án. Vì vậy nhóm em ln mong đợi nhận được những ý
kiến đóng góp q 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 em xin
chân thành cảm ơn cơ.
Nhóm thực hiện
Trường Đại học Công nghệ Thông tin, tháng 6 năm 2023

1


MỤC LỤC
I.



MỞ ĐẦU................................................................................................................ 5
1. Lý do chọn đề tài ............................................................................................... 5
2. Đối tượng hướng đến ......................................................................................... 5

II.

CƠ SỞ LÝ THUYẾT ............................................................................................. 7
1. Flutter ................................................................................................................. 7
1.1.

Tổng quan và lịch sử ............................................................................... 7

1.2.

Thành phần của Flutter ........................................................................... 7

1.3.

Một số đặc điểm nổi bật .......................................................................... 8

1.4.

Ưu và nhược điểm ................................................................................... 9

2. Ngôn ngữ lập trình Dart ..................................................................................... 9
2.1.

Tổng quan ............................................................................................... 9


2.2.

Tại sao Flutter chọn Dart? ....................................................................... 9

3. Hệ quản trị cơ sở dữ liệu Firebase ................................................................... 10
3.1.

Firebase là gì? ....................................................................................... 10

3.2.

Ưu điểm của Firebase ........................................................................... 11

3.3.

Nhược điểm của Firebase ...................................................................... 12

III. Xây dựng hệ thống ............................................................................................... 13
1. Tổng quan về hệ thống .................................................................................... 13
1.1.

Cơng nghệ sử dụng................................................................................ 13

1.2.

Kiến trúc hệ thống: Mơ hình Client – Sever ......................................... 13

1.3.

Kiến trúc ứng dụng: Bloc ...................................................................... 13


2. Mơ hình Use-case ............................................................................................ 14
2.1.

Sơ đồ Use-case ...................................................................................... 14

2.2.

Danh sách Use-case .............................................................................. 15

2.3.

Đặc tả Use-case ..................................................................................... 17
2


3. Mơ tả các màn hình.......................................................................................... 40
3.1.

Màn hình đăng nhập .............................................................................. 40

3.2.

Màn hình đăng ký ................................................................................. 41

3.3.

Màn hình quên mật khẩu ....................................................................... 42

3.4.


Màn hình trang chủ ............................................................................... 43

3.5.

Màn hình thơng báo .............................................................................. 44

3.6.

Màn hình giỏ hàng ................................................................................ 45

3.7.

Màn hình quản lý tài khoản ................................................................... 46

3.8.

Màn hình tìm kiếm ................................................................................ 47

3.9.

Màn hình kết quả tìm kiếm ................................................................... 48

3.10. Màn hình danh mục sản phẩm .............................................................. 49
3.11. Màn hình thơng tin sản phẩm ................................................................ 50
3.12. Màn hình thanh tốn đơn hàng.............................................................. 51
3.13. Màn hình đơn hàng của bạn .................................................................. 52
3.14. Màn hình đánh giá sản phẩm ................................................................ 53
3.15. Màn hình chỉnh sửa thơng tin................................................................ 54
3.16. Màn hình u thích ............................................................................... 55

3.17. Màn hình thay đổi địa chỉ ..................................................................... 56
3.18. Màn hình thay đổi mật khẩu ................................................................. 57
3.19. Màn hình chọn phương thức vận chuyển .............................................. 58
3.20. Màn hình chọn phương thức thanh toán ............................................... 59
4. Sơ đồ lớp .......................................................................................................... 60
5. Sơ đồ hoạt động ............................................................................................... 61
5.1.

Đăng nhập ............................................................................................. 61

5.2.

Đăng ký ................................................................................................. 62

3


5.3.

Tìm kiếm ............................................................................................... 63

5.4.

Đánh giá sản phẩm ................................................................................ 63

5.5.

Thanh tốn............................................................................................. 64

IV. Kết luận ................................................................................................................ 65

1. Kết quả đạt được .............................................................................................. 65
2. Ưu điểm ........................................................................................................... 65
3. Nhược điểm và giải pháp ................................................................................. 65

4


I.

MỞ ĐẦU
1. Lý do chọn đề tài
Trong thời đại công nghệ số, việc mua sắm trực tuyến đã trở nên phổ biến hơn bao

giờ hết. Các ứng dụng bán hàng trực tuyến như Lazada, Shopee, Tiki đã tạo ra một sức
ảnh hưởng lớn đến thói quen mua sắm của người tiêu dùng. Tuy nhiên, khi nói đến việc
mua sách trực tuyến, chưa có nhiều ứng dụng đáp ứng được nhu cầu của người đọc.
Với mục đích giải quyết vấn đề này, nhóm đồ án quyết định phát triển một ứng
dụng bán sách online trên nền tảng di động. Với ứng dụng này, người đọc sẽ có thể dễ
dàng tìm kiếm và mua được những quyển sách mình u thích mà không cần phải đến
tận cửa hàng. Đồng thời, ứng dụng cũng cung cấp cho người dùng những tính năng tiện
ích như đánh giá sản phẩm, gợi ý sách mới, và hỗ trợ thanh tốn trực tuyến an tồn và
nhanh chóng.
Với sự phát triển của công nghệ thông tin, chúng em tin rằng ứng dụng bán sách
online sẽ mang lại nhiều lợi ích cho cả người đọc và các nhà xuất bản. Chúng em hy
vọng rằng ứng dụng của chúng em sẽ đáp ứng được nhu cầu mua sắm sách của người
đọc và đóng góp vào việc phát triển ngành xuất bản trong thời đại số.
2. Đối tượng hướng đến
Nhóm đối tượng chủ yếu của ứng dụng là các tổ chức/cá nhân có và biết sử dụng
smart phone ở mọi độ tuổi từ 12 đến 60, cụ thể:
-


Những người yêu sách, thích đọc sách và muốn tiếp cận với những tác phẩm
mới nhất, phong phú và đa dạng.

-

Những người bận rộn, khơng có thời gian để đến các cửa hàng sách truyền
thống để mua sách.

-

Những người có nhu cầu mua sách nhanh chóng và tiện lợi, khơng phải tốn
thời gian đi lại.

-

Những người muốn tiết kiệm chi phí cho việc mua sách, đặc biệt là khi có sẵn
nhiều chương trình khuyến mãi và giảm giá trên ứng dụng.

-

Những người có nhu cầu mua sách tiếng Anh và các sách nước ngoài, nhưng
khơng dễ dàng tìm thấy ở các cửa hàng sách truyền thống.

5


Ứng dụng bán sách online trên di động sẽ cung cấp cho người dùng trải nghiệm
mua sắm sách trực tuyến dễ dàng và tiện lợi hơn bao giờ hết, với hàng ngàn cuốn sách
trong nhiều thể loại khác nhau và tính năng tìm kiếm thơng minh giúp người dùng tìm

kiếm sách một cách nhanh chóng và thuận tiện.

6


CƠ SỞ LÝ THUYẾT

II.

1. Flutter
1.1.

Tổng quan và lịch sử

Flutter là một bộ công cụ phát triển phần mềm mã nguồn mở được tạo ra bởi
Google – một trong những công ty cơng nghệ lớn nhất hành tinh. Nó được sử dụng với
mục đích phát triển các ứng dụng đa nền tảng cho Android, iOS, Linux, Windows,
MacOS và web chỉ từ một nền tảng mã duy nhất.
Flutter được giới thiệu lần đầu tiên vào năm 2015 và đến tháng 5, 2017 phiên bản
ổn định đầu tiên được ra mắt chính thức. Dù được ra mắt khá trễ nhưng Flutter đã và
đang phát triển mạnh mẽ, dần trở thành một đối thủ nặng ký đối với những cơng cụ hỗ
trợ lập trình đa nền tảng khác như React Native (Facebook), Xamarin (Microsoft)…
Tính đến thời điểm hiện tại Flutter đang là một trong những cơng cụ hỗ trợ lập
trình đa nền tảng được sử dụng nhiều nhất. Một số ứng dựng nổi tiếng được viết bằng
Flutter:

1.2.

Thành phần của Flutter


Flutter gồm có hai tầng chính là Engine và Framework:

7


-

Tầng engine chứa một thư viện đồ hoạ giúp render giao diện người dùng và
máy ảo Dart – môi trường để thực thi mã nguồn và biên dịch mã lệnh Dart.
Đây cũng chính là nơi thực hiện việc kết nối với hệ thống.

-

Tầng framework được viết bằng mã lệnh Dart, cung cấp các lớp, chức năng và
tiện ích (widget) được dùng để tạo ứng dụng Flutter. Lập trình viên sẽ sử dụng
chủ yếu tầng này để lập trình.

1.3.
-

Một số đặc điểm nổi bật

Fast Development: Tíng năng Hot Reload hoạt động trong milliseconds để
hiện thị giao diện tới bạn. Sử dụng tập hợp các widget có thể customizable để
xây dựng giao diện trong vài phút. Ngồi ra Hot Reload cịn giúp bạn thêm các
tính năng, fix bug tiết kiệm thời gian hơn mà không cần phải thông qua máy
ảo, máy android hoặc iOS.

-


Expressive and Flexible UI: Có rất nhiều các thành phần để xây dựng giao diện
của Flutter vô cùng đẹp mắt theo phong cách 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 ví dụ như scrolling, navigation, icons, font để cung cấp một hiệu năng
tốt nhất tới iOS và Android.

8


1.4.

Ưu và nhược điểm

Ưu điểm:
-

Flutter là một bộ open-source SDK, tức là nó hồn tồn miễn phí và “mở”
chính vì thế mà cộng đồng lập trình viên có thể cùng tham gia phát triển và
hồn thiện nó

-

Flutter cung cấp đầy đủ và đa dạng các tiện ích (widget) hỗ trợ nên lập trình
viên ít khi cần sự hỗ trợ từ thư viện của bên thứ ba cung cấp.

-


Hỗ trợ hot reload: Tính năng này cho phép thay đổi xuất hiện trực tiếp trên
ứng dụng mà không cần phải rebuild lại tồn bộ ứng dụng từ đó làm giảm thời
gian của lập trình viên và khiến việc xây dựng ứng dụng trở nên dễ dàng hơn

Nhược điểm:
-

Còn nhiều hạn chế khi phát triển các ứng dụng có các chức năng cần can thiệp
sâu vào phần cứng của thiết bị.

-

Kích thước ứng dụng khá lớn do Flutter hỗ trợ đa nền tảng nên hiển nhiên số
lượng file và mã nguồn cũng sẽ bị đội lên khá nhiều, tuy nhiên điều này đã
được Google cam kết sẽ cải thiện hơn trong tương lai.

-

Công nghệ cịn mới và vẫn chưa có q nhiều thư viện hỗ trợ, tuy nhiên thì
cộng đồng lập trình viên sử dụng Flutter đang ngày càng nhiều, chính vì thế
mà trong tương lai chắc chắn sẽ có thêm nhiều thư viện hỗ trợ tốt cho Flutter.

2. Ngơn ngữ lập trình Dart
2.1.
-

Tổng quan

Flutter sử dụng ngơn ngữ lập trình Dart. Ra đời từ năm 2011 và được phát triển

bởi Google, Dart được sử dụng để xây dựng các ứng dụng web, server, máy
tính để bàn và thiết bị di động.

-

Dart là ngơn ngữ lập trình đa mục đích ban đầu được phát triển bởi Google và
sau đó được Ecma (ECMA-408) phê chuẩn làm tiêu chuẩn.

-

Dart là một ngôn ngữ hướng đối tượng, được xác định theo lớp, với cơ chế
garbage-collected, sử dụng cú pháp kiểu C để dịch mã tùy ý sang JavaScript.
Nó hỗ trợ interface, mixin, abstract, generic, static typing và type safe.

2.2.

Tại sao Flutter chọn Dart?

9


-

Năng suất: Cú pháp Dart rõ ràng và súc tích, cơng cụ của nó đơn giản nhưng
mạnh mẽ. Type-safe giúp bạn xác định sớm các lỗi tinh tế. Dart có các thư
viện cốt lõi và một hệ sinh thái gồm hàng ngàn package.

-

Nhanh: Dart cung cấp tối ưu hóa việc biên dịch trước thời hạn để có được dự

đốn hiệu suất cao và khởi động nhanh trên các thiết bị di động và web.

-

Tính di động: Dart biên dịch thành mã ARM và x86, để các ứng dụng di động
của Dart có thể chạy tự nhiên trên iOS, Android và hơn thế nữa. Đối với các
ứng dụng web, chuyển mã từ Dart sang JavaScript.

-

Dễ học và sử dụng: Dart quen thuộc với nhiều nhà phát triển hiện có, nhờ vào
cú pháp và định hướng đối tượng không gây ngạc nhiên của nó. Nếu bạn đã
biết C++, C # hoặc Java, bạn có thể làm việc hiệu quả với Dart chỉ sau vài
ngày.

3. Hệ quản trị cơ sở dữ liệu Firebase
3.1.

Firebase là gì?

Firebase là một nền tảng phát triển ứng dụng di động và web dựa trên đám mây
(cloud-based), được cung cấp bởi Google. Firebase cung cấp một tập hợp các dịch vụ
và công cụ mạnh mẽ để phát triển ứng dụng di động và web nhanh chóng, hiệu quả và
dễ dàng. Với Firebase, người phát triển có thể tập trung vào việc xây dựng chức năng
và trải nghiệm người dùng mà không cần lo lắng về việc quản lý cơ sở hạ tầng phức tạp.
Firebase cung cấp một loạt các dịch vụ mạnh mẽ giúp phát triển và quản lý ứng
dụng. Dưới đây là một số dịch vụ chính của Firebase:
-

Firebase Realtime Database: Đây là một cơ sở dữ liệu thời gian thực (realtime) dựa trên JSON, cho phép lưu trữ và đồng bộ dữ liệu trên các thiết bị

người dùng một cách tự động. Realtime Database cho phép truy vấn dữ liệu
và cung cấp khả năng đồng bộ dữ liệu trực tiếp và tức thì giữa các thiết bị và
người dùng.

-

Firebase Authentication: Đây là dịch vụ xác thực người dùng, giúp quản lý
đăng nhập, đăng ký và xác thực người dùng thông qua nhiều phương thức như
email, số điện thoại, tài khoản Google, Facebook và Twitter. Firebase
Authentication cung cấp các tính năng bảo mật như xác minh email, quên mật
khẩu và xác thực hai bước.
10


-

Firebase Cloud Firestore: Đây là một cơ sở dữ liệu tài liệu (document-based)
linh hoạt và mở rộng, được lưu trữ trên đám mây. Firestore cho phép lưu trữ
và truy xuất dữ liệu theo cấu trúc tài liệu, và hỗ trợ tính năng truy vấn mạnh
mẽ để tìm kiếm, sắp xếp và lọc dữ liệu.

-

Firebase Storage: Đây là dịch vụ lưu trữ đám mây, cho phép người dùng lưu
trữ và quản lý các tệp tin như hình ảnh, video và tệp tin khác trên hạ tầng đám
mây của Firebase. Firebase Storage cung cấp khả năng tải lên và tải xuống dữ
liệu hiệu quả và đáng tin cậy.

-


Firebase Cloud Messaging: Đây là dịch vụ gửi thông báo đẩy (push
notification) tới các thiết bị di động. Firebase Cloud Messaging cho phép gửi
thông báo trực tiếp tới ứng dụng di động trên các nền tảng Android, iOS và
web, giúp tương tác với người dùng và thông báo tin tức, cập nhật và sự kiện
quan trọng.

-

Firebase Hosting: Đây là dịch vụ lưu trữ và phân phối ứng dụng web tĩnh trên
hạ tầng đám mây của Firebase. Firebase Hosting cung cấp khả năng triển khai
nhanh chóng và phân phối ứng dụng web cho người dùng trên tồn cầu, với
SSL miễn phí và CDN tích hợp.

Ngồi ra, Firebase còn cung cấp nhiều dịch vụ khác như Firebase Analytics (phân
tích ứng dụng), Firebase Performance Monitoring (theo dõi hiệu suất), Firebase Remote
Config (quản lý cấu hình từ xa), và Firebase Test Lab (kiểm thử ứng dụng di động). Tất
cả các dịch vụ này đều được tích hợp chặt chẽ với nhau và mang đến một nền tảng toàn
diện để xây dựng và quản lý ứng dụng di động và web.
3.2.

Ưu điểm của Firebase

Firebase mang đến nhiều ưu điểm hấp dẫn cho việc phát triển ứng dụng. Dưới đây
là một số ưu điểm quan trọng của Firebase:
-

Dễ sử dụng: Firebase cung cấp một giao diện đơn giản và dễ hiểu, cho phép
người phát triển dễ dàng tạo và quản lý các dịch vụ trong ứng dụng của mình.

-


Phát triển nhanh chóng: Firebase cung cấp một loạt các cơng cụ phát triển như
lưu trữ cơ sở dữ liệu, xác thực người dùng, thơng báo đẩy và phân tích, giúp
giảm thời gian phát triển và tăng tốc độ triển khai ứng dụng.

11


-

Tích hợp tốt: Firebase tích hợp một cách dễ dàng với nhiều nền tảng phát triển
và ngơn ngữ lập trình khác nhau như Android, iOS, web và Node.js. Điều này
cho phép người phát triển linh hoạt chọn lựa công nghệ và ngơn ngữ phù hợp
cho dự án của mình.

-

Độ tin cậy cao: Firebase được đặt trên cơ sở hạ tầng đám mây của Google, với
khả năng mở rộng linh hoạt và đáng tin cậy. Điều này giúp đảm bảo rằng ứng
dụng của bạn có thể xử lý được lưu lượng lớn người dùng và hoạt động ổn
định.

3.3.

Nhược điểm của Firebase

Mặc dù Firebase có nhiều ưu điểm, nhưng cũng tồn tại một số nhược điểm cần
xem xét:
-


Giới hạn miễn phí: Firebase cung cấp một gói miễn phí với các giới hạn về lưu
trữ, băng thông và các tài nguyên khác. Đối với các ứng dụng có quy mơ lớn,
việc sử dụng gói miễn phí có thể bị hạn chế, và bạn có thể phải nâng cấp lên
gói trả phí để đáp ứng nhu cầu của mình.

-

Khả năng tùy chỉnh hạn chế: Firebase cung cấp các dịch vụ tiêu chuẩn với các
tính năng sẵn có, tuy nhiên, việc tùy chỉnh cao hơn hoặc thay đổi các tính năng
có thể bị hạn chế. Điều này có thể gây khó khăn đối với những ứng dụng đòi
hỏi sự tùy biến cao hoặc yêu cầu tích hợp với các hệ thống sẵn có.

-

Phụ thuộc vào dịch vụ bên thứ ba: Một số tính năng của Firebase có thể phụ
thuộc vào các dịch vụ bên thứ ba như Google Cloud Platform và Google
Analytics. Điều này có thể tạo ra sự ràng buộc và phụ thuộc vào các nhà cung
cấp dịch vụ khác nhau, và khi có sự thay đổi từ phía nhà cung cấp, ứng dụng
của bạn có thể bị ảnh hưởng.

12


III.

Xây dựng hệ thống

1. Tổng quan về hệ thống
1.1.


Công nghệ sử dụng

-

Ngơn ngữ lập trình: Dart.

-

UI Framework: Flutter.

-

Database: Firebase.

-

IDE: Visual Studio Code và Android Studio.

-

Kiến trúc ứng dụng: Bloc.

1.2.
-

Kiến trúc hệ thống: Mơ hình Client – Sever

Client: Đại diện cho ứng dụng di động mà người dùng sử dụng để tương tác
với hệ thống. Client gửi yêu cầu đến server và nhận phản hồi từ server.


-

Server: Đại diện cho máy chủ chứa dữ liệu của ứng dụng (Ở đây là Firebase).
Server nhận và xử lý các yêu cầu liên quan đến đọc/ghi/xác thực dữ liệu từ
Client và trả về kết quả tương ứng.

1.3.

Kiến trúc ứng dụng: Bloc

Bloc (Business Logic Component) là một mơ hình quản lý trạng thái và luồng dữ
liệu trong ứng dụng Flutter. Nó giúp tách biệt logic kinh doanh và giao diện người dùng,
tạo ra một cách cấu trúc rõ ràng và dễ quản lý. Bloc xử lý các sự kiện và cập nhật trạng
thái tương ứng, đồng thời cập nhật giao diện người dùng dựa trên trạng thái mới.

13


Sử dụng thư viện bloc cho phép chúng ta tách ứng dụng thành ba lớp:
-

Data layer:
o Repository: Repository là lớp trung gian giữa data layer và business logic
layer. Nó cung cấp một giao diện dễ sử dụng để business logic layer tương
tác với dữ liệu. Repository xử lý việc truy xuất dữ liệu, lưu trữ và lấy dữ
liệu từ các nguồn khác nhau.
o Data Provider: Data Provider là lớp đảm nhiệm việc lấy dữ liệu từ các
nguồn bên ngoài như API hay cơ sở dữ liệu. Nó giao tiếp với Repository
để lấy và lưu trữ dữ liệu.


-

Business logic layer:
o Bloc: Bloc (Business Logic Component) là thành phần chính của business
logic layer. Nó nhận các sự kiện từ UI layer và xử lý chúng, từ đó cập nhật
trạng thái tương ứng. Bloc chứa các quy tắc và logic kinh doanh của ứng
dụng.

-

UI layer:
o Giao diện người dùng (UI): UI layer chịu trách nhiệm hiển thị giao diện
người dùng và xử lý tương tác người dùng. Nó hiển thị trạng thái hiện tại
do Bloc cung cấp và gửi các sự kiện tới Bloc dựa trên hành động của người
dùng.

2. Mơ hình Use-case
2.1.

Sơ đồ Use-case

14


2.2.
STT

Danh sách Use-case
Giải thích/Mơ tả


Tên use-case

1

Đăng nhập

Người dùng đăng nhập vào ứng dụng.

2

Đăng nhập với Google

Người dùng sử dụng tài khoản Google để đăng
nhập vào ứng dụng.

15


3

Đăng nhập với Facebook

Người dùng sử dụng tài khoản Facebook để đăng
nhập vào ứng dụng.

4

Đăng ký

Người dùng tạo tài khoản mới bằng email và mật

khẩu.

5

Quên mật khẩu

Lấy lại mật khẩu cho tài khoản đã đăng ký.

6

Xem danh mục sản phẩm Xem các sản phẩm được hiển thị theo từng danh
mục hoặc thể loại.

7

Sắp xếp sản phẩm

Hiển thị danh sách sản phẩm theo thứ tự nhất
định.

8

Tìm kiếm sản phẩm

Tìm kiếm sản phẩm thông qua tên tác phẩm/tác
giả.

9

Xem sản phẩm


Hiển thị các thơng tin chi tiết liên quan đến sản
phẩm.

u thích/Bỏ thích sản

Thêm sản phẩm vào danh sách yêu thích của tài

phẩm

khoản hoặc xóa khỏi danh sách nếu đã u thích.

11

Thêm vào giỏ hàng

Thêm sản phẩm vào giỏ hàng của tài khoản.

12

Mua ngay

Lập tức tạo một đơn hàng cho sản phẩm.

13

Xem đánh giá sản phẩm

Hiển thị các đánh giá từ người mua trước đó về


10

sản phẩm.
14

Lọc đánh giá

Lọc đánh giá theo số sao.

15

Quản lý tài khoản

Người dùng có thể thay đổi hoặc theo dõi một số
thông tin liên quan đến tài khoản.

16

17

Thay đổi thơng tin tài

Người dùng có thể thay đổi các thông tin như:

khoản

Tên, ảnh đại diện, số điện thoại, ngày sinh,…

Thay đổi mật khẩu


Người dùng thay một mật khẩu mới cho tài khoản
(Chỉ áp dụng cho tài khoản đăng ký qua ứng
dụng)

18

Xem danh sách sản phẩm Hiển thị danh sách sản phẩm đã thích của tài
u thích

khoản. Người dùng có thể xóa hoặc thêm vào giỏ
hàng.

16


19

Xem lịch sử mua hàng

Hiển thị danh sách đơn hàng đã hoàn thành.

20

Thêm địa chỉ

Hiển thị danh sách địa chỉ dùng để nhận hàng của
người dùng. Có thể thêm, thay đổi hoặc xóa địa
chỉ.

21


Giỏ hàng

Xem danh sách các sản phẩm và số lượng sản
phẩm trong giỏ hàng.

22

Xóa sản phẩm khỏi giỏ

Xóa sản phẩm khỏi giỏ hàng.

hàng
23

Người dùng thanh tốn đơn hàng của mình. Theo

Thanh tốn

các sản phẩm và số lượng đã chọn trong giỏ hàng.
24

Đổi phương thức thanh

Người dùng có thể đổi phương thức thanh toán.

toán
25

Đổi phương thức vận


Người dùng có thể đổi phương thức vận chuyển.

chuyển
26

Theo dõi đơn hàng

Người dùng có thể theo dõi đơn hàng của mình
theo từng trạng thái khác nhau.

27

Hủy đơn hàng

Người dùng hủy đơn hàng, đơn hàng chuyển sang
trạng thái đã hủy.

28

Xác nhận nhận hàng

Người dùng xác nhận đã nhận được hàng, đơn
hàng thành công và có thể đánh giá sản phẩm.

29

Xem chi tiết đơn hàng

Hiển thị thông tin chi tiết về đơn hàng.


30

Đánh giá sản phẩm

Người dùng đánh giá các sản phẩm mình đã mua.

31

Thông báo

Hiển thị thông báo của tài khoản.

32

Lọc thông báo

Lọc và hiển thị thơng báo theo tiêu chí nhất định.

33

Đánh dấu đã đọc

Đánh dấu tất cả thông báo là đã đọc.

2.3.

Đặc tả Use-case

2.3.1. Đăng nhập với email và mật khẩu

Use-case ID

UC1

Tên use-case

Đăng nhập với email và mật khẩu.

17


Mơ tả tóm tắt

Người dùng sử dụng email và mật khẩu đã đăng ký trong
ứng dụng để truy cập vào ứng dụng.

Người thực hiện

Người dùng.

Sự kiện kích hoạt

Khi khởi động ứng dụng.

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

Email và mật khẩu phải hợp lệ.
Thiết bị người dùng phải được kết nối internet.

Điều kiện kết quả


Người dùng đăng nhập thành công và ứng dụng điều
hướng đến màn hình trang chủ.

Kịch bản chính

1. Người dùng khởi động ứng dụng.
2. Người dùng nhập email, mật khẩu và bấm nút
Đăng nhập.
3. Hệ thống thực hiện xác thực tài khoản thành cơng
và điều hướng đến màn hình Trang chủ.

Kịch bản thay thế

-

Hệ thống xác thực tài khoản không thành công.

-

Người dùng nhập sai tài khoản, mật khẩu.
+ Thông báo cho người dùng, đăng nhập thất bại.

2.3.2. Đăng nhập với tài khoản Google
Use-case ID

UC2

Tên use-case


Đăng nhập với Google.

Mô tả tóm tắt

Người dùng sử dụng tài khoản Google để đăng nhập vào
ứng dụng.

Người thực hiện

Người dùng.

Sự kiện kích hoạt

Người dùng bấm vào nút Google.

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

Tài khoản Google phải hợp lệ.
Thiết bị người dùng phải được kết nối internet.

Điều kiện kết quả

Người dùng đăng nhập thành công và ứng dụng điều
hướng đến màn hình trang chủ.

Kịch bản chính

1. Người dùng bấm vào nút Google trên màn hình
Đăng nhập.


18


2. Người dùng chọn hoặc nhập thông tin tài khoản
Google.
3. Hệ thống thực hiện xác thực tài khoản thành công
và ứng dụng chuyển hướng đến màn hình Trang
chủ.
Kịch bản thay thế

-

Hệ thống xác thực tài khoản không thành công.

-

Người dùng nhập sai thông tin tài khoản Google.
+ Thông báo cho người dùng, đăng nhập thất bại.

2.3.3. Đăng nhập với tài khoản Facebook
Use-case ID

UC3

Tên use-case

Đăng nhập với Facebook.

Mơ tả tóm tắt


Người dùng sử dụng tài khoản Facebook để đăng nhập
vào ứng dụng.

Người thực hiện

Người dùng.

Sự kiện kích hoạt

Người dùng bấm vào nút Facebook.

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

Thiết bị người dùng phải được kết nối internet.

Điều kiện kết quả

Người dùng đăng nhập thành cơng và ứng dụng điều
hướng đến màn hình trang chủ.

Kịch bản chính

1. Người dùng bấm vào nút Facebook trên màn hình
Đăng nhập.
2. Người dùng chọn hoặc nhập thơng tin tài khoản
Facebook.
3. Hệ thống thực hiện xác thực tài khoản thành cơng
và ứng dụng chuyển hướng đến màn hình Trang
chủ.


Kịch bản thay thế

-

Hệ thống xác thực tài khoản không thành công.

-

Người dùng nhập sai thông tin tài khoản Facebook.
+ Thông báo cho người dùng, đăng nhập thất bại.

2.3.4. Đăng ký
19


Use-case ID

UC4

Tên use-case

Đăng ký

Mơ tả tóm tắt

Người dùng tạo tài khoản mới bằng email và mật khẩu
để truy cập vào hệ thống.

Người thực hiện


Người dùng.

Sự kiện kích hoạt

Người dùng bấm vào nút Đăng ký ngay.

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

Email và mật khẩu phải hợp lệ.
Thiết bị của người dùng phải được kết nối internet.

Điều kiện kết quả

Người dùng tạo tài khoản mới thành cơng và hệ thống
điều hướng đến màn hình trang chủ.

Kịch bản chính

1. Người điển thơng tin tài khoản mới cần tạo sau đó
bấm nút Đăng ký.
2. Hệ thống kiểm tra và xác thực tính hợp lệ của tài
khoản thành cơng.
3. Ứng dụng chuyển hướng đến màn hình Trang
chủ.

Kịch bản thay thế

-

Người dùng nhập thiếu thông tin, hoặc nhập sai mật

khẩu xác nhận.

-

Hệ thống kiểm tra và xác thực tài khoản thất bại.

-

Email đã được sử dụng hoặc mật khẩu quá yếu.
+ Thông báo cho người dùng, đăng ký thất bại.

2.3.5. Quên mật khẩu
Use-case ID

UC5

Tên use-case

Quên mật khẩu

Mô tả tóm tắt

Người dùng cần lấy lại mật khẩu cho tài khoản đăng ký
trong ứng dụng (tài khoản sử dụng email và mật khẩu).

Người thực hiện

Người dùng.

Sự kiện kích hoạt


Người dùng bấm vào nút Quên mật khẩu.

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

Thiết bị của người dùng phải được kết nối internet.

20


Điều kiện kết quả

Ứng dụng thông báo thành công và hệ thống gửi mail
khôi phục mật khẩu đến email của người dùng.

Kịch bản chính

1. Người dùng nhập email của tài khoản cần khôi
phục mật khẩu và bấm nút Khôi phục mật khẩu.
2. Hệ thống kiểm tra thông tin thành công và gửi
mail đến email của người dùng.

Kịch bản thay thế

-

Email bỏ trống hoặc không hợp lệ.

-


Emai người dùng cung cấp khơng tồn tại hoặc bị khóa
bởi hệ thống.
+ Thơng báo cho người dùng, dừng hành động.

2.3.6. Xem danh mục sản phẩm
Use-case ID

UC6

Tên use-case

Xem danh mục sản phẩm

Mơ tả tóm tắt

Hiển thị danh sách sản phẩm theo từng danh mục cụ thể.

Người thực hiện

Hệ thống.

Sự kiện kích hoạt

Người dùng bấm vào danh sách danh mục sản phẩm.

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

Thiết bị người dùng phải được kết nối internet.
Người dùng phải đăng nhập trước đó.


Điều kiện kết quả

Ứng dụng chuyển hướng đến trang danh mục sản phẩm
theo danh mục tương ứng.

Kịch bản chính

1. Người dùng bấm chọn danh mục bất kỳ trong
danh sách danh mục sản phẩm được hiển thị.
2. Ứng dụng chuyển hướng đến trang danh mục sản
phẩm tương ứng và hiển thị danh sách sản phẩm
của danh mục đó.

Kịch bản thay thế

Không.

2.3.7. Sắp xếp sản phẩm
Use-case ID

UC7

21


Tên use-case

Sắp xếp sản phẩm

Mơ tả tóm tắt


Hiển thị danh sách sản phẩm một cách có thứ tự theo một
tiêu chí nhất định.

Người thực hiện

Người dùng.

Sự kiện kích hoạt

Người dùng bấm vào dropdown button và chọn tiêu chí
sắp xếp thích hợp.

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

Thiết bị người dùng phải được kết nối internet.
Người dùng phải đăng nhập trước đó.

Điều kiện kết quả

Ứng dụng hiển thị danh sách sản phẩm theo thứ tự và
tiêu chí mà người dùng chọn.

Kịch bản chính

1. Người dùng bấm chọn hình thức sắp xếp.
2. Ứng dụng hiển thị lại danh sách sản phẩm theo
thứ tự và tiêu chí người dùng đã chọn.

Kịch bản thay thế


Khơng.

2.3.8. Tìm kiếm sản phẩm
Use-case ID

UC8

Tên use-case

Tìm kiếm sản phẩm

Mơ tả tóm tắt

Người dùng tìm kiếm sản phẩm theo tên của sản phẩm
hoặc tác giả.

Người thực hiện

Người dùng.

Sự kiện kích hoạt

Người dùng bấm vào thanh tim kiếm.

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

Thiết bị người dùng phải được kết nối internet.
Người dùng phải đăng nhập trước đó.
Nội dung tìm kiếm khơng được trống.


Điều kiện kết quả

Ứng dụng hiển thị danh sách sản phẩm là kết quả phù
hợp với nội dung tìm kiếm của người dùng.

Kịch bản chính

1. Người dùng nhập từ khóa vào thanh tìm kiếm và
bấm nút Tìm. Hoặc chọn trong danh sách các từ
khóa được tìm kiếm trước đây.

22


2. Ứng dụng hiển thị danh sách các sản phẩm phù
hợp với từ khóa.
Kịch bản thay thế

Khơng.

2.3.9. Xem sản phẩm
Use-case ID

UC9

Tên use-case

Xem thơng tin sản phẩm


Mơ tả tóm tắt

Người dùng xem thông tin chi tiết của sản phẩm.

Người thực hiện

Người dùng.

Sự kiện kích hoạt

Người dùng bấm vào sản phẩm.

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

Thiết bị người dùng phải được kết nối internet.
Người dùng phải đăng nhập trước đó.

Điều kiện kết quả

Ứng dụng chuyển hướng đến màn hình chi tiết của sản
phẩm và hiển thị thông tin của sản phẩm tương ứng.

Kịch bản chính

1. Người dùng bấm chọn vào sản phẩm muốn xem.
2. Ứng dụng chuyển hướng đến màn hình Chi tiết
sản phẩm.

Kịch bản thay thế


Khơng.

2.3.10. u thích/Bỏ thích sản phẩm
Use-case ID

UC10

Tên use-case

u thích/Bỏ thích sản phẩm.

Mơ tả tóm tắt

Người dùng thêm sản phẩm vào danh sách yêu thích
hoặc bỏ thích sản phẩm.

Người thực hiện

Người dùng.

Sự kiện kích hoạt

Người dùng bấm vào Icon button trái tim ở góc phải trên
của màn hình Chi tiết sản phẩm.

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

Thiết bị người dùng phải được kết nối internet.
Người dùng phải đăng nhập trước đó.


23


Điều kiện kết quả

Sản phẩm được thêm vào danh sách u thích (nếu chưa
có) hoặc loại bỏ khỏi danh sách (nếu đã có).

Kịch bản chính

1. Người dùng bấm vào Icon button yêu thích.
2. Hệ thống thực hiện kiểm tra và thêm/xóa sản
phẩm khỏi danh sách u thích của người dùng.

Kịch bản thay thế

Không.

2.3.11. Thêm vào giỏ hàng
Use-case ID

UC11

Tên use-case

Thêm vào giỏ hàng

Mơ tả tóm tắt

Người dùng thêm sản phẩm vào giỏ hàng.


Người thực hiện

Người dùng.

Sự kiện kích hoạt

Người dùng bấm vào nút Thêm vào giỏ hàng trong màn
hình Chi tiết sản phẩm.

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

Thiết bị người dùng phải được kết nối internet.
Người dùng phải đăng nhập trước đó.

Điều kiện kết quả
Kịch bản chính

Sản phẩm được thêm vào giỏ hàng của người dùng.
1. Người dùng bấm vào nút Thêm vào giỏ hàng
trong màn hình Chi tiết sản phẩm.
2. Hệ thống thêm sản phẩm vào giỏ hàng của người
dùng với số lượng ban đầu là 1.

Kịch bản thay thế

Không.

2.3.12. Mua ngay
Use-case ID


UC12

Tên use-case

Mua ngay.

Mơ tả tóm tắt

Người dùng chọn mua ngay một sản phẩm từ trang Chi
tiết sản phẩm.

Người thực hiện

Người dùng.

24


×