1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu về FLUTTER và xây dựng ứng dụng bán sách trực tuyến

69 22 0

Đ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

Định dạng
Số trang 69
Dung lượng 2,95 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỤC TIÊU CỦA ĐỀ TÀI: - Xây dựng Ứng dụng bán sách trực tuyến cung cấp các chức năng cơ bản cụ thể là việc trình bày các thông tin sách mà cửa hàng đang kinh doanh một cách trực quan giú

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÁO CÁO CUỐI KÌ

ĐỒ ÁN 1

ĐỀ TÀI: TÌM HIỂU VỀ FLUTTER VÀ XÂY DỰNG

ỨNG DỤNG BÁN SÁCH TRỰC TUYẾN

Giảng viên hướng dẫn:

ThS THÁI THỤY HÀN UYỂN Sinh viên thực hiện:

NGUYỄN MINH THI 19522257

 Tp Hồ Chí Minh, 12/2021 

Trang 2

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

……., ngày…… tháng……năm 2021

Người nhận xét

(Ký tên và ghi rõ họ tên)

Trang 3

LỜI CẢM ƠN

Trước khi đi vào nội dung phần báo cáo đồ án, lời nói đầu tiên chúng em xin

chân thành gửi lời cảm ơn đến Ths THÁI THỤY HÀN UYỂN – Giảng viên môn ĐỒ

ÁN 1 – người đã truyền đạt các kiến thức trên lớp, hướng dẫn và cung cấp các yêu cầu

hướng về người dùng dựa trên thực tế, tạo điều kiện cho chúng em thực hiện và đồng thời nhận xét, góp ý để đồ án của chúng em trở nên hoàn thiện hơn Đây là những kiến thức rất bổ ích, là nền tảng và là những sự hỗ trợ chúng em trong quá trình mới bắt đầu tìm hiểu về cách lập trình với Flutter, với ngôn ngữ Dart để nhóm em có thể hoàn thiện được đồ án này tốt nhất có thể Những lời chia sẻ, hướng dẫn đầy nhiệt tình của cô là động lực quý báu để nhóm chúng em có thể vượt qua những khó khăn khi tìm hiểu và thực hiện đề tài

Đồng thời, nhóm chúng em cũng muốn gửi lời cảm ơn sâu sắc đến những người

đã hỗ trợ chúng em trong quá trình thực hiện đồ án này, không chỉ là những người bạn

đã tạo điều kiện thuận lợi và động viên chúng em rất nhiều, mà đặc biệt là những anh chị trong khoa Công Nghệ Phần Mềm vì đã góp ý, chia sẻ những kinh nghiệm quý báu

về môn học cũng như các kiến thức khác có liên quan

Trong quá trình thực hiện, do kiến thức và kinh nghiệm còn nhiều hạn chế, khó

có thể tránh khỏi những sai sót Vì vậy, chúng em rất mong nhận được những lời góp ý quý báu từ cô để nhóm chúng em có thể ngày càng hoàn thiện không chỉ là đồ án hiện tại, các đồ án môn học sắp tới, đồng thời đây cũng là những hành trang góp phần hoàn thiện bản thân chúng em trong tương lai

Một lần nữa 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 12 năm 2021

Trang 4

MỤC LỤC

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 2

LỜI CẢM ƠN 3

MỤC LỤC 4

CHƯƠNG I: GIỚI THIỆU CHUNG 8

I ĐỀ TÀI: 8

II LÝ DO CHỌN ĐỀ TÀI: 8

III TÓM TẮT ĐỀ TÀI: 9

IV MỤC TIÊU CỦA ĐỀ TÀI: 9

V PHƯƠNG PHÁP NGHIÊN CỨU: 9

VI Ý NGHĨA VÀ KẾT QUẢ CỦA HƯỚNG ĐỀ TÀI: 10

1 Về mặt sản phẩm: 10

2 Về mặt tài liệu: 10

CHƯƠNG II: CÔNG NGHỆ LIÊN QUAN 11

I TÌM HIỂU VỀ FLUTTER: 11

1 Flutter: 11

2 Dart: 11

3 Lí do nên sử dụng Flutter: 12

II TÌM HIỂU VỀ FIREBASE: 12

1 Firebase là gì: 12

2 Các chức năng chính của Firebase được nghiên cứu áp dụng vào đồ án: 13

2.1 Firebase Cloud Storage: 13

2.2 Firebase Realtime Database: 13

2.3 Firebase Authentication: 13

3 Ưu điểm: 13

4 Nhược điểm: 14

CHƯƠNG III: MÔ HÌNH USE CASE 15

I SƠ ĐỒ USE CASE MỨC TỔNG QUÁT: 15

II DANH SÁCH CÁC USE CASE: 16

III ĐẶC TẢ USE CASE: 17

1 Use case Đăng nhập: 17

2 Use case Đăng ký: 18

3 Use case Đăng xuất: 19

Trang 5

4 Use case Tìm kiếm sách: 20

5 Use case Hiển thị sách theo hạng mục: 20

6 Use case Xem thông tin sách: 21

7 Use case Thêm sách vào giỏ hàng: 21

8 Use case Yêu thích: 22

9 Use case Bỏ yêu thích: 22

10 Use case Xem danh sách yêu thích: 23

11 Use case Xem giỏ hàng: 23

12 Use case Xác nhận/Thay đổi thông tin đơn hàng: 24

13 Use case Chốt đơn hàng: 25

14 Use case Xem danh sách đơn hàng: 26

15 Use case Xem chi tiết đơn hàng (Khách hàng): 26

16 Use case Xóa đơn hàng (Khách hàng): 27

17 Use case Cập nhật thông tin tài khoản: 27

18 Use case Chat: 28

19 Use case Xem thông tin cửa hàng: 29

20 Use case Thêm sách: 29

21 Use case Cập nhật sách: 30

22 Use case Quản lý đơn đặt hàng: 30

23 Use case Xem chi tiết đơn đặt hàng (Chủ cửa hàng): 31

24 Use case Cập nhật trạng thái đơn đặt hàng: 31

25 Use case Xóa đơn hàng (Chủ cửa hàng): 32

26 Use case Cập nhật thông tin cửa hàng: 33

CHƯƠNG IV: PHÂN TÍCH HỆ THỐNG 34

I SƠ ĐỒ LỚP: 34

1 Sơ đồ lớp mức phân tích: 34

2 Danh sách các lớp đối tượng: 34

3 Mô tả từng lớp đối tượng: 35

3.1 Lớp Users: 35

3.2 Lớp Author: 35

3.3 Lớp Category: 35

3.4 Lớp Publisher: 35

3.5 Lớp Book: 36

3.6 Lớp Inventory: 36

3.7 Lớp Favorite: 36

Trang 6

3.8 Lớp Order: 36

3.9 Lớp Store Information: 37

3.10 Lớp ChatRoom: 38

II SƠ ĐỒ TUẦN TỰ: 39

1 Đăng nhập / Đăng ký / Đăng xuất: 39

2 Tìm kiếm / Hiển thị sách theo hạng mục / Xem thông tin sách: 40

3 Yêu thích / Bỏ yêu thích: 40

4 Thêm sách vào giỏ hàng: 41

5 Chốt đơn hàng: 42

6 Xem danh sách đơn hàng / Xóa đơn hàng / Xem chi tiết đơn hàng: 43

7 Cập nhật thông tin tài khoản: 44

8 Xem thông tin cửa hàng / Cập nhật thông tin cửa hàng: 45

9 Quản lý sách: 45

10 Quản lý đơn hàng: 46

11 Chat: 47

CHƯƠNG V: THIẾT KẾ GIAO DIỆN 48

I GIAO DIỆN CHUNG: 48

1 Màn hình Giới thiệu 48

2 Màn hình Bắt đầu 48

3 Màn hình Đăng nhập: 49

4 Màn hình Quên mật khẩu: 49

5 Màn hình Tìm kiếm: 50

6 Màn hình Quản lý thông tin tài khoản: 50

6.1 Màn hình Thay đổi thông tin tài khoản: 50

6.2 Màn hình Thay đổi mật khẩu: 51

7 Màn hình Xem chi tiết đơn hàng: 51

II GIAO DIỆN ADMIN (CHỦ CỬA HÀNG): 52

1 Màn hình Trang chủ: 52

2 Màn hình Quản lý sách: 52

2.1 Màn hình Thông tin sách: 52

2.2 Màn hình Thêm sách: 53

2.3 Màn hình Cập nhật thông tin sách: 54

3 Màn hình Tài khoản: 54

4 Màn hình Quản lý đơn hàng: 55

5 Màn hình Thay đổi thông tin cửa hàng: 56

Trang 7

6 Màn hình Chat: 56

6.1 Màn hình Danh sách phòng Chat 56

6.2 Màn hình Tìm kiếm người dùng 57

6.3 Màn hình Chat 57

III GIAO DIỆN CLIENT (KHÁCH HÀNG): 58

1 Màn hình Đăng ký: 58

2 Màn hình Trang chủ: 59

3 Màn hình Thông tin sách: 59

4 Màn hình Đặt hàng: 60

4.1 Màn hình Giỏ hàng: 60

4.2 Màn hình Xác nhận thông tin đơn hàng: 61

4.3 Màn hình Thay đổi thông tin đơn hàng: 61

5 Màn hình Tài khoản: 62

6 Màn hình Đơn hàng: 63

7 Màn hình Danh sách yêu thích: 63

8 Màn hình Xem thông tin cửa hàng: 64

9 Màn hình Chat: 64

CHƯƠNG VI: TỔNG KẾT 66

I CÔNG NGHỆ SỬ DỤNG: 66

II ĐỘ HOÀN THIỆN CHỨC NĂNG: 66

III KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN: 67

1 Kết quả đạt được: 67

1.1 Ưu điểm: 67

1.2 Nhược điểm: 67

2 Hướng phát triển: 67

CHƯƠNG VII: BẢNG PHÂN CÔNG CÔNG VIỆC 68

CHƯƠNG VIII: TÀI LIỆU THAM KHẢO 69

Trang 8

CHƯƠNG I: GIỚI THIỆU CHUNG

I ĐỀ TÀI:

- Công nghệ tìm hiểu: Flutter

- Ứng dụng xây dựng: Ứng dụng bán sách trực tuyến - Bibliophile

II LÝ DO CHỌN ĐỀ TÀI:

Với tốc độ tăng trưởng đáng kinh ngạc về khoa học và kĩ thuật hiện nay, song song cùng với các cuộc cách mạng công nghiệp 4.0 và 5.0, chất lượng cuộc sống của từng cá nhân trong xã hội không ngừng được cải thiện và nâng cao Như một kết quả hiển nhiên, nhu cầu được giải trí cũng không phải là một ngoại lệ Có thể nói, các thiết bị điện tử ngày nay được xem là những thiết bị không chỉ hỗ trợ, giúp đỡ cho con người trong nhiều mục đích khác nhau mà bên cạnh đó chúng còn là các công cụ giải trí, cải thiện

và nâng cao chất lượng cuộc sống Đặc biệt là các thiết bị di động thông minh, chúng cung cấp cho người dùng vô số các ứng dụng, các tiện ích công nghệ đáp ứng được nhiều nhu cầu sử dụng khác nhau cũng như các trải nghiệm công nghệ mới

Không chỉ dừng lại ở nhu cầu giải trí, việc mua bán trao đổi qua các ứng dụng di

động ngày càng phát triển và phổ biến Cụ thể, các ứng dụng Bán hàng trực tuyến sẽ

dần dần thay thế những phương thức kinh doanh cũ trong các doanh nghiệp bởi tính ưu việt mà những ứng dụng này mang lại được như: nhanh hơn, rẻ hơn, tiện dụng hơn, hiệu quả hơn và không bị giới hạn không gian và thời gian

Đặc biệt, trong giai đoạn phòng và chống dịch Covid-19 vô cùng căng thẳng và khó khăn như hiện nay, dưới sự chỉ đạo của Nhà nước về các quy định giãn cách xã hội, hạn chế tụ tập đông người, cũng như hạn chế các hoạt động mua bán trực tiếp, điều này đã ảnh hưởng rất nhiều đến trải nghiệm của người dùng đối với các nhu cầu hằng ngày, trong đó có nhu cầu đối với các mặt hàng là sách

Nhận thấy điều đó, cùng với vị trí và vai trò của thời đại công nghệ 5.0, nhóm chúng

em quyết định làm ỨNG DỤNG BÁN SÁCH TRỰC TUYẾN – BIBLIOPHILE để

trở thành phương tiện kết nối từ xa với khách hàng trong việc đặt, mua sách Ứng dụng này không những có thể đảm bảo an toàn sức khỏe cho người dùng mà còn có thể đáp ứng được các nhu cầu cần thiết về cung và cầu đối với mặt hàng sách, về duy trì hoạt động kinh doanh của cửa hàng

Trang 9

III TÓM TẮT ĐỀ TÀI:

Ứng dụng bán sách trực tuyến kinh doanh các mặt hàng sách bao gồm nhiều thể loại, nhiều tác giả và nhiều nhà xuất bản khác nhau Trong bối cảnh công nghệ đang ngày càng chiếm ưu thế và đóng vai trò to lớn trong các hoạt động kinh tế lẫn cuộc sống con người hiện nay, đặc biệt là tình hình dịch bệnh Covid ảnh hưởng các hoạt động kinh doanh, một số cửa hàng sẽ gặp khó khăn trong việc kinh doanh nếu không chuyển đổi sang một mô hình mới để tiếp cận từ xa đến người dùng Khi đó, các cửa hàng sẽ phải giải quyết bài toán liên quan đến quản lý số lượng mặt hàng, đơn hàng và hoạt động bán hàng trên môi trường trực tuyến cũng như tạo điều kiện cho khách hàng trải nghiệm và tiến hành các hoạt động giao dịch giữa khách hàng với cửa hàng Vì vậy, ứng dụng trước hết là phải giải quyết được các vấn đề trên

IV MỤC TIÊU CỦA ĐỀ TÀI:

- Xây dựng Ứng dụng bán sách trực tuyến cung cấp các chức năng cơ bản cụ thể là việc trình bày các thông tin sách mà cửa hàng đang kinh doanh một cách trực quan giúp khách hàng có thể tìm kiếm và chọn những quyển sách mình muốn, đặt hàng thông qua ứng dụng Thông qua ứng dụng, khách hàng có thể nắm được những thông tin về các quyển sách theo loại về tên sách, tên tác giả, tên nhà xuất bản, giá bán… Và một số chức năng khác như xử lý quá trình chọn, đặt sách, vv…

- Nghiên cứu các công nghệ liên quan để phát triển ứng dụng

- Đưa ra các báo cáo và tài liệu cho môn học

V PHƯƠNG PHÁP NGHIÊN CỨU:

- Nghiên cứu các tài liệu về nghiệp vụ liên quan các hoạt động bán hàng trực tiếp hoặc trực tuyến

- Tiến hình khảo sát lấy yêu cầu thực tế từ người dùng

- Tham khảo một số ứng dụng bán sách trực tuyến như: Fahasa, Tiki, vv…

- Nghiên cứu các tài liệu, video hướng dẫn liên quan cách ứng dụng các công nghệ mới vào quá trình xây dựng ứng dụng

Trang 10

VI Ý NGHĨA VÀ KẾT QUẢ CỦA HƯỚNG ĐỀ TÀI:

1 Về mặt sản phẩm:

- Tạo ra được ứng dụng bán sách trực tuyến, đảm bảo có thể kết nối từ xa

- Xử lý được các công đoạn mua bán sách một cách nhanh chóng và hiệu quả

- Các chức năng hướng về người dùng

Trang 11

CHƯƠNG II: CÔNG NGHỆ LIÊN QUAN

I TÌM HIỂU VỀ FLUTTER:

1 Flutter:

- Flutter được biến đến là một nền tảng hỗ trợ phát triển phần mềm, ứng dụng di động Những ứng dụng đa nền cho hệ điều hành iOS và Android do tập đoàn Google phát triển

- Flutter là mobile UI framework tạo ra các giao diện chất lượng cao trên iOS và Android trong khoảng thời gian ngắn

- Flutter hoàn toàn miễn phí và cũng là mã nguồn mở

- Flutter gồm 2 thành phần quan trọng:

+ Một SDK (Software Development Kit): Một bộ sưu tập các công cụ sẽ

giúp bạn phát triển các ứng dụng của mình Điều này bao gồm các công cụ để biên dịch mã của bạn thành mã máy gốc (mã cho iOS và Android)

+ Một Framework (UI Library based on widgets): Một tập hợp các thành

phần giao diện người dùng (UI) có thể tái sử dụng (button, text inputs, slider, v.v.) giúp bạn có thể cá nhân hóa tùy theo nhu cầu của riêng mình

- Một số tính năng nổi bật của Flutter:

+ Flutter hiện đã và đang là một react framework

+ Sử dụng ngôn ngữ lập trình Dart đơn giản và dễ học

+ Phát triển ứng dụng nhanh

+ Giao diện người dùng rất đẹp và linh hoạt

+ Hỗ trợ rất nhiều widget khác nhau

+ Thể hiện cùng một UI trên nhiều nền tảng

+ Ứng dụng có hiệu năng cao

Trang 12

- Một số ưu điểm của Dart:

+ 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ẽ, là 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

+ 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ễ gần: 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

+ Reactive: Dart rất phù hợp với lập trình Reactive, với sự hỗ trợ để quản lý

các đối tượng tồn tại trong thời gian ngắn, chẳng hạn như các widget UI, thông qua phân bổ đối tượng nhanh và GC Dart hỗ trợ lập trình không đồng bộ thông qua các tính năng ngôn ngữ và API sử dụng các đối tượng Future và Stream

3 Lí do nên sử dụng Flutter:

- Phát triển ứng dụng nhanh chóng: Tính năng hot reload giúp bạn nhanh

chóng và dễ dàng thử nghiệm, xây dựng giao diện người dùng, thêm tính năng và sửa lỗi nhanh hơn Trải nghiệm tải lại lần thứ hai, mà không làm mất trạng thái, trên emulator, simulator và device cho iOS và Android

- Giao diện người dùng đẹp và thu hút: Thỏa mãn người dùng của bạn với các

widget built-in đẹp mắt của Flutter theo Material Design và Cupertino (iOS-flavor), các giao diện lập trình ứng dụng (API) chuyển động phong phú, scroll tự nhiên mượt

mà và tự nhận thức được nền tảng

- Framework hiện đại: Dễ dàng tạo giao diện người dùng của bạn với

framework hiện đại của Flutter và tập hợp các platform, layout và widget phong phú Giải quyết các thách thức giao diện người dùng khó khăn của bạn với các API mạnh

mẽ và linh hoạt cho 2D, animation, gesture, hiệu ứng và hơn thế nữa

II TÌM HIỂU VỀ FIREBASE:

1 Firebase là gì:

- Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây – cloud Kèm theo đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google Chức năng chính là giúp người dùng lập trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu

Trang 13

- Firebase cung cấp các dịch vụ đa năng và bảo mật cực tốt Firebase hỗ trợ cả hai nền tảng Android và IOS

- Với việc sử dụng Firebase, developer có thể tập trung vào việc phát triển application mà không cần lo về việc sản phẩm của mình sẽ hoạt động và được quản

lý thể nào ở phía Backend

2 Các chức năng chính của Firebase được nghiên cứu áp dụng vào đồ án:

2.1 Firebase Cloud Storage:

- Firebase Cloud Storage hỗ trợ việc quản lý, chia sẻ các content người dùng upload lên như ảnh, video; cũng như sử dụng những tài nguyên ấy cho ứng dụng của bạn

- Data được lưu trữ trong Google Cloud Storage buckets, và có thể được access từ server

2.2 Firebase Realtime Database:

- Firebase Realtime Database là dịch vụ lưu trữ và đồng bộ dữ liệu người dùng thời gian thực Có hỗ trợ cho Android, IOS, Web, C++, Unity và Xamarin Người dùng có thể lưu trữ và lấy dữ liệu từ máy chủ rất dễ dàng

3 Ưu điểm:

- Tạo tài khoản và sử dụng dễ dàng

- Tốc độ phát triển nhanh

- Nhiều dịch vụ trong một nền tảng

- Được cung cấp bởi Google

- Tập trung vào phát triển giao diện người dùng

- Firebase không có máy chủ

- Machine Learning

- Tạo lưu lượng truy cập

- Theo dõi lỗi

- Sao lưu

Trang 14

4 Nhược điểm:

- Không phải là mã nguồn mở

- Người dùng không có quyền truy cập mã nguồn

- Firebase không hoạt động ở nhiều quốc gia

- Chỉ hoạt động với Cơ sở dữ liệu NoSQL

- Truy vấn chậm tùy vào tốc độ Internet và độ phức tạp của các thao tác truy xuất

dữ liệu

- Không phải tất cả các dịch vụ Firebase đều miễn phí

- Firebase chỉ ổn định và thực sự tiện dụng khi người dùng trả phí để sử dụng

- Chỉ chạy trên Google Cloud

Trang 15

CHƯƠNG III: MÔ HÌNH USE CASE

I SƠ ĐỒ USE CASE MỨC TỔNG QUÁT:

Trang 16

II DANH SÁCH CÁC USE CASE:

STT Tên Use case Mô tả chung

1 Đăng nhập Dùng tài khoản đã tạo đăng nhập vào hệ thống

2 Đăng ký Tạo tài khoản mới

3 Đăng xuất Thoát tài khoản khỏi hệ thống

4 Tìm kiếm sách Tìm kiếm sách theo tên sách đã nhập

5 Hiển thị sách theo hạng mục Hiển thị danh sách theo cách hạng mục như

tác giả, nhà xuất bản, thể loại, vv…

6 Xem thông tin sách

Hiển thị chi tiết các thông tin về sách như tên sách, nhà xuất bản, năm xuất bản, thể loại, tác giả, mô tả, vv…

7 Thêm sách vào giỏ hàng Thêm sách muốn mua vào giỏ hàng

8 Yêu thích Thêm sách đã chọn vào danh sách yêu thích

9 Bỏ yêu thích Bỏ sách đã chọn khỏi danh sách yêu thích

10 Xem danh sách yêu thích Xem danh sách các sách đã chọn yêu thích

11 Xem giỏ hàng Xem danh sách các sách đã thêm vào giỏ hàng

12 Xác nhận/Thay đổi thông tin

đơn hàng

Xác nhận các thông tin trên đơn hàng, có thể thay đổi thông tin đơn hàng như địa chỉ giao hàng, số điện thoại

13 Chốt đơn hàng Chốt đơn hàng

14 Xem danh sách đơn hàng Xem danh sách các đơn hàng đã đặt với cửa

hàng

15 Xem chi tiết đơn hàng (Khách

hàng) Xem danh sách các sách đã đặt trong đơn hàng

16 Xóa đơn hàng (Khách hàng) Xóa đơn hàng (chỉ xóa được khi đơn hàng đang

ở trạng thái chưa xác nhận từ bên cửa hàng)

17 Cập nhật thông tin tài khoản Cập nhật thông tin tài khoản như họ tên, số

điện thoại, địa chỉ, vv…

18 Chat Thực hiện việc trao đổi từ xa giữa khách hàng

và cửa hàng

Trang 17

19 Xem thông tin cửa hàng

Hiển thị các thông tin cơ bản của cửa hàng như tên cửa hàng, tên chủ cửa hàng, địa chỉ cửa hàng, vv…

20 Thêm sách Thêm sách mới

21 Cập nhật sách Cập nhật sách đang kinh doanh

22 Quản lý đơn đặt hàng Hiển thị danh sách các đơn đặt hàng của tất cả

khách hàng đã đặt

23 Xem chi tiết đơn hàng (Chủ cửa

hàng)

Xem danh sách các sách Khách hàng đã đặt trong đơn hàng

24 Cập nhật trạng thái đơn đặt

hàng

Thay đổi trạng thái đơn đặt hàng lần lượt theo thứ tự: Chưa xác nhật -> Đang chuẩn bị -> Đang giao hàng -> Đã nhận hàng

25 Xóa đơn hàng (Chủ cửa hàng)

Xóa đơn hàng (chỉ xóa được khi đơn hàng đang

ở trạng thái chưa xác nhận hoặc đang chuẩn bị)

26 Cập nhật thông tin cửa hàng

Cập nhật các thông tin của cửa hàng như tên chủ cửa hàng, địa chỉ cửa hàng, số điện thoại, vv…

III ĐẶC TẢ USE CASE:

1 Use case Đăng nhập:

Mô tả Khách hàng/Chủ cửa hàng đăng nhập vào ứng dụng thông qua tài khoản đã tạo trước đó Tác nhân Khách hàng/Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng/Chủ cửa hàng yêu cầu

mở màn hình Đăng nhập

2 Hiển thị màn hình đăng nhập

3 Nhập tên tài khoản, mật khẩu Chọn nút Đăng nhập

4 Kiểm tra tên tài khoản và mật khẩu

5 Chuyển đến màn hình trang chủ tùy theo vai trò đăng nhập là Khách hàng hay Chủ cửa hàng

Trang 18

Luồng thay

thế

A1 Sai tài khoản, mật khẩu

5 Yêu cầu đăng nhập lại Quay lại bước 2

A2 Đăng nhập bằng Facebook/Google (Khách hàng)

1 Khách hàng chọn button Facebook/Goolge

2 Chọn tài khoản Facebook/Google muốn đăng nhập

3 Chuyển đến màn hình trang chủ dành cho Khách hàng

Vào trang chủ của ứng dụng tương ứng với vai trò đã đăng nhập

2 Use case Đăng ký:

Mô tả Khách hàng đăng ký tài khoản mới để sử dụng cho việc đăng nhập vào

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng yêu cầu mở màn hình Đăng ký

8 Thông báo đăng ký tài khoản thành công

Luồng thay

thế

A1 Sai định dạng các thông tin đã nhập

5 Yêu cầu nhập lại đúng định dạng các thông tin sai định dạng A2 Email đã được đăng ký cho một tài khoản khác

Trang 19

6 Hệ thống yêu cầu người dùng đăng ký bằng email khác A3 Người dùng chưa xác thực tài khoản và hết thời gian xác thực

2 Chọn tài khoản Facebook/Google muốn đăng nhập

7 Tài khoản sẽ không được tạo

Tạo tài khoản trên hệ thống và thông báo đã đăng ký tài khoản thành công

3 Use case Đăng xuất:

Mô tả Khách hàng/Chủ cửa hàng đăng xuất tài khoản khỏi ứng dụng

Tác nhân Khách hàng/Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng/Chủ cửa hàng chọn Đăng xuất

2 Đăng xuất tài khoản khỏi ứng dụng

3 Hiển thị trang đăng nhập

Trang 20

4 Use case Tìm kiếm sách:

Mô tả Khách hàng/Chủ cửa hàng tìm kiếm sách theo tên sách đã nhập

Tác nhân Khách hàng/Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng/Chủ cửa hàng nhập tên sách muốn tìm trong phần Tìm kiếm

2 Hiển thị danh sách các sách phù hợp với giá trị tìm kiếm người dùng đã nhập

Hiển thị danh sách các sách ứng với giá trị tìm kiếm

5 Use case Hiển thị sách theo hạng mục:

Mô tả Khách hàng/Chủ cửa hàng chọn các hạng mục như thể loại, tác giả, nhà xuất bản để màn hình hiển thị danh sách sách tương ứng Tác nhân Khách hàng/Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng/Chủ cửa hàng chọn một loại thể loại

2 Hiển thị danh sách các sách tương ứng với thể loại đã chọn

Luồng thay

thế

A1 Hiển thị sách theo hạng mục tác giả

1 Khách hàng/Chủ cửa hàng chọn tên tác giả

2 Hiển thị danh sách các sách tương ứng với tác giả đã chọn A1 Hiển thị sách theo hạng mục nhà xuất bản

1 Khách hàng/Chủ cửa hàng chọn tên nhà xuất bản

2 Hiển thị danh sách các sách tương ứng với nhà xuất bản đã chọn

Trang 21

6 Use case Xem thông tin sách:

Mô tả Khách hàng/Chủ cửa hàng xem chi tiết các thông tin của sách như tên sách, tác giả, nhà xuất bản, năm xuất bản, vv… Tác nhân Khách hàng/Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng/Chủ cửa hàng chọn một quyển sách

2 Hiển thị màn hình Thông tin sách ứng với sách đã chọn

Hiển thị trang thông tin sách

7 Use case Thêm sách vào giỏ hàng:

Mô tả Khách hàng chọn số lượng sách muốn mua và thêm vào giỏ hàng

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng đang ở màn hình Thông tin sách ứng với sách đã chọn

2 Khách hàng chọn số lượng sách muốn mua

3 Khách hàng chọn thêm sách vào giỏ hàng

4 Kiểm tra số lượng sách hiện tại ứng với sách Khách hàng chọn xem có đáp ứng được không

5 Thêm sách và số lượng Khách hàng muốn mua vào giỏ hàng Thông báo thêm thành công

Trang 22

Số lượng sách người dùng muốn mua được thêm vào giỏ hàng

8 Use case Yêu thích:

Mô tả Khách hàng thêm sách vào danh sách yêu thích

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng đang ở màn hình Thông tin sách ứng với sách đã chọn

2 Khách hàng chọn biểu tượng trái tim

3 Đổi màu trái tim sang đỏ và thêm sách Khách hàng đã tim vào danh sách yêu thích Thông báo đã thêm sách vào danh sách yêu thích

Điều kiện

sau

Thêm sách Khách hàng đã tim vào danh sách yêu thích

9 Use case Bỏ yêu thích:

Mô tả Khách hàng bỏ sách khỏi danh sách yêu thích

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng đang ở màn hình Thông tin sách ứng với sách đã chọn

2 Sách đã chọn đã được thêm vào danh sách yêu thích trước đó

3 Hiển thị trái tim màu đỏ

Trang 23

3 Khách hàng chọn vào biểu tượng trái tim

4 Đổi màu trái tim sang xám và bỏ sách này khỏi danh sách yêu thích Thông báo đã bỏ sách khỏi danh sách yêu thích

Điều kiện

sau

Bỏ sách khỏi danh sách yêu thích

10 Use case Xem danh sách yêu thích:

Mô tả Khách hàng xem danh sách các sách đã yêu thích / đã tim

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng chọn mở Danh sách sách yêu thích

2 Hiển thị màn hình Danh sách sách yêu thích

Hiển thị màn hình Danh sách sách yêu thích

11 Use case Xem giỏ hàng:

Mô tả Khách hàng xem danh sách các sách đã thêm ở trong giỏ hàng

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng chọn biểu tượng Giỏ hàng

2 Hiển thị màn hình Giỏ hàng chứa các sách Khách hàng đã thêm vào

Luồng thay

thế Không có

Trang 24

Hiển thị màn hình Giỏ hàng chứa các sách Khách hàng đã thêm vào

12 Use case Xác nhận/Thay đổi thông tin đơn hàng:

2 Khách hàng điều chỉnh số lượng các sách trong giỏ hàng theo ý muốn

3 Khách hàng chọn Checkout 4 Hiển thị màn hình Xác nhận đơn hàng

5 Khách hàng giữ nguyên thông tin địa chỉ, số điện thoại

Luồng thay

thế

A1 Khách hàng thay đổi địa chỉ

5 Khách hàng chọn Change ở mục địa chỉ

6 Ứng dụng hiển thị trang Thay đổi địa chỉ

7 Khách hàng nhập địa chỉ muốn thay đổi

8 Hệ thống cập nhật địa chỉ ứng với giá trị đã nhập trên tài khoản Khách hàng và ứng dụng chuyển về màn hình Xác nhận đơn hàng với thông tin địa chỉ đã được cập nhật

A2 Khách hàng thay đổi số điện thoại

5 Khách hàng chọn Change ở mục số điện thoại

6 Ứng dụng hiển thị trang Thay đổi số điện thoại

7 Khách hàng nhập số điện thoại muốn thay đổi

8 Hệ thống cập nhật số điện thoại ứng với giá trị đã nhập trên tài khoản Khách hàng

và ứng dụng chuyển về màn hình Xác nhận đơn hàng với thông tin số điện thoại đã được cập nhật

Trang 25

13 Use case Chốt đơn hàng:

Mô tả Khách hàng chốt đơn hàng và gửi đơn hàng đến cửa hàng

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng đang ở màn hình Xác nhận đơn hàng

2 Khách hàng chốt đơn hàng 3 Kiểm tra số lượng các sách Khách hàng

muốn mua liệu kho của cửa hàng có thể đáp ứng đủ hay không

4 Hiển thị thông báo đã chốt đơn hàng thành công

5 Chọn quay về trang chủ 6 Chuyển về trang chủ

Luồng thay

thế

A1 Một trong số các sách Khách hàng muốn mua cửa hàng không thể đáp ứng được

số lượng

4 Thông báo không thể đáp ứng được đơn hàng

5 Xóa đơn hàng và các sách trong giỏ hàng

6 Quay lại trang chủ

Trang 26

14 Use case Xem danh sách đơn hàng:

Mô tả Khách hàng xem danh sách các đơn hàng đã đặt lần lượt ở 4 trạng thái: Chưa xác nhận, Đang chuẩn bị, Đang giao hàng, Đã nhận hàng Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng chọn Danh sách đơn hàng

2 Hiển thị màn hình Danh sách đơn hàng

2 Chọn các tab trạng thái các đơn hàng muốn xem

3 Hiển thị danh sách các đơn hàng người dùng đã đặt ứng với trạng thái đã chọn

Hiển thị danh sách các đơn hàng Khách hàng đã đặt

15 Use case Xem chi tiết đơn hàng (Khách hàng):

Mô tả Khách hàng xem chi tiết các sách đã mua trong đơn hàng đã chọn

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng đang ở màn hình Danh sách đơn hàng

2 Chọn đơn hàng muốn xem 3 Hiển thị danh sách các sách đã mua trong

Trang 27

16 Use case Xóa đơn hàng (Khách hàng):

Mô tả Khách hàng xóa đơn hàng

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng đang ở màn hình Danh sách đơn hàng

2 Kéo sang phải trên đơn hàng muốn xóa

3 Hệ thống xóa đơn hàng Khách hàng đã chọn, thông báo xóa thành công và cập nhật danh sách đơn hàng sau khi đã xóa trên màn hình

Điều kiện

sau

Xóa đơn hàng Khách hàng chọn khỏi danh sách đơn hàng trên màn hình

17 Use case Cập nhật thông tin tài khoản:

Mô tả

Khách hàng/Chủ cửa hàng cập nhật một số thông tin tài khoản như avatar, họ tên,

số điện thoại, địa chỉ, vv…

Tác nhân Khách hàng/Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng/Chủ cửa hàng chọn Thay đổi thông tin tài khoản

2 Hiển thị màn hình Thay đổi thông tin tài khoản

3 Điền, thay đổi các thông tin muốn cập nhật

4 Kiểm tra các giá trị xem có đúng định dạng, hợp lệ hay không

5 Cập nhật thông tin tài khoản trên hệ thống và trên màn hình ứng dụng Thông báo cập nhật thông tin tài khoản thành công

Luồng thay

thế

A1 Nhập thông tin sai định dạng

5 Thông báo sai định dạng và yêu cầu nhập lại

Trang 28

A2 Thay đổi mật khẩu

1 Khách hàng/Chủ cửa hàng chọn Đổi mật khẩu

2 Ứng dụng hiển thị màn hình Đổi mật khẩu

3 Khách hàng/Chủ cửa hàng nhập mật khẩu hiện tại, mật khẩu mới

4 Kiểm tra mật khẩu hiện tại có đúng hay không, kiểm tra định dạng các giá trị mật khẩu, nếu đúng thì tiếp tục thực hiện bước 5, nếu không thì thông báo lỗi và quay lại bước 3

5 Hệ thống cập nhật mật khẩu tài khoản và thông báo đã cập nhật thành công

Cập nhật thông tin tài khoản của Khách hàng/Chủ cửa hàng

18 Use case Chat:

Mô tả Thực hiện trao đổi từ xa giữa Chủ cửa hàng và Khách hàng

Tác nhân Khách hàng/Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng/Chủ cửa hàng chọn biểu tượng Tin nhắn

2 Nếu tài khoản đang đăng nhập là Khách hàng thì sẽ hiển thị màn hình Chat trao đổi tin nhắn giữa Khách hàng và Chủ cửa hàng Ngược lại nếu là Chủ cửa hàng đang đăng nhập, sẽ hiển thị danh sách các Khách hàng

đã nhắn tin với cửa hàng

3 Chủ cửa hàng chọn Khách hàng muốn nhắn tin

4 Hiển thị màn hình Chat trao đổi tin nhắn giữa Chủ cửa hàng và Khách hàng

Trang 29

19 Use case Xem thông tin cửa hàng:

Mô tả Khách hàng xem các thông tin của cửa hàng như họ tên chủ cửa hàng, địa chỉ cửa hàng, số điện thoại cửa hàng, tên cửa hàng, vv… Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Khách hàng chọn Thông tin cửa hàng

2 Hiển thị màn hình Thông tin cửa hàng

20 Use case Thêm sách:

Mô tả Chủ cửa hàng thêm sách mới bao gồm các thông tin như tên sách, tác giả, năm xuất bản, nhà xuất bản, giá, vv… Tác nhân Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chủ cửa hàng chọn Thêm sách 2 Hiển thị màn hình Thêm sách

3 Chủ cửa hàng nhập thông tin sách muốn thêm Chọn Thêm

4 Kiểm tra các giá trị đã nhập hoặc chọn

5 Thêm sách vào hệ thống và thông báo đã thêm sách thành công

Luồng thay

thế

A1 Sai định dạng thông tin sách

5 Thông báo sai định dạng thông tin và quay lại bước 3

Trang 30

2 Chủ cửa hàng chọn Cập nhật Sách 3 Hiển thị màn hình Cập nhật sách

4 Chủ cửa hàng điền các thông tin sách muốn cập nhật Chọn Cập nhật

5 Kiểm tra các giá trị đã nhập hoặc chọn

6 Cập nhật thông tin sách ứng với sách đã chọn trên hệ thống và thông báo đã cập nhật thành công

Luồng thay

thế

A1 Sai định dạng thông tin sách

6 Thông báo sai định dạng thông tin và quay lại bước 4

Cập nhật thông tin sách đã chọn trên hệ thống

22 Use case Quản lý đơn đặt hàng:

Mô tả Chủ cửa hàng xem danh sách toàn bộ các đơn đặt hàng của các Khách hàng ứng với các trạng thái lần lượt: Chưa xác nhận, Đang chuẩn bị, Đang giao hàng, Đã nhận hàng Tác nhân Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chủ cửa hàng chọn Quản lý đơn đặt hàng

2 Hiển thị màn hình Danh sách đơn hàng chứa toàn bộ các đơn đặt hàng của các Khách hàng

3 Chủ cửa hàng chọn một tab trạng thái đơn hàng

4 Hiển thị danh sách toàn bộ các đơn hàng của các Khách hàng ứng với trạng thái đã chọn

Luồng thay

thế Không có

Trang 31

23 Use case Xem chi tiết đơn đặt hàng (Chủ cửa hàng):

Mô tả Chủ cửa hàng xem chi tiết các sách đã mua trong đơn hàng của Khách hàng đã chọn Tác nhân Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chủ cửa hàng đang ở màn hình Danh sách đơn hàng

2 Chọn đơn hàng muốn xem 3 Hiển thị danh sách các sách đã đặt mua

Hiển thị danh sách các sách Khách hàng đã mua trong đơn hàng đã chọn

24 Use case Cập nhật trạng thái đơn đặt hàng:

Mô tả Chủ cửa hàng cập nhật trạng thái các đơn đặt hàng lần lượt theo thứ tự: Chưa xác nhận -> Đang chuẩn bị -> Đang giao hàng -> Đã nhận hàng Tác nhân Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chủ cửa hàng đang ở màn hình Danh sách đơn hàng

2 Chọn đơn hàng muốn cập nhật trạng thái và vuốt theo hướng từ trái sang phải

3 Cập nhật trạng thái đơn hàng theo thứ tự: Chưa xác nhận -> Đang chuẩn bị -> Đang giao hàng -> Đã nhận hàng Thông báo cập nhật đơn hàng thành công

Trang 32

4 Cập nhật màn hình Dang sách đơn hàng chứa các đơn hàng ứng với trạng thái hiện tại đang chọn

Điều kiện

sau

Cập nhật trạng thái của đơn hàng đã chọn

25 Use case Xóa đơn hàng (Chủ cửa hàng):

Mô tả Chủ cửa hàng xóa đơn hàng

Tác nhân Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chủ cửa hàng đang ở màn hình Danh sách đơn hàng

2 Kéo sang phải trên đơn hàng muốn xóa

3 Hệ thống xóa đơn hàng Chủ cửa hàng đã chọn, thông báo xóa thành công và cập nhật danh sách đơn hàng sau khi đã xóa trên màn hình

Điều kiện

sau

Xóa đơn hàng đã chọn khỏi danh sách các đơn hàng

Trang 33

26 Use case Cập nhật thông tin cửa hàng:

Mô tả Chủ cửa hàng cập nhật các thông tin của cửa hàng như họ tên chủ cửa hàng, số điện thoại cửa hàng, địa chỉ cửa hàng, vv… Tác nhân Chủ cửa hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chủ cửa hàng chọn Cập nhật thông tin cửa hàng

2 Hiển thị màn hình Cập nhật thông tin cửa hàng

3 Điền các thông tin muốn cập nhật 4 Kiểm tra các thông tin đã nhập, chọn xem

đúng định dạng hay chưa

5 Cập nhật thông tin trên hệ thống và màn hình hiện tại Thông báo cập nhật thành công

Luồng thay

thế

A1 Sai định dạng thông tin

5 Thông báo sai định dạng và quay lại bước 3

Trang 34

CHƯƠNG IV: PHÂN TÍCH HỆ THỐNG

Ngày đăng: 15/01/2022, 21:44

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
4. Flutter UI Design Series: https://www.youtube.com/watch?v=Y6xAQVXkhLA Sách, tạp chí
Tiêu đề: Flutter UI Design Series
8. Build Flutter Chat App with Firebase Auth & Firestore: https://www.youtube.com/watch?v=FTju8w4zEno&t=4118s 9. Flutter Tutorial – Build A Chat App With Flutter & Firebase Sách, tạp chí
Tiêu đề: Build Flutter Chat App with Firebase Auth & Firestore
1. Hướng dẫn chi tiết cài đặt Flutter và Android Studio trên Window: https://www.youtube.com/watch?v=lXLGqJvmJFY Link
2. Lập trình di động với Flutter căn bản: https://www.youtube.com/watch?v=WL3g5DHJ4pA&list=PLRhlTlpDUWsxWhGA4jTr0oGeNs7xYyDPW Link
3. Get started with Firebase on Flutter: https://www.youtube.com/watch?v=EXp0gq9kGxI&t=759s Link
5. Flutter & Firebase App Build: https://www.youtube.com/watch?v=sfA3NWDBPZ4&list=PL4cUxeGkcC9j--TKIdkb3ISfRbJeJYQwC Link
6. Ebook Online Book Reading App: https://www.youtube.com/watch?v=ACdraZRANaU Link
7. Building Flutter Book App Concept: https://www.youtube.com/watch?v=Zz0IKZBnk_Y Link

HÌNH ẢNH LIÊN QUAN

Hình trên Flutter  06/10/2021  31/10/2021  Minh Thi  Hoàn thành - Tìm hiểu về FLUTTER và xây dựng ứng dụng bán sách trực tuyến
Hình tr ên Flutter 06/10/2021 31/10/2021 Minh Thi Hoàn thành (Trang 68)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w