1. Trang chủ
  2. » Cao đẳng - Đại học

đồ án 2 ứng dụng e commerce cho đa

66 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Ứng dụng E-commerce cho đa nhà cung cấp
Tác giả Lê Ngọc Minh, Nguyễn Đặng Hữu Phúc
Người hướng dẫn Huỳnh Tuấn Anh
Trường học Trường Đại học Công nghệ Thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ phần mềm
Thể loại Đồ án 2
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 66
Dung lượng 2,12 MB

Nội dung

Hình 4 pub.devTrong ngữ cảnh của Flutter, "pub package" đề cập đến các gói packages được quản lý và chia sẻ thông qua Pub - một hệ thống quản lý gói của Flutter và Dart.Mỗi gói package c

Trang 1

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

Trang 2

BÁO CÁO ĐỒ ÁN 2

ĐỀ TÀI

Giảng viên hướng dẫn: Huỳnh Tuấn Anh

Sinh viên thực hiện:

Nguyễn Đặng Hữu Phúc 20520782

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

Trang 3

Với lòng biết ơn sâu sắc nhất, nhóm chúng em xin gửi đến quý Thầy Cô ở Khoa Côngnghệ phần mềm – Trường Đại Học Công Nghệ Thông Tin đã cùng với tri thức và tâmhuyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gianhọc tập tại trường Trong đó có thầy Huỳnh Tuấn Anh, thầy đã cung cấp cho chúng emcác định hướng và một đề tài hấp dẫn, tạo tiền đề và động lực cho chúng em tìm hiểunhững công nghệ mới, bổ ích trong quá trình nghiên cứu và phát triển website, nhữngkinh nghiệm quý báu về trải nghiệm người dùng và nghiệp vụ

Ngoài ra, để đồ án được hoàn thành thì không thể nào không cảm ơn những người đãlàm ra đó, cảm ơn các bạn các thành viên trong nhóm đã chăm chỉ và chịu khó hoànthành nhiệm vụ đúng tiến độ

Với những gì đã được giúp đỡ, cuối cùng nhóm đã hoàn thành đồ án có tên: “Ứngdụng Flutter xây dựng ứng dụng e-commerce cho đa nhà cung cấp Trải qua thời gianmột học kỳ thực hiện đề tài Với sự hướng dẫn tận tình cùng những đóng góp quý báucủa thầy và các bạn giúp chúng em hoàn thành tốt hơn báo cáo môn học của mình Bêncạnh việc vận dụng những kiến thức đã được học trên lớp đồng thời kết hợp với việchọc hỏi và tìm hiểu những kiến thức mới Từ đó, nhóm đã vận dụng tối đa những gì đãtiếp thu được để hoàn thành một báo cáo đồ án tốt nhất Tuy nhiên, trong quá trình

Trang 4

thực hiện, không tránh khỏi những sai sót Do đó, rất mong nhận được những sự góp ý

từ phía thầy nhằm giúp nhóm hoàn thiện những kiến thức đã học tập và cũng là hànhtrang để nhóm thực hiện tiếp các đề tài khác trong tương lai Xin chân thành cảm ơnthầy và các bạn!

Trân trọng cảm ơn

Thành phố Hồ Chí Minh, tháng 12 năm 2023

Nhóm sinh viên thực hiện

Trang 5

NHẬN XÉT CỦA GIẢNG VIÊN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 6

LỜI CẢM ƠN 2

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ TỔNG QUAN CÔNG NGHỆ 8

5.1 Thiết kế giao diện Figma 8

5.2 Ngôn ngữ Dart 8

5.3 SDK phát triển Flutter 9

5.1 Flutter packages 11

5.2 Visual Studio Code 12

5.4 Github 14

6.Cơ sở lý thuyết 16 CHƯƠNG 3: PHÂN TÍCH, THIẾT KẾ ỨNG DỤNG 16 1.Tổng quan 16 2.Môi trường cài đặt 16 3.Đặc tả yêu cầu chức năng 16 3.1 Use case Diagram 16

3.1.1.1 Sơ đồ Use case 16

3.1.1.2 Danh sách Actors 16

3.1.1.3 Danh sách Use case 17

3.1.1.4 Đặc tả Use case 19

3.2 Activity Digram 25

3.2.1 Đối với quản trị viên (Admin) 25

3.2.2 Đới với nhà bán lẻ (Vendor) 25

Trang 7

3.2.3 Đối với người dùng (Customer) 26

3.3.1 Đối với quản trị viên (Admin) 27 3.3.2 Đới với nhà bán lẻ (Vendor) 27 3.3.3 Đối với người dùng (Customer) 28

CHƯƠNG 4: THIẾT KẾ CƠ SỞ DỮ LIỆU 28

CHƯƠNG 1: PHẦN MỞ ĐẦU

1 Giới thiệu đề tài.

Việc xây dựng một ứng dụng e-commerce đa nhà cung cấp trên nền tảng công nghệ Flutter là một bước tiến quan trọng trong việc tạo ra một môi trường mua sắm trực tuyến linh hoạt và hiệu quả

Ứng dụng này không chỉ là một cầu nối giữa người mua và các nhà cung cấp mà còn là một hệ thống phức tạp đòi hỏi tích hợp thông tin từ nhiều nguồn khác nhau Công nghệ Flutter sẽ giúp tạo ra giao diện người dùng mượt mà, thuận tiện và linh hoạt trên nhiều thiết bị, từ điện thoại di động đến máy tính bảng

Việc tập trung vào việc kết nối và tối ưu hóa quy trình giao dịch giữa người mua và

đa nhà cung cấp là điểm trọng yếu của dự án Điều này có thể giúp cải thiện trải

nghiệm mua sắm cho người dùng và đồng thời mang lại lợi ích kinh doanh cho các nhà cung cấp

Đặc biệt, việc quản lý thông tin từ nhiều nguồn cung cấp đòi hỏi một cơ sở dữ liệu linh hoạt và khả năng xử lý thông tin một cách chính xác và nhanh chóng Flutter cung cấp công cụ mạnh mẽ để xử lý dữ liệu và tương tác với nguồn thông tin đa

dạng

Mục tiêu của dự án không chỉ đơn thuần là tạo ra một ứng dụng mua sắm trực

tuyến, mà còn là việc xây dựng một môi trường giao dịch minh bạch, công bằng và tạo ra lợi ích đáng kể cho cả người mua và các nhà cung cấp

Với sự tập trung vào tính linh hoạt, hiệu quả và tương tác thực tế, dự án này có thể đem lại sự thay đổi lớn trong lĩnh vực thương mại điện tử và mở ra cơ hội mới cho

cả người tiêu dùng và doanh nghiệp

Trang 8

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

● Tính cần thiết và tiềm năng: Thị trường thương mại điện tử đang phát triển mạnh mẽ Việc tạo ra một ứng dụng e-commerce có khả năng kết nối nhiều nhà cung cấp và người dùng có thể đáp ứng nhu cầu mua sắm đa dạng, đồng thời mở ra cơ hội kinh doanh lớn

● Đáp ứng xu hướng công nghệ: Công nghệ Flutter cung cấp sự linh hoạt và khả năng phát triển ứng dụng trên nhiều nền tảng, từ điện thoại di động đến máy tính bảng, từ Android đến iOS Điều này giúp ứng dụng của bạn tiếp cận đa dạng người dùng

● Mục tiêu tối ưu hóa trải nghiệm người dùng: Việc xây dựng một ứng dụng commerce đa nhà cung cấp không chỉ đáp ứng nhu cầu mua sắm mà còn tạo

e-ra trải nghiệm thuận tiện và linh hoạt cho người dùng, từ việc tìm kiếm sản phẩm đến thanh toán

● Thách thức và cơ hội: Quản lý thông tin từ nhiều nguồn cung cấp khác nhau

và đảm bảo tính minh bạch trong quy trình giao dịch là những thách thức, nhưng cũng là cơ hội để tạo ra một hệ thống mua bán minh bạch và công bằng

● Tiềm năng tạo giá trị: Việc tạo ra một nền tảng giao dịch minh bạch và hiệu quả không chỉ mang lại lợi ích kinh doanh mà còn góp phần vào sự phát triểnbền vững của ngành thương mại điện tử và tạo ra giá trị xã hội

Trang 10

Hình 2 Dart

Ngôn ngữ Dart là một ngôn ngữ lập trình được phát triển bởi Google, được sử dụng chủ yếu để xây dựng ứng dụng di động và web Dart được thiết kế để kết hợp sự linh hoạt, hiệu suất cao và tính năng dễ đọc, dễ hiểu cho các nhà phát triển

Dart có thể được sử dụng để phát triển ứng dụng di động bằng Flutter, một

framework được sử dụng rộng rãi để xây dựng các ứng dụng di động đa nền tảng (iOS và Android) Nó cũng có thể được sử dụng cho phát triển web thông qua Dart'sweb framework hoặc các dự án khác như AngularDart

Một số đặc điểm chính của Dart bao gồm:

● Tính đa nền tảng: Dart cho phép việc phát triển ứng dụng cho cả iOS và

Android thông qua Flutter

● Cú pháp dễ đọc: Dart có cú pháp gần gũi với nhiều ngôn ngữ lập trình khác,

giúp nhà phát triển nhanh chóng làm quen và viết mã

● Hiệu suất cao: Dart được tối ưu để cung cấp hiệu suất tốt trong việc xử lý

ứng dụng đòi hỏi tính toán cao

● Kiểu an toàn: Dart hỗ trợ kiểu dữ liệu mạnh mẽ, giúp tránh được một số lỗi

phổ biến trong quá trình phát triển

Dart không chỉ được sử dụng trong việc phát triển ứng dụng di động và web mà còn có thể được áp dụng trong các dự án khác như máy chủ hoặc các ứng dụng

Trang 11

nền tảng khác.

1.3 SDK phát triển Flutter

Hình 3 Flutter

Flutter là một SDK phát triển ứng dụng di động nguồn mở được tạo ra bởi Google

Nó được sử dụng để phát triển ứng ứng dụng cho Android và iOS, cũng là phương thức chính để tạo ứng dụng cho Google Fuchsia

Flutter sử dụng ngôn ngữ lập trình Dart và sử dụng một tập hợp các widget để xây dựng giao diện người dùng Widget trong Flutter có thể mô tả mọi thứ từ các thành phần nhỏ như nút và hộp văn bản đến các thành phần phức tạp như danh sách cuộn

và biểu đồ

Một số đặc điểm quan trọng của Flutter bao gồm:

● Hot Reload: Cho phép nhà phát triển xem ngay lập tức các thay đổi trong

mã nguồn và giao diện người dùng sau khi chỉnh sửa, giúp tăng tốc quá trình phát triển

● Đa nền tảng: Mã nguồn duy nhất có thể được sử dụng để phát triển ứng

dụng cho cả iOS và Android

● Widget-rich: Flutter cung cấp một bộ sưu tập lớn các widget để xây dựng

giao diện người dùng theo nhiều phong cách khác nhau

● Hiệu suất cao: Với tính năng vẽ giao diện riêng (rendering engine) và tính

tối ưu hóa, Flutter cung cấp hiệu suất tốt cho ứng dụng di động

Flutter đã thu hút sự quan tâm của cộng đồng phát triển ứng dụng di động do khả

Trang 12

năng phát triển nhanh, giao diện đẹp và khả năng tái sử dụng mã nguồn một cách hiệu quả.

Ưu điểm của Flutter:

● Đa nền tảng: Flutter cho phép phát triển ứng dụng cho cả iOS và Android từ

một mã nguồn duy nhất, giúp tiết kiệm thời gian và công sức

● Widget-rich và giao diện đẹp: Flutter cung cấp một bộ sưu tập lớn các

widget để xây dựng giao diện người dùng và tạo ra ứng dụng có giao diện đẹp mắt

● Hiệu suất cao: Nhờ vào tính chất vẽ giao diện riêng (rendering engine) và

tối ưu hóa, Flutter cung cấp hiệu suất tốt cho ứng dụng

● Hot Reload: Chức năng này cho phép nhà phát triển xem ngay lập tức các

thay đổi trong mã nguồn và giao diện người dùng sau khi chỉnh sửa, giúp tăng tốc độ phát triển

● Cộng đồng phát triển mạnh mẽ: Flutter có một cộng đồng người dùng rộng

lớn, đồng thời có nhiều tài liệu, hướng dẫn và công cụ hỗ trợ

Nhược điểm của Flutter:

● Kích thước ứng dụng: Ứng dụng Flutter có thể có kích thước lớn hơn so

với một số ứng dụng được phát triển bằng công nghệ khác, do việc bao gồm các thư viện cần thiết

● Tài nguyên Dart: Sử dụng ngôn ngữ Dart có thể đòi hỏi thời gian cho các

nhà phát triển làm quen nếu họ không quen thuộc với ngôn ngữ này từ trước

● Công cụ hỗ trợ bên ngoài: Mặc dù Flutter có một số công cụ phát triển hỗ

trợ tốt, nhưng có thể thiếu một số tính năng so với các framework khác.Mặc dù có nhược điểm nhất định, nhưng với ưu điểm về hiệu suất, đa nền tảng và khả năng tạo giao diện đẹp, Flutter vẫn là một lựa chọn mạnh mẽ cho việc phát triểnứng dụng di động

1.1 Flutter packages

Trang 13

Hình 4 pub.dev

Trong ngữ cảnh của Flutter, "pub package" đề cập đến các gói (packages) được quản lý và chia sẻ thông qua Pub - một hệ thống quản lý gói của Flutter và Dart.Mỗi gói (package) có thể chứa mã nguồn, tài liệu, thư viện và các tài nguyên cần thiết khác cho việc phát triển ứng dụng Flutter Các gói này có thể cung cấp các tínhnăng nhất định, ví dụ như giao diện người dùng đặc biệt, tính năng logic, hoặc các công cụ hỗ trợ cho quá trình phát triển

Khi nhà phát triển cần sử dụng một tính năng cụ thể hoặc thư viện nào đó, họ có thểtìm kiếm trong cơ sở dữ liệu của Pub và thêm gói đó vào dự án Flutter của mình thông qua file pubspec.yaml Điều này cho phép họ sử dụng các tính năng hoặc chức năng mà gói đó cung cấp trong quá trình phát triển

File pubspec.yaml chứa thông tin về các gói được sử dụng trong dự án Flutter, bao gồm tên gói, phiên bản và các thiết lập khác Khi nhà phát triển cần cài đặt hoặc cậpnhật các gói, họ có thể sử dụng câu lệnh flutter pub get hoặc flutter pub upgrade từ command line để cập nhật và tải các gói mới nhất

Nhờ có Pub và hệ thống quản lý gói của nó, việc tìm, cài đặt và quản lý các gói cho

dự án Flutter trở nên dễ dàng và tiện lợi

Chức năng chính của pub.dev bao gồm:

● Tìm kiếm gói: Người dùng có thể tìm kiếm các gói dựa trên tên, từ khóa,

hoặc các tiêu chí khác để tìm các gói phù hợp với nhu cầu của họ

Trang 14

● Hiển thị thông tin chi tiết: Mỗi gói trên pub.dev có trang thông tin chi tiết

với các thông tin như tên gói, mô tả, phiên bản, điểm số, ví dụ mã nguồn và tài liệu hướng dẫn

● Đánh giá và điểm số: Cộng đồng có thể đánh giá và đưa ra điểm số cho các

gói dựa trên trải nghiệm của họ, giúp người dùng khác có cái nhìn rõ ràng hơn về chất lượng và sự hữu ích của từng gói

● Hỗ trợ tìm kiếm tùy chỉnh: Cung cấp các tùy chọn tìm kiếm tiên tiến để

người dùng có thể lọc các gói theo nhiều tiêu chí khác nhau như phiên bản, ngôn ngữ, chủ đề, và nhiều hơn nữa

● Thông tin cập nhật và mới nhất: Hiển thị thông tin về các gói được cập

nhật gần đây và các gói mới nhất trong cộng đồng

Pub.dev là nguồn tài nguyên quan trọng và hữu ích cho những người phát triển ứng dụng Flutter và Dart khi họ cần tìm các gói, thư viện và công cụ để hỗ trợ trong quá trình phát triển Nó cung cấp một cách tiếp cận thuận tiện để khám phá

và sử dụng các gói có sẵn từ cộng đồng người dùng rộng lớn của Flutter và Dart

1.2 Visual Studio Code

Hình 5 Visual Studio Code

Visual Studio Code (VS Code) là một trình biên soạn mã nguồn mã nguồn mở đượcphát triển bởi Microsoft Được thiết kế để hỗ trợ nhiều ngôn ngữ lập trình và nền tảng, VS Code được sử dụng rộng rãi trong cộng đồng phát triển phần mềm với mục

Trang 15

tiêu tăng cường hiệu suất và tiện ích cho nhà phát triển.

Một số đặc điểm chính của Visual Studio Code bao gồm:

● Mã nguồn mở: Visual Studio Code là một sản phẩm mã nguồn mở miễn

phí, có sẵn trên nhiều hệ điều hành bao gồm Windows, macOS và Linux

● Hỗ trợ đa ngôn ngữ và đa nền tảng: VS Code hỗ trợ nhiều ngôn ngữ lập

trình như JavaScript, Python, TypeScript, C++, Java và nhiều ngôn ngữ khác Nó cũng có thể tích hợp với các framework và công nghệ khác nhau

● Mở rộng và tùy chỉnh: VS Code có một hệ thống mở rộng mạnh mẽ, cho

phép người dùng cài đặt các extension để mở rộng chức năng của nó, từ debug, quản lý dự án, kiểm soát mã nguồn đến các tính năng phong phú khác

● IntelliSense: Hỗ trợ tính năng thông minh IntelliSense, giúp tự động hoàn

thành mã, đề xuất dòng lệnh và cung cấp thông tin hữu ích về các biến, phương thức và API khi bạn viết mã

● Git Integration: Tích hợp Git cho phép quản lý mã nguồn dễ dàng từ trình

biên soạn, bao gồm xem thay đổi, commit, push và pull code từ kho lưu trữ

● Debugging mạnh mẽ: Cung cấp công cụ debug mạnh mẽ cho nhiều ngôn

ngữ, cho phép bạn theo dõi và sửa lỗi trong mã của mình

Visual Studio Code đã trở thành một trong những trình biên soạn mã được ưa chuộng nhất trong cộng đồng lập trình do tính linh hoạt, hiệu suất và khả năng tùy chỉnh cao của nó Nó được đánh giá cao vì giao diện thân thiện, khả năng

mở rộng và sức mạnh trong việc hỗ trợ các nhà phát triển trong quá trình phát triển phần mềm

1.3 Android Studio

Hình 6 Android Studio

Trang 16

Android Studio là môi trường phát triển tích hợp (IDE) chính thức được Google phát triển để xây dựng ứng dụng Android Được xây dựng trên nền tảng IntelliJ IDEA của JetBrains, Android Studio cung cấp môi trường toàn diện để phát triển, kiểm thử và triển khai ứng dụng Android.

Một số đặc điểm chính của Android Studio bao gồm:

● Trình biên soạn mã thông minh: Android Studio đi kèm với trình biên

soạn mã tích hợp (IDE) được tối ưu hóa cho việc phát triển Android, cung cấp các tính năng như auto-completion, kiểm tra lỗi, refactoring và hỗ trợ mãnguồn mở rộng

● Android Emulator: IDE này cung cấp một bộ giả lập Android mạnh mẽ để

kiểm thử ứng dụng trên nhiều thiết bị ảo với nhiều cấu hình khác nhau

● Layout Editor: Được tích hợp sẵn, trình chỉnh sửa giao diện (Layout Editor)

giúp thiết kế giao diện người dùng (UI) của ứng dụng một cách trực quan và

dễ dàng

● Quản lý tài nguyên: Hỗ trợ quản lý tài nguyên như hình ảnh, tệp tin XML

và các tài nguyên khác một cách hiệu quả

● Hỗ trợ Gradle: Sử dụng hệ thống build Gradle cho việc quản lý và tối ưu

hóa quá trình build ứng dụng

● Kết hợp với các công cụ Android phổ biến: Android Studio tích hợp tốt

với các công cụ như Firebase, Google Cloud Platform và các thư viện hỗ trợ phát triển Android khác

● Hỗ trợ Git: Cho phép quản lý phiên bản và quản lý mã nguồn thông qua Git.

Android Studio được coi là công cụ chính cho nhà phát triển Android với nhiều tínhnăng mạnh mẽ và công cụ hỗ trợ giúp tăng cường quá trình phát triển ứng dụng dành cho nền tảng Android

1.4 Github

Trang 17

Hình 7 Github

GitHub là một nền tảng lưu trữ mã nguồn mở (version control) dựa trên Git, được

sử dụng rộng rãi trong cộng đồng phát triển phần mềm để quản lý mã nguồn, theo dõi sự thay đổi, hợp tác và triển khai dự án

Đặc điểm chính của GitHub bao gồm:

● Quản lý mã nguồn dễ dàng: GitHub cung cấp một nơi lưu trữ trực tuyến

cho mã nguồn của dự án Người dùng có thể tạo các kho lưu trữ

(repositories) để lưu trữ và quản lý mã nguồn của họ

● Version Control (Quản lý phiên bản): Sử dụng hệ thống version control

của Git, GitHub cho phép theo dõi sự thay đổi trong mã nguồn, quản lý các phiên bản khác nhau và hỗ trợ quá trình hợp nhất mã (merge code) từ nhiều nguồn khác nhau

● Hợp tác và Phiên bản Đa người dùng: GitHub cung cấp công cụ cho việc

hợp tác, cho phép nhiều người cùng làm việc trên cùng một dự án Nó cũng cung cấp các tính năng như pull requests, issues và wiki để tăng cường quá trình hợp tác giữa các thành viên trong dự án

● Documentation và Wiki: GitHub cho phép người dùng tạo và quản lý tài

liệu dự án (project documentation) cũng như wiki để chia sẻ thông tin, hướngdẫn và thông tin hữu ích khác

Trang 18

● Công cụ cho người quản lý dự án: Cung cấp công cụ quản lý dự án (project

management tools) như issues, project boards và milestones để theo dõi tiến

Tính năng chính của Github:

● Repositories (Kho lưu trữ): Là nơi lưu trữ mã nguồn của dự án Mỗi

repository chứa toàn bộ lịch sử sửa đổi của mã nguồn, các file, thư mục, và thông tin khác liên quan đến dự án

● Issues (Vấn đề): Đây là nơi để theo dõi, báo cáo và quản lý công việc, vấn

đề hoặc yêu cầu cần được giải quyết trong dự án Issues có thể được gán cho các thành viên, đánh dấu với nhãn, và theo dõi qua thời gian

● Pull Requests (Yêu cầu hợp nhất): Đây là cách người dùng gửi sửa đổi

hoặc bổ sung mới cho mã nguồn, yêu cầu để hợp nhất (merge) vào nhánh chính Pull requests thường đi kèm với bình luận, đánh giá và các thảo luận liên quan đến sửa đổi

● Projects (Dự án): Cung cấp các công cụ quản lý dự án như boards (bảng),

cards (thẻ), và milestones (cột mốc) để theo dõi công việc, sắp xếp nhiệm vụ

và quản lý tiến độ dự án

● Gists (Gists): Cho phép người dùng chia sẻ đoạn mã, văn bản hoặc tệp tin

một cách nhanh chóng thông qua URL, hữu ích khi cần chia sẻ mã nguồn nhỏ hoặc nhanh chóng

● Actions (Hành động): Cung cấp khả năng tự động hóa các quy trình, xây

dựng, kiểm tra và triển khai mã nguồn thông qua các luồng công việc được cấu hình

6 Cơ sở lý thuyết

Trang 19

CHƯƠNG 3: PHÂN TÍCH, THIẾT KẾ ỨNG DỤNG

1 Tổng quan.

2 Môi trường cài đặt.

3 Đặc tả yêu cầu chức năng.

3.1 Use case Diagram

3.1.1.1 Sơ đồ Use case

3.1.1.2 Danh sách Actors

ST

T

1 Quản trị viên (Admin) Là người quản lý, giám sát hệ thống

2 Nhà cung cấp (Vendor) Là nhà cung cấp sản phẩm, gian hàng chongười dùng

3 Người dùng (Customer) Người có nhu cầu mua sản phẩm

Bảng 1 Danh sách Actors

3.1.1.3 Danh sách Use case

ST

T

Nhân tố Use case chính Phân rã Use case Ý nghĩa/ ghi chú

1 Admin Quản lý người

dùng (User)

Xóa user Quản lý 2 user chính là

người mua hàng(User) vàcửa hàng (Vendor)

Xem thông tinuser

như số lượng user,vendors, markets, tổng sốlượng đơn hàng,…

mục

Thêm danh mục Quản lý danh mục hàng

hóa như thêm, xóa, sửaXóa danh mục

Trang 20

(Categories) Sửa danh mục danh mục

mục con categories)

(Sub-Thêm danh mục Quản lý danh mục phụ

hàng hóa như thêm, xóa,sửa danh mục

Xóa danh mụcSửa danh mục

hàng (Orders)

Xem trạng tháiđơn hàng

Xem thống kê chi tiết tìnhtrạng đơn hàng, một khiđơn hàng đã đặt thì khôngthể xóa, mà chỉ có thểchuyển trang thái sang

hủy

hàng (Markets)

Thêm cửa hàng Admin có thể xem thông

tin cho tiết cửa hàng,thêm phí hoa hồng, xóa

cửa hàng

Xóa cửa hàngSửa cửa hàngThêm phí hoahồng

tin (Feeds)

Tạo bảng tin Admin có thể thêm, xóa,

sửa bảng tin để hiện thịtrong ứng dụng

Sửa bảng tinXóa bảng tinXem thông tin chi

Xóa user Quản lý 2 user chính là

người mua hàng(User) vàcửa hàng (Vendor)

Xem thông tinuser

thống như số lượng user,

Trang 21

vendors, markets, tổng sốlượng đơn hàng,…

mục(Categories)

Thêm danh mục Quản lý danh mục hàng

hóa như thêm, xóa, sửa

danh mục

Xóa danh mụcSửa danh mục

mục con categories)

(Sub-Thêm danh mục Quản lý danh mục phụ

hàng hóa như thêm, xóa,sửa danh mục

Xóa danh mụcSửa danh mục

hàng (Orders)

Xem trạng tháiđơn hàng

Xem thống kê chi tiếttình trạng đơn hàng, một

kh đơn hàng đã đặt thìkhông thể xóa, mà chỉ cóthể chuyển trang tháisang hủy

hàng (Markets)

Thêm cửa hàng Admin có thể xem thông

tin cho tiết cửa hàng,thêm phí hoa hồng, xóa

cửa hàng

Xóa cửa hàngSửa cửa hàngThêm phí hoahồng

tin (Feeds)

Tạo bảng tin Admin có thể thêm, xóa,

sửa bảng tin để hiện thịtrong ứng dụng

Sửa bảng tinXóa bảng tinXem thông tinchi tiết

Trang 22

1 Vendor Thông tin cửa

thông kê cửahàng

Thống kê chi tiết hệ thốngnhư lượng tiền trong ví,tổng số đơn hàng, danhmục cửa hàng,

hàng (Markets)

Thêm cửa hàng Quản lý cửa hàng, một

nhà bán lẻ có thể tạonhiều cửa hàng

Xóa cửa hàngSửa cửa hàng

phẩm(Products)

Thêm sản phẩm Quản lý sản phẩm cho

cửa hàng

Xóa sản phẩmSửa sản phẩm

hàng (Orders)

Xem trạng tháiđơn hàng

Xem thống kê chi tiết tìnhtrạng đơn hàng, một khđơn hàng đã đặt thì khôngthể xóa, mà chỉ có thểchuyển trang thái sang

hủy

khuyến mãi(Flash-sales)

Thêm khuyến mãi Nhà bán lẻ có thể tạo

khuyến mãi cho loại sảnphẩm bất kì

Xóa khuyến mãiSửa khuyến mãiLọc khuyến mãi

vận chuyển(Delivery)

Tạo bảng tin Admin có thể thêm, xóa,

sửa bảng tin để hiện thịtrong ứng dụng

Sửa bảng tinXóa bảng tinXem thông tin chi

tiết

thu

Trang 23

Bảng 4 Danh sách Use case Vendor

3.1.1.4 Đặc tả Use case

● Use case đăng nhập

Use case: Đăng nhập

Tác nhân chính: Admin, Vendor, Customer

Mô tả ngắn gọn:

● Người dùng muốn vào hệ thống để thực hiện các tính năng thì phải thông qua đăng nhập

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

● Hệ thống đang ở trạng thái hoạt động

● Phải có tài khoản

Sự kiện kích hoạt: Không có

Điều kiện thực hiện: Không có

Luồng sự kiện chính:

● Hệ thống hiển thị giao diện đăng nhập

● Người dùng nhập thông tin vào các ô

● Bấm “Sign in”

● Nếu thành công thì sẽ đăng nhập thành công vào hệ thống Nếu thất bại thì

hệ thống sẽ hiện thông báo

● Kết thúc use case

● Use case quên mật khẩu

Trang 24

Use case: Khôi phục mật khẩu

Tác nhân chính: Vendor, Customer

Mô tả ngắn gọn:

● Khi quên mật khẩu và muốn lấy lại mật khẩu mới thì người dùng thực hiện use case này

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

● Hệ thống đang ở trạng thái hoạt động

● Phải có username, email đã được đăng ký

Sự kiện kích hoạt: Bấm “Forgot password” ở màn hình đăng nhập

Điều kiện thực hiện: Không có

Luồng sự kiện chính:

● Hệ thống hiển thị ô để nhập username

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

● Bấm “Reset password”

● Hệ thống sẽ gửi mã code đến email

● Điền mã code và mật khẩu mới

Trang 25

Use case: Đăng ký tài khoản

Tác nhân chính:Vendor, Customer

Mô tả ngắn gọn:

● Người dùng muốn vào hệ thống để thực hiện các tính năng thì phải thông qua đăng ký nếu chưa có tài khoản

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

● Không có tài khoản nào tồn tại trong hệ thống với thông tin đăng ký được cung cấp

Sự kiện kích hoạt: Bấm vào “Sign Up” ở màn hình đăng nhập.

Điều kiện thực hiện: Không có

Luồng sự kiện chính:

● Customer hoặc Vendor truy cập trang web hoặc ứng dụng

● Customer hoặc Vendor chọn tùy chọn "Đăng ký" hoặc "Tạo tài khoản"

● Hệ thống yêu cầu Customer cung cấp thông tin cần thiết như tên, địa chỉ email, mật khẩu, và thông tin liên hệ

● Customer điền thông tin cần thiết và xác nhận đăng ký

● Hệ thống xác minh thông tin và tạo tài khoản cho Customer

● Customer nhận được thông báo về việc đăng ký thành công và có thể đăng nhậpvào hệ thống với thông tin tài khoản mới

Trang 26

● Use case cập nhật thông tin

Use case: Cập nhật thông tin

Tác nhân chính:Vendor, Customer

Mô tả ngắn gọn:

● Người dùng muốn thay đổi thông tin cá nhân hoặc mật khẩu thì sử dụng usecase này

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

● Hệ thống đang ở trạng thái hoạt động

Sự kiện kích hoạt: Bấm “Profile” ở menu

Điều kiện thực hiện: Người dùng đăng nhập vào hệ thống

Luồng sự kiện chính:

● Hệ thống hiển thị màn hinh Cập nhật thông tin

● Người dùng nhập thông tin cá nhân vào các ô để thay đổi

● Hệ thống kiểm tra tính đúng đắn của dữ liệu

● Chọn “Save changes” để lưu

● Hệ thống thông báo kết quả

● Nếu người dùng chọn “Change password” chuyển sang luồng A1

● Kết thúc use case

Luồng thay thế:

1 Luồng phụ A1

- Hiển thị màn hình Thay đổi mật khẩu

- Nhập mật khẩu hiện tại và mật khẩu mới

Trang 27

- Bấm “Change password” để thay đổi

- Hệ thống hiển thị thông báo

Kết thúc use case

Kết quả:

● Thông báo cập nhật thông tin thành công

● Cập nhật lên hệ thống

● Use Tạo yêu cầu mở market

● Use case: Tạo yêu cầu mở market

Tác nhân chính:Vendor, Customer

Mô tả ngắn gọn:

● Tạo 1 hoặc nhiều market mới cho một account vendor

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

● Hệ thống đang ở trạng thái hoạt động

● Phải có tài khoản

Sự kiện kích hoạt: Người dùng vendor ấn vào market trên thanh menu

Điều kiện thực hiện: Người dùng đăng nhập vào hệ thống

Luồng sự kiện chính:

● Hệ thống hiển thị màn hình danh sách các market đang tồn tại

● Người dùng ấn vào nút tạo market ở góc dưới màn hình đang hiển thị

● Người dùng nhập thông tin market vào các ô cần thiết

● Hệ thống kiểm tra tính đúng đắn của dữ liệu

Trang 28

● Chọn “Create Market” để lưu

● Hệ thống thông báo kết quả

● Hệ thống trở lại màn hình hiển thị danh sách các market với market đã được tạo

● Kết thúc use case

Kết quả:

● Nếu duyệt: Market được tạo và hoạt động trong hệ thống.

● Nếu từ chối: Vendor có thể sửa thông tin và gửi lại yêu cầu tạo market.

● Use case xác nhận mở market

● Use case: Xác nhận mở market

Tác nhân chính:Admin

Mô tả ngắn gọn:

● Xác nhận mở một market mới từ yêu cầu của một vendor

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

● Hệ thống đang ở trạng thái hoạt động

● Phải đăng nhập ở tài khoản admin

Sự kiện kích hoạt: Người dùng Admin ấn vào market trên thanh menu

Điều kiện thực hiện:

● Người dùng đăng nhập vào hệ thống

● Đã có yêu cầu tạo market

Trang 29

Luồng sự kiện chính:

● Hệ thống hiển thị màn hình danh sách các market

● Admin nhấn vào nút xem chi tiết thông tin của market ( market chưa được approved)

● Admin kiểm tra thông tin market và nhấn xác nhận market

● Hệ thống cập nhật tình trạng market

● Hệ thống thông báo kết quả

● Hệ thống trở lại màn hình hiển thị danh sách các market với market hiện có

● Kết thúc use case

Kết quả:

● Nếu duyệt: Market được tạo và hoạt động trong hệ thống.

● Nếu từ chối: Vendor có thể sửa thông tin và gửi lại yêu cầu tạo market.

● Use case quản lý người dùng

● Use case: Quản lý người dùng

Tác nhân chính: Admin

Mô tả ngắn gọn:

● Xác nhận mở một market mới từ yêu cầu của một vendor

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

● Hệ thống đang ở trạng thái hoạt động

Trang 30

● Phải đăng nhập ở tài khoản admin

Sự kiện kích hoạt: Người dùng Admin ấn vào market trên thanh menu

Điều kiện thực hiện:

● Người dùng đăng nhập vào hệ thống

● Đã có yêu cầu tạo market

Luồng sự kiện chính:

● Admin đăng nhập vào giao diện quản trị của hệ thống

● Admin truy cập vào mục "Vendors" hoặc "Users"

● Hệ thống hiển thị danh sách các Vendor đang hoạt động trong hệ thống

● Admin có thể thực hiện các hoạt động quản lý như xem thông tin chi tiết của Vendor, kiểm tra hoạt động gần đây của Vendor, và thực hiện các thao tác quản

lý khác

Luồng sự kiện phụ:

● Khóa hoặc Mở khóa tài khoản Vendor:

● Nếu Admin phát hiện các vấn đề về hoạt động hoặc cần tạm ngừng tài khoản của Vendor, họ có thể chọn tùy chọn khóa tài khoản để ngăn Vendor truy cập hoặc mở lại tài khoản sau khi xử lý vấn đề

Kết quả:

● Admin có khả năng quản lý và giám sát hoạt động của các Vendor và User

trong hệ thống

● Use case quản lý bảng tin

● Use case: Quản lý bảng tin

Trang 31

Tác nhân chính: Admin

Mô tả ngắn gọn:

● Xác nhận mở một market mới từ yêu cầu của một vendor

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

● Hệ thống đang ở trạng thái hoạt động

● Phải đăng nhập ở tài khoản admin

Sự kiện kích hoạt: Người dùng Admin ấn vào Feed trên thanh menu

Điều kiện thực hiện:

● Người dùng đăng nhập vào hệ thống

● Admin có quyền truy cập và quản lý nội dung trên bảng tin

Luồng sự kiện chính:

● Admin đăng nhập vào giao diện quản trị của hệ thống

● Admin truy cập vào mục "Quản lý Bảng Tin" hoặc "Feed Management"

● Hệ thống hiển thị danh sách các bài viết, tin tức, hoặc nội dung được đăng trên bảng tin

● Admin có thể xem chi tiết các bài viết, kiểm tra nội dung, nguồn gốc, ngày đăng, hoặc thông tin liên quan

● Admin có quyền duyệt, từ chối, hoặc chỉnh sửa các bài viết trên bảng tin

● Nếu cần, Admin có thể thêm bài viết mới hoặc xóa bài viết không phù hợp

Luồng sự kiện phụ:

● Chỉnh Sửa Nội Dung: Nếu Admin phát hiện nội dung không phù hợp hoặc cần chỉnh sửa, họ có thể thực hiện các thao tác chỉnh sửa hoặc xóa nội dung đó

Trang 32

Kết quả:

● Admin có khả năng tạo bài đăng mới, chỉnh sửa bảng tin và cập nhật.

● Use case quản lý danh mục sản phẩm

● Use case: Quản lý danh mục sản phẩm

Tác nhân chính: Admin

Mô tả ngắn gọn:

● Quản lý danh mục sản phẩm của ứng dụng được cấp phép bởi admin

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

● Hệ thống đang ở trạng thái hoạt động

● Phải đăng nhập ở tài khoản admin

Sự kiện kích hoạt: Người dùng Admin ấn vào Categories trên thanh menu

Điều kiện thực hiện:

● Người dùng đăng nhập vào hệ thống

Luồng sự kiện chính:

● Admin đăng nhập vào giao diện quản trị của hệ thống

● Admin truy cập vào mục "Quản lý Danh Mục" hoặc "Categories

Management"

● Hệ thống hiển thị danh sách các danh mục hiện có trong hệ thống

● Admin có thể thêm danh mục mới bằng cách chọn tùy chọn "Thêm mới" và điền thông tin như tên, mô tả, hoặc thông tin khác cho danh mục

● Admin cũng có thể chỉnh sửa hoặc xóa các danh mục hiện có nếu cần thiết, như sửa tên, mô tả hoặc xóa danh mục không còn phù hợp

Luồng sự kiện chính:

Trang 33

● Chỉnh Sửa hoặc Xóa Danh Mục:

● Nếu Admin phát hiện danh mục không chính xác hoặc không còn cần thiết, họ

có thể thực hiện các thao tác chỉnh sửa hoặc xóa danh mục đó

Kết quả:

● Admin có khả năng quản lý danh mục của hệ thống, đảm bảo rằng cấu trúc danh

mục phù hợp với nhu cầu hoặc chính sách của hệ thống

Use case: Tạo sản phẩm cho market

Tác nhân chính: Vendor

Mô tả ngắn gọn:

● Tạo một sản phẩm mới cho market

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

● Hệ thống đang ở trạng thái hoạt động

● Phải đăng nhập ở tài khoản vendor

Sự kiện kích hoạt: người dùng vendor ấn vào mục product trên thanh

menu

Điều kiện thực hiện: Không

Luồng sự kiện chính:

● Hệ thống hiển thị màn hình danh sách các sản phẩm hiện có

● Người dùng vendor ấn vào nút tạo product ở góc dưới màn hình đang

hiển thị

● Người dùng nhập thông tin product vào các ô cần thiết

● Hệ thống kiểm tra tính đúng đắn của dữ liệu

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

HÌNH ẢNH LIÊN QUAN

Hình 1 Figma - đồ án 2 ứng dụng e commerce cho đa
Hình 1 Figma (Trang 9)
Hình 2 Dart - đồ án 2 ứng dụng e commerce cho đa
Hình 2 Dart (Trang 10)
Hình 3 Flutter - đồ án 2 ứng dụng e commerce cho đa
Hình 3 Flutter (Trang 11)
Hình 5 Visual Studio Code - đồ án 2 ứng dụng e commerce cho đa
Hình 5 Visual Studio Code (Trang 14)
Hình 6 Android Studio - đồ án 2 ứng dụng e commerce cho đa
Hình 6 Android Studio (Trang 15)
3.1.1.1. Sơ đồ Use case 3.1.1.2. Danh sách Actors - đồ án 2 ứng dụng e commerce cho đa
3.1.1.1. Sơ đồ Use case 3.1.1.2. Danh sách Actors (Trang 19)
Bảng 2 Danh sách Use case Admin - đồ án 2 ứng dụng e commerce cho đa
Bảng 2 Danh sách Use case Admin (Trang 20)
Bảng 3 Danh sách Use case Customer - đồ án 2 ứng dụng e commerce cho đa
Bảng 3 Danh sách Use case Customer (Trang 21)
Bảng 4 Danh sách Use case Vendor 3.1.1.4. Đặc tả Use case - đồ án 2 ứng dụng e commerce cho đa
Bảng 4 Danh sách Use case Vendor 3.1.1.4. Đặc tả Use case (Trang 23)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w