![đồ án phát triển ứng dụng di động quản lý cửa hàng bán sách](https://123docz.net/image/doc_normal.png)
Đang tải... (xem toàn văn)
Thông tin tài liệu
ĐẠ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 3LỜ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 42.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 53.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 7Hì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 8Hình 4.12 Màn hình Theo dõi đơn hàng 73
Trang 9Bả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 10Bả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 11TÓ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 12CHƯƠ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 15CHƯƠ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 172.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 19Firebase 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 20ngườ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 21CHƯƠ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 22nhậ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 233.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 24Hì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 253.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 263.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 273.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 28Use-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 29Use-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 30Use-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 31Use-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 32Use-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 33Use-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 34Use-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 35Use-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 36Use-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 37Use-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 38Use-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 39Use-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 40Use-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
Xem thêm:
Tài liệu cùng người dùng
Tài liệu liên quan