đồ án phát triển ứng dụng di động quản lý cửa hàng bán sách

92 0 0
Tài liệu đã được kiểm tra trùng lặp
đồ án phát triển ứng dụng di động quản lý cửa hàng bán sách

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 2

PHÁT TRIỂN ỨNG DỤNG DI ĐỘNGQUẢN LÝ CỬA HÀNG BÁN SÁCH

GV HƯỚNG DẪN: ThS Trần Thị Hồng YếnSV THỰC HIỆN: Vũ Bảo Châu – 20521128

TP HỒ CHÍ MINH, 2024

Trang 3

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ô Trần ThịHồng Yến - giảng viên hướng dẫn môn Đồ án 2 đã tạo điều kiện cho 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 chonhó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óttrong quá trình thực hiện đồ án Vì vậy em luôn mong đợi nhận được những ý kiếnđóng góp quý báu từ phía giảng viên để qua đó có thể rút kinh nghiệm, tự sửa chữa,hoà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 emxin chân thành cảm ơn cô.

Trường Đại học Công nghệ Thông tin, tháng 01 năm 2024

Sinh viên thực hiện

Vũ Bảo Châu

Trang 4

2.2.2 Tại sao Flutter chọn Dart? 16

2.3 Hệ quản trị cơ sở dữ liệu Firebase 16

2.3.1 Firebase là gì? 16

2.3.2 Ưu điểm của Firebase 17

Trang 5

3.2 Sơ đồ Use-case 21

3.2.1 Sơ đồ Use-case mức tổng quát 21

3.2.2 Sơ đồ Use-case Quản lý sản phẩm 21

3.2.3 Sơ đồ Use-case Quản lý khách hàng 22

3.2.4 Sơ đồ Use-case Quản lý đơn hàng 22

3.2.5 Sơ đồ Use-case Quản lý bình luận 22

3.2.6 Sơ đồ Use-case Nhập hàng 23

3.2.7 Sơ đồ Use-case Thống kê 23

3.2.8 Sơ đồ Use-case Báo cáo vi phạm 23

Trang 7

Hình 3.3 Sơ đồ use-case mức tổng quát 21

Hình 3.4 Sơ đồ use-case Quản lý sản phẩm 21

Hình 3.5 Sơ đồ use-case Quản lý khách hàng 22

Hình 3.6 Sơ đồ use-case Quản lý đơn hàng 22

Hình 3.7 Sơ đồ use-case Quản lý bình luận 22

Hình 3.8 Sơ đồ use-case Nhập hàng 23

Hình 3.9 Sơ đồ use-case Thống kê 23

Hình 3.10 Sơ đồ use-case Báo cáo vi phạm 23

Trang 8

Hình 4.12 Màn hình Theo dõi đơn hàng 73

Trang 9

Bảng 3.5 Đặc tả use-case Cập nhật thông tin sản phẩm 28

Bảng 3.6 Đặc tả use-case Cập nhật giá và khuyến mãi 29

Bảng 3.7 Đặc tả use-case Xem thông tin chi tiết sản phẩm 30

Bảng 3.8 Đặc tả use-case Xem tất cả khách hàng 31

Bảng 3.9 Đặc tả use-case Xem thông tin chi tiết khách hàng 32

Bảng 3.10 Đặc tả use-case Xem lịch sử mua hàng của khách hàng 33

Bảng 3.11 Đặc tả use-case Xem danh sách đơn hàng chưa duyệt 34

Bảng 3.12 Đặc tả use-case Theo dõi đơn hàng 35

Bảng 3.13 Đặc tả use-case Xem thông tin chi tiết đơn hàng 36

Bảng 3.14 Đặc tả use-case Cập nhật trạng thái đơn hàng 37

Bảng 3.15 Đặc tả use-case Xem các bình luận mới 38

Bảng 3.16 Đặc tả use-case Ẩn bình luận 39

Bảng 3.17 Đặc tả use-case Phản hồi bình luận 40

Bảng 3.18 Đặc tả use-case Thích bình luận 41

Bảng 3.19 Đặc tả use-case Xem các bình luận bị ẩn 42

Bảng 3.20 Đặc tả use-case Khôi phục bình luận 43

Bảng 3.21 Đặc tả use-case Nhập hàng 44

Bảng 3.22 Đặc tả use-case Xem lịch sử nhập hàng 45

Bảng 3.23 Đặc tả use-case Xem chi tiết đơn nhập 46

Bảng 3.24 Đặc tả use-case Xem thống kê tháng 47

Trang 10

Bảng 3.25 Đặc tả use-case Xem doanh số 48

Bảng 3.26 Đặc tả use-case Xem báo cáo vi phạm 49

Bảng 3.27 Đặc tả use-case Bỏ qua báo cáo 50

Trang 11

TÓM TẮT ĐỒ ÁN

Đề tài đồ án “Phát triển ứng dụng di động quản lý cửa hàng bán sách” được lênkế hoạch thực hiện trong vòng 6 tháng Với mục tiêu là tìm hiểu đề tài, các công nghệliên quan để xây dựng được một ứng dụng hoàn chỉnh với các chức năng mục tiêu đềura.

Đồ án mang đến một ứng dụng di động bao gồm các tính năng cơ bản, mở ra mộtcách thức tiếp cận đến việc số hóa hoạt động cửa hàng bán sách cho các chủ cửa hàngkinh doanh nhỏ lẻ, giúp việc quản lý giờ đây trở nên dễ dàng hơn.

Ứng dụng được xây dựng trên nền tảng Android, sử dụng các công nghệ phổ biếnnhư Flutter và Firebase.

Báo cáo này gồm các phần:

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI: Xác định lí do, mục tiêu của đề tài, đối

tượng, phạm vi nghiên cứu, phân tích đánh giá và đưa ra hướng giải quyết.

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT: Giới thiệu các công nghệ, kỹ thuật được

sử dụng trong đồ án.

CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ: Phân tích yêu cầu, sơ đồ use case, mô

tả sơ đồ use case và thiết kế cơ sở dữ liệu cho ứng dụng.

CHƯƠNG 4 XÂY DỰNG ỨNG DỤNG: Xây dựng ứng dụng thông qua danh

sách các màn hình và mô tả chi tiết

Trang 12

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1.Lý do chọn đề tài

Dưới sự số hóa, mọi hoạt động của con người giờ đây đều trở nên đơn giản và dễdàng hơn Công nghệ thông tin đã góp phần không nhỏ vào triệc cải thiện chất lượngcuộc sống của chúng ta, đáng kể đến nhất đó là lĩnh vực thương mại Việc chuyển dịchtừ phương thức buôn bán cổ điển sang buôn bán online đã làm bùng nổ ngành côngnghiệp thương mại điện tử, việc trao đổi mua bán giờ đây có thể trở nên dễ dàng bất kểkhoảng cách địa lý

Sự phát triển nhanh chóng của các sàn thương mại điện tử lớn như Taobao,Alibaba, Shoppe, Lazada, Tiki,… là một minh chứng rõ ràng cho sự ưu việt của côngnghệ thông tin trong lĩnh vực thương mại điện tử Tuy nhiên, nó cũng là một trở ngạivà khó khăn đối với các cửa hàng kinh doanh theo phương thức truyền thống, khi cáchkinh doanh cổ điển trở nên lép vế hơn khi đặt cạnh các sàn thương mại điện tử.

Cùng với đó, công nghệ cũng là một công cụ mạnh mẽ hỗ trợ con người thựchiện các thao tác quản lý cơ bản đến phức tạp Việc tính toán, lưu trữ cũng như theodõi giờ đây trở nên dễ dàng, nhanh chóng, chính xác hơn khi có sự hỗ trợ của côngnghệ thông tin.

Nắm được điều đó, Ứng dụng cửa hàng bán sách online (được làm ở đồ án 1) vàỨng dụng di động quản lý cửa hàng bán sách online (đồ án hiện tại) được tạo ra nhằmmang lại một cách thức dễ dàng và hiệu quả cho những cửa hàng bán sách muốn sốhóa hoạt động của mình.

Ứng dụng di động quản lý cửa hàng bán sách online mang đến một cách thức

Trang 13

- Cập nhật, điều chỉnh danh sách sản phẩm trong cửa hàng.- Phê duyệt đơn hàng, theo dõi tình trạng đơn hàng.

- Quản lý thông tin khách hàng, lịch sử mua hàng của khách hàng.- Phê duyệt, ẩn đánh giá của khách hàng.

- Tương tác (like, phản hồi) đánh giá của khách hàng.

- Hỗ trợ thống kê doanh thu, doanh số của cửa hàng, số lượng đơn hàng.- Lưu trữ dữ liệu lịch sử các lần nhập hàng.

- Xử lý báo cáo vi phạm của khách hàng.1.3.Đối tượng hướng đến

Khách hàng: những người có nhu cầu mua sách online, sử dụng ứng dụng cửa

hàng bán sách online.

Quản trị viên: là chủ cửa hàng hoặc người nắm quyền quản lý cửa hàng, sử

dụng ứng dụng quản lý để tương tác với khách hàng qua các thao tác quản lý khácnhau.

1.4.Phạm vi ứng dụngNền tảng: Mobile (Android)

Chức năng tạo mới: Phát triển ứng dụng quản lý cho chủ cửa hàng gồm các

chức năng:

- Quản lý sản phẩm: Cho phép Quản trị viên xem được danh sách sản phẩm

hiện có, thêm sản phẩm mới vào cửa hàng, cập nhật thông tin của sản phẩm,chỉnh sửa giá, mức giảm giá cho sản phẩm Xem đánh giá, lượt mua của sảnphẩm bất kỳ.

- Quản lý đơn hàng: Cho phép Quản trị viên xem danh sách đơn hàng theo

từng trạng thái (chờ duyệt, đã xác nhận, đang chuẩn bị, đang vận chuyển, đãxong, đã hủy), cũng như thao tác phê duyệt đơn hàng, hủy đơn hàng, cậpnhật trạng thái của đơn hàng Trích xuất thống kê nhanh về tỷ lệ hoàn thànhcủa đơn hàng theo tháng.

- Quản lý đánh giá: Quản trị viên có thể tương tác với các đánh giá từ khách

hàng (thích, phản hồi), hoặc ẩn đi những đánh giá không phù hợp với tiêuchuẩn cộng đồng, sai phạm,…

Trang 14

- Quản lý khách hàng: Quản trị viên xem được danh sách khách hàng của cửa

hàng, thông tin chi tiết của từng người, danh sách đơn hàng hiện có củakhách hàng cũng như lịch sử mua hàng của người đó Hỗ trợ thống kê nhanhvề tần suất mua hàng của khách hàng trong năm.

- Nhập hàng: Cho phép chủ cửa hàng (quản trị viên) lưu trữ dữ liệu các lần

nhập hàng vào hệ thống, xem lại lịch sử nhập hàng cũng như chi tiết của từnglần nhập.

- Thống kê: Trực quan hóa báo cáo về doanh thu, đơn hàng cũng như doanh số

của cửa hàng dưới dạng biểu đồ Ngoài ra còn có các thông tin phụ liên quankhác.

- Báo cáo vi phạm: Quản trị viên xem danh sách các báo cáo vi phạm của

người dùng về các bình luận, đánh giá về sản phẩm Thực hiện xử lý vi phạmbằng cách ẩn những bình luận không phù hợp.

- Thông báo: Quản trị viên nhận được thông báo mỗi khi khách hàng tạo đơn

hàng, nhận đơn hoặc hủy đơn.

Trang 15

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.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ởiGoogle – một trong những công ty công nghệ lớn nhất hành tinh Nó được sử dụng vớimụ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ậptrì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ằngFlutter:

Hình 2.1 Một số ứng dụng viêt bằng Flutter

2.1.2 Thành phần của Flutter

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

Trang 16

- 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.

Hình 2.2 Thành phần của Flutter

2.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 Ngoài ra Hot Reload còn giúp bạn thêm

Trang 17

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

Ưu điểm:

- Flutter là một bộ open-source SDK, tức là nó hoàn toà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àhoà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 toàn bộ ứng dụng từ đó làm giảmthờ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ànghơ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ó quá 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.2.Ngôn ngữ lập trình Dart2.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.2 Tại sao Flutter chọn Dart?

Trang 18

- 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ự

đoá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 Đốivớ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àingày.

2.3.Hệ quản trị cơ sở dữ liệu Firebase2.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ăngvà 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ứctạ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ý ứngdụ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 (real-time)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

Trang 19

Firebase Cloud Firestore: Đây là một cơ sở dữ liệu tài liệu (document-based) linhhoạt và mở rộng, được lưu trữ trên đám mây Firestore cho phép lưu trữ và truy xuấtdữ 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ắpxế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ủaFirebase 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ườidù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 nhanhchóng và phân phối ứng dụng web cho người dùng trên toàn cầu, với SSL miễn phí vàCDN tích hợp.

Ngoà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), FirebaseRemote 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ộtnền tảng toàn diện để xây dựng và quản lý ứng dụng di động và web.

2.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épngườ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ờigian phát triển và tăng tốc độ triển khai ứng dụng

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

Trang 20

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ủamình

Độ tin cậy cao: Firebase được đặt trên cơ sở hạ tầng đám mây của Google, vớikhả 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ụngcủa bạn có thể xử lý được lưu lượng lớn người dùng và hoạt động ổn định.

2.3.2 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ầnxem 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ấplê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ínhnăng có thể bị hạn chế Điều này có thể gây khó khăn đối với những ứngdụ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à GoogleAnalytics Đ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, ứngdụng của bạn có thể bị ảnh hưởng.

Trang 21

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ

3.1.Tổng quan về hệ thống3.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.

3.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.

Hình 3.1 Mô ình Client-Server với Firebase

3.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ườidù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

Trang 22

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áimới.

Hình 3.2 Kiến trúc Bloc

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ươngtá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 kinhdoanh của ứng dụng

- UI layer:

Trang 23

3.2.Sơ đồ Use-case

3.2.1 Sơ đồ Use-case mức tổng quát

Hình 3.3 Sơ đồ use-case mức tổng quát

3.2.2 Sơ đồ Use-case Quản lý sản phẩm

Hình 3.4 Sơ đồ use-case Quản lý sản phẩm

3.2.3 Sơ đồ Use-case Quản lý khách hàng

Trang 24

Hình 3.5 Sơ đồ use-case Quản lý khách hàng

3.2.4 Sơ đồ Use-case Quản lý đơn hàng

Hình 3.6 Sơ đồ use-case Quản lý đơn hàng

3.2.5 Sơ đồ Use-case Quản lý bình luận

Hình 3.7 Sơ đồ use-case Quản lý bình luận

Trang 25

3.2.6 Sơ đồ Use-case Nhập hàng

Hình 3.8 Sơ đồ use-case Nhập hàng

3.2.7 Sơ đồ Use-case Thống kê

Hình 3.9 Sơ đồ use-case Thống kê

3.2.8 Sơ đồ Use-case Báo cáo vi phạm

Hình 3.10 Sơ đồ use-case Báo cáo vi phạm

Trang 26

3.2.9 Danh sách Use-case

Bảng 3.1 Danh sách use-case

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

2 Quản lý sản phẩm Tạo sản phẩm mới, cập nhật/thay đổi thông tinsản phẩm, xem thông tin sản phẩm.

3 Quản lý khách hàng Xem thông tin khách hàng, lịch sử mua hàng củakhách hàng, các đơn hàng hiện tại của khách.4 Quản lý đơn hàng Phê duyệt, theo dõi đơn hàng, xem thông tin chi

tiết của đơn, cập nhật trạng thái đơn hàng, xemlịch sử

5 Quản lý bình luận Xem bình luận/đánh giá của khách hàng, ẩn cácbình luận không phù hợp Phản hồi bình luận củakhách hàng

6 Nhập hàng Tạo đơn nhập hàng mới Xem lịch sử nhập hàng,chi tiết đơn nhập.

7 Thống kê Báo cáo hoạt động của cửa hàng trong tháng.8 Báo cáo vi phạm Báo cáo của khách hàng về bình luận xấu.

Trang 27

3.2.10.Đặc tả Use-caseUse-case “Đăng nhập”

Bảng 3.2 Đặc tả use-case Đăng nhập

Tên use-case Đăng nhập.

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 (Hoặc tài khoản google,facebook).

Người dùng Quản trị viên

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- Người dùng khởi động ứng dụng.

- Người dùng nhập email, mật khẩu và bấm nút Đăng nhập.- 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ế- Tài khoản không phải là Admin

+ Hiển thị thông báo, yêu cầu đăng xuất.

- 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.

Trang 28

Use-case “Xem tất cả sản phẩm”

Bảng 3.3 Đặc tả use-case Xem tất cả sản phẩm

Tên use-case Xem tất cả sản phẩm

Mô tả tóm tắt Quản lý xem danh sách tất cả sản phẩm có trong hệ thống

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm vào button Quản lý sản phẩm trong mànhình Dashboard.

Đ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 dụng chuyển hướng đến màn hình Quản lý sản phẩm vàhiển thị danh sách tất cả sản phẩm.

Kịch bản chính- Người dùng khởi động ứng dụng.- Người dùng thực hiện UC1.

- Ứng dụng chuyển thành màn hình Dashboard.- Người dùng bấm vào nút Quản lý sản phẩm.

- Ứng dụng chuyển sang màn hình Quản lý sản phẩm và

hiển thị danh sách tất cả sản phẩm trong hệ thống.

Kịch bản thay thế Không

Trang 29

Use-case “Thêm sản phẩm”

Bảng 3.4 Đặc tả use-case Thêm sản phẩm

Tên use-case Thêm sản phẩm

Mô tả tóm tắt Tạo sản phẩm mới trong hệ thống

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm vào button Thêm trong màn hình Quản lý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Điều kiện kết quả Sản phẩm mới được thêm thành công.

Ứng dụng trở về màn hình Quản lý sản phẩm với danh sáchsản phẩm được cập nhật thêm sản phẩm mới.

Kịch bản chính- Người dùng thực hiện UC2

- Người dùng bấm nút Thêm sản phẩm- Nhập các thông tin cần thiết

Thông tin người dùng cung cấp không đầy đủ.

- Hiển thị thông báo lỗi yêu cầu cung cấp đầy đủ thông

tin sản phẩm.

Trang 30

Use-case “Cập nhật thông tin sản phẩm”

Bảng 3.5 Đặc tả use-case Cập nhật thông tin sản phẩm

Tên use-case Cập nhật thông tin sản phẩm

Mô tả tóm tắt Người quản lý cập nhật thông tin của sản phẩm

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm vào button Cập nhật trong phần Thông tinchung 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Điều kiện kết quả Thông tin sản phẩm được cập nhật thành công.

Thông tin người dùng cung cấp không đầy đủ.

- Hiển thị thông báo lỗi yêu cầu cung cấp đầy đủ thông

Trang 31

Use-case “Cập nhật giá và khuyến mãi”

Bảng 3.6 Đặc tả use-case Cập nhật giá và khuyến mãi

Tên use-case Cập nhật giá và khuyến mãi

Mô tả tóm tắt Người quản lý cập nhật giá và khuyến mãi của sản phẩm

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm vào button Cập nhật trong phần Thông tinkhác 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Điều kiện kết quả Thông tin sản phẩm được cập nhật thành công

Kịch bản chính- Người dùng bấm nút Cập nhật trong phần Thông tin khác- Ứng dụng hiển thị Dialog cập nhật giá và khuyến mãi.- Điền các thông tin mới cần thiết

Trang 32

Use-case “Xem thông tin chi tiết sản phẩm”

Bảng 3.7 Đặc tả use-case Xem thông tin chi tiết sản phẩm

Tên use-case Xem thông tin chi tiết sản phẩm

Mô tả tóm tắt Xem thông tin chi tiết của sẩn phẩm

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm chọn sản phẩm ở màn hình Quản lý sảnphẩm

Đ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 dụng chuyển hướng đến màn hình Chi tiết sản phẩm.Màn hình hiển thị thông tin chi tiết của sản phẩm

Kịch bản chính- Người dùng thực hiện UC2- Người dùng bấm chọn sản phẩm

- Ứng dụng chuyển sang màn hình Chi tiết sản phẩm và

hiển thị thông tin chi tiết của sản phẩm được chọn.

Kịch bản thay thế Không

Trang 33

Use-case “Xem tất cả khách hàng”

Bảng 3.8 Đặc tả use-case Xem tất cả khách hàng

Tên use-case Xem tất cả khách hàng

Mô tả tóm tắt Xem danh sách tất cả khách hàng trong hệ thống

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm nút Quản lý khách hàng trên màn hìnhDashboard.

Đ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 đã đăng nhập trước đó.

Điều kiện kết quả Ứng dụng chuyển hướng đến màn hình Quản lý khách hàng.Màn hình hiển thị danh sách Khách hàng.

Kịch bản chính- Người dùng bấm nút Quản lý khách hàng

- Ứng dụng chuyển sang màn hình Quản lý khách hàng,

hiển thị danh sách tất cả khách hàng trong hệ thống

Kịch bản thay thế Không

Trang 34

Use-case “Xem thông tin chi tiết khách hàng”

Bảng 3.9 Đặc tả use-case Xem thông tin chi tiết khách hàng

Tên use-case Xem thông tin chi tiết của khách hàng

Mô tả tóm tắt Hiển thị thông tin chi tiết của khách hàng cụ thể

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm chọn khách hàng trong màn hình Quản lýkhách hàng

Đ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ả Màn hình hiển thị thông tin chi tiết của khách hàng đượcchọn

Kịch bản chính- Người dùng thực hiện UC6.

- Người dùng bấm chọn khách hàng.

- Ứng dụng chuyển sang màn hình Thông tin chi tiết khách

hàng, hiển thị thông tin của khách hàng tương ứng.

Kịch bản thay thế Không

Trang 35

Use-case “Xem lịch sử mua hàng của khách hàng”

Bảng 3.10 Đặc tả use-case Xem lịch sử mua hàng của khách hàng

Tên use-case Xem lịch sử mua hàng của khách hàng

Mô tả tóm tắt Hiển thị lịch sử mua hàng của khách hàng

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm nút Lịch sử mua hàng trong màn hìnhthông tin chi tiết khách hàng

Đ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ả Màn hình hiển thị danh sách các đơn hàng đã xong củakhách hàng tương ứng

Kịch bản chính- Người dùng thực hiện UC7

- Người dùng bấm nút Xem lịch sử mua hàng.

- Ứng dụng chuyển sang màn hình Lịch sử mua hàng và

hiển thị thông tin tương ứng của khách hàng.

Kịch bản thay thế Không

Trang 36

Use-case “Xem danh sách đơn hàng chưa duyệt”

Bảng 3.11 Đặc tả use-case Xem danh sách đơn hàng chưa duyệt

Tên use-case Xem danh sách đơn hàng chưa duyệt

Mô tả tóm tắt Hiển thị danh sách các đơn đang chờ duyệt

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm nút Quản lý đơn hàng

Đ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 đã đăng nhập trước đó.

Điều kiện kết quả Màn hình hiển thị danh sách các đơn hàng chưa được duyệt

Kịch bản chính- Người dùng bấm nút Quản lý đơn hàng trên màn hình

- Ứng dụng chuyển sang màn hình Quản lý đơn hàng - Màn hình hiển thị danh sách các đơn hàng đang chờ duyệtKịch bản thay thế Không

Trang 37

Use-case “Theo dõi đơn hàng”

Bảng 3.12 Đặc tả use-case Theo dõi đơn hàng

Tên use-case Theo dõi đơn hàng

Mô tả tóm tắt Hiển thị danh sách đơn hàng theo từng trạng thái của đơn(Đang chuẩn bị - Chuẩn bị xong (hoặc Chờ lấy) – Đang vậnchuyển – Hoàn thành – Đã hủy)

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm nút Theo dõi đơn hàng trong màn hìnhQuản lý đơn hàng.

Đ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ả Màn hình hiển thị danh sách các đơn hàng theo trạng tháitương ứng

Kịch bản chính- Người dùng thực hiện UC9

- Người dùng chọn trạng thái muốn xem trong màn hình

Quản lý đơn hàng (Đang chuẩn bị, Chờ lấy hàng, Đangvận chuyển).

- Ứng dụng chuyển sang màn hình Theo dõi đơn hàng với

tab trạng thái tương ứng.

- Màn hình hiển thị danh sách đơn hàng của trạng thái đó.Kịch bản thay thế Không

Trang 38

Use-case “Xem thông tin chi tiết đơn hàng”

Bảng 3.13 Đặc tả use-case Xem thông tin chi tiết đơn hàng

Tên use-case Xem thông tin chi tiết đơn hàng

Mô tả tóm tắt Hiển thị thông tin chi tiết của đơn hàng

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm chọn đơn hàng bất kỳ trong màn hìnhQuản lý đơn hàng, Theo dõi đơn hàng, Thông tin chi tiếtkhách hàng,…

Đ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ả Màn hình hiển thị thông tin chi tiết của đơn hàng tương ứng.

Kịch bản chính- Người dùng chọn đơn hàng muốn xem

- Ứng dụng chuyển sang màn hình Chi tiết đơn hàng và

hiển thị thông tin của đơn hàng tương ứng.

Kịch bản thay thế Không

Trang 39

Use-case “Cập nhật trạng thái đơn hàng”

Bảng 3.14 Đặc tả use-case Cập nhật trạng thái đơn hàng

Tên use-case Cập nhật trạng thái đơn hàng

Mô tả tóm tắt Người dùng thay đổi trạng thái đơn hàng bằng cách Xácnhận đơn hàng, Xác nhận đã chuẩn bị xong, Xác nhận giaocho bên vận chuyển.

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm nút Xác nhận tương ứng với mỗi trạng tháiđơn hàng

Đ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ả Trạng thái của đơn hàng được cập nhật

Kịch bản chính- Người dùng thực hiện UC11

- Người dùng bấm nút Xác nhận theo từng trạng thái- Trạng thái đơn hàng được cập nhật

Kịch bản thay thế Không

Trang 40

Use-case “Xem các bình luận mới

Bảng 3.15 Đặc tả use-case Xem các bình luận mới

Tên use-case Xem các bình luận mới

Mô tả tóm tắt Hiển thị các bình luận mới nhất của khách hàng về sản phẩm

Người dùng Quản trị viên

Sự kiện kích hoạt Người dùng bấm nút Quản lý bình luận

Đ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ả Màn hình hiển thị các bình luận mới nhất trong hệ thống

Kịch bản chính- Người dùng bấm nút Quản lý bình luận trên màn hình

- Ứng dụng chuyển sang màn hình Quản lý bình luận và

hiển thị danh sách bình luận mới nhất trong hệ thống

Kịch bản thay thế Không.

Ngày đăng: 15/05/2024, 09:26