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

Báo cáo phát triển Ứng dụng trên nền tảng di dộng Đề tài xây dựng Ứng dụng bán Đồ Ăn nhanh

47 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

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

Nội dung

Nhà hàng và các chuỗi cung cấp sản phẩm ẩm thực hiện có thểtiếp cận và phục vụ một lượng lớn người dùng và khách hàng thông qua việc kếthợp với công nghệ di động, điều này cũng làm t

Trang 1

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO PHÁT TRIỂN ỨNG DỤNG TRÊN NỀN

TẢNG DI DỘNG

ĐỀ TÀI:

XÂY DỰNG ỨNG DỤNG BÁN ĐỒ ĂN NHANH

Cán bộ hướng dẫn:

Ts Nguyễn Mạnh Thắng

Sinh viên thực hiện:

- Nguyễn Thị Bích Tuệ - AT170455

- Nguyễn Đình Huy – AT170424

- Trần Văn Hùng – AT170423

- Trần Công Minh – AT170433

Hà Nội, 2023

Trang 2

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN

PHÁT TRIỂN ỨNG DỤNG TRÊN NỀN TẢNG DI ĐỘNG

ĐỀ TÀI:

XÂY DỰNG ỨNG DỤNG BÁN ĐỒ ĂN NHANH

Nhận xét của cán bộ hướng dẫn:

Điểm chuyên cần:

Điểm báo cáo:

Xác nhận của cán bộ hướng dẫn

Trang 3

MỤC LỤC

MỤC LỤC 2

DANH MỤC BẢNG BIỂU 4

DANH MỤC HÌNH VẼ 5

LỜI MỞ ĐẦU 6

CHƯƠNG I : TỔNG QUÁT 7

1 MÔ TẢ BÀI TOÁN : 7

2 MÔ TẢ CHỨC NĂNG: 7

CHƯƠNG II : KHẢO SÁT VẤN ĐỀ VÀ MÔ HÌNH TRIỂN KHAI 9

2.1 KHẢO SÁT VẤN ĐỀ VÀ MÔ HÌNH TRIỂN KHAI: 9

2.2 CÔNG NGHỆ SỬ DỤNG : 10

2.2.1 ANDROID STUDIO : 10

2.2.2 FLUTTER : 11

2.2.3 DART : 11

2.2.4 ANDROID : 12

2.2.5 IOS : 13

2.3 PHÂN TÍCH HỆ THỐNG 14

2.3.1 SƠ ĐỒ USE CASE TỔNG QUÁT : 14

2.3.2 BIỂU ĐỒ TUẦN TỰ 21

2.4 THIẾT KẾ CƠ SỞ DỮ LIỆU 23

2.4.1 CƠ SỞ DỮ LIỆU : 23

2.4.2 MÔ TẢ CƠ SỞ DỮ LIỆU : 23

2.5 CƠ CHẾ AN TOÀN HỆ THỐNG 26

2.5.1 TRÊN ỨNG DỤNG DI ĐỘNG : 26

2.5.2 TRÊN HỆ THỐNG BACKEND BẰNG LARAVEL : 33

CHƯƠNG III : TRIỂN KHAI THỰC NGHIỆM 35

3.1 GIAO DIỆN HỆ THỐNG: 35

Trang 4

3.2 GIAO DIỆN HỆ THỐNG QUẢN LÍ PHÍA BACKEND 42

KẾT LUẬN 44

a Đánh giá kết quả đạt được: 44

b Hạn chế, tồn tại: 44

TÀI LIỆU THAM KHẢO 45

Trang 5

DANH MỤC BẢNG BIỂU

BẢNG 1 : BẢNG CHỨC NĂNG HỆ THỐNG 8

BẢNG 2: ĐẶC TẢ USECASE ĐĂNG NHẬP 15

BẢNG 3: ĐẶC TẢ USECASE ĐĂNG KÍ 16

BẢNG 4: ĐẶC TẢ USE CASE QUÊN MẬT KHẨU 17

BẢNG 5 : ĐẶC TẢ USECASE TẠO ĐƠN HÀNG 18

BẢNG 6: ĐẶC TẢ USECASE THANH TOÁN 19

BẢNG 7: ĐẶC TẢ USECASE QUẢN LÍ GIỎ HÀNG 19

BẢNG 8: ĐẶC TẢ USECASE DUYỆT ĐƠN HÀNG 20

BẢNG 9 : ĐẶC TẢ USE CASE THÊM SẢN PHẨM 21

BẢNG 10 : BẢNG ADMIN 23

BẢNG 11 : BẢNG CHI TIẾT ĐƠN HÀNG 24

BẢNG 12: BẢNG SẢN PHẨM 24

BẢNG 13 : BẢNG DANH MỤC SẢN PHẨM 24

BẢNG 14: BẢNG ĐƠN HÀNG 24

BẢNG 15: BẢNG KHÁCH HÀNG 25

Trang 6

DANH MỤC HÌNH VẼ

HÌNH 1: SƠ ĐỒ USECASE TỔNG QUÁT 13

HÌNH 2: BIỂU ĐỒ TUẦN TỰ CHỨC NĂNG ĐĂNG NHẬP 20

HÌNH 3: BIỂU ĐỒ TUẦN TỰ CHỨC NĂNG ĐĂNG KÝ 21

HÌNH 4: BIỂU ĐỒ TUẦN TỰ ĐẶT HÀNG 21

HÌNH 5: BIỂU ĐỒ ER 22

HÌNH 6: GIAO DIỆN ĐĂNG NHẬP 25

HÌNH 7 : GIAO DIỆN ĐĂNG KÝ 25

HÌNH 8: GIAO DIỆN TRANG CHỦ 26

HÌNH 9: GIAO DIỆN CHI TIẾT SẢN PHẨM 26

HÌNH 10 : GIAO DIỆN CHI TIẾT GIỎ HÀNG 27

HÌNH 11: GIAO DIỆN TRANG ĐỊA CHỈ 27

HÌNH 12: GIAO DIỆN TRANG CÁ NHÂN 28

HÌNH 13: GIAO DIỆN THÔNG TIN ĐẶT HÀNG 29

HÌNH 14: THÔNG BÁO ĐẶT HÀNG THÀNH CÔNG 30

HÌNH 15: ĐÃ ĐẶT 30

HÌNH 16: ĐANG GIAO 30

HÌNH 17: HOÀN THÀNH 30

HÌNH 18: GIAO DIỆN ĐÁNH GIÁ SẢN PHẨM 31

HÌNH 19: CẢM ƠN 31

Trang 7

LỜI MỞ ĐẦU

Công nghệ thông tin ngày nay đang phát triển mạnh mẽ, và việc áp dụng cáctiến bộ của công nghệ này mang lại hiệu quả và lợi ích lớn trên mọi lĩnh vực củađời sống xã hội, bao gồm cả lĩnh vực ẩm thực và nhà hàng Sự phổ biến của việc

sử dụng điện thoại di động đã tạo ra cơ hội cho sự phát triển đáng kể của lĩnh vựcgiao đồ ăn nhanh Nhà hàng và các chuỗi cung cấp sản phẩm ẩm thực hiện có thểtiếp cận và phục vụ một lượng lớn người dùng và khách hàng thông qua việc kếthợp với công nghệ di động, điều này cũng làm tăng tính chuyên nghiệp của họ.Chúng tôi nhận thức được nhu cầu ngày càng tăng cao này, và vì vậy, nhómchúng tôi đã chọn đề tài "Xây dựng ứng dụng bán đồ ăn nhanh" Chúng tôi đãphát triển một ứng dụng cho phép khách hàng đặt hàng từ nhà hàng một cách tiệnlợi thông qua thiết bị di động Điều này giúp tối ưu hóa thời gian, không gian vàtiện ích cho cả hai bên: khách hàng và nhà hàng

Do kiến thức bản thân còn hạn chế cũng như chưa có kinh nghiệm làm mộtchương trình lớn và có tính ứng dụng thực tế cao nên trong quá trình thực hiệnnhóm tôi còn phạm phải nhiều sai sót cũng như chương trình thành phẩm có thểcòn tồn tại lỗi không mong muốn Rất mong nhận được góp ý của thầy để chúngtôi hoàn thiện hơn và rút kinh nghiệm cho những đồ án, dự án lớn hơn trongtương lai Một lần nữa,chúng tôi xin chân thành cảm ơn thầy và chúc thầy nhiềusức khỏe!

Trang 8

CHƯƠNG I : TỔNG QUÁT

1 MÔ TẢ BÀI TOÁN :

- Mô tả ứng dụng: Phần mềm ứng dụng di động cho phép người dùng ở

hệ điều hành IOS và Android có thể đặt món ăn và ship món ăn mà mình yêuthích của nhà hàng từ xa

- Các chức năng của phần mềm: Danh mục sản phẩm, chi tiết sản phẩm,giỏ hàng, thêm sản phẩm vào giỏ hàng, Tạo đơn đặt hàng, trạng thái đơn hàng,thanh toán, đăng nhập / đăng ký, quên mật khẩu, xem thông tin tài khoản, vị tríngười dùng sử dụng Google Map, thêm/sửa/xóa sản phẩm của nhà hàng,

2 Thêm vào giỏ hàng Chức năng thêm sản phẩm vào giỏ hàng Sản

phẩm được add sẽ được hiển thị trong “Giỏ Hàng”

3 Tạo đơn đặt hàng Trong giao diện giỏ hàng, sau khi hoàn thành

chọn sản phẩm sẽ có nút bấm để bắt đầu tạo đơnhàng cho khách hàng Khách hàng sẽ cập nhật vàxác nhận đơn đặt hàng bao gồm địa chỉ, giá trị đơnhàng, trước khi thanh toán

4 Thanh toán Cung cấp các phương thức thanh toán cho

người dùng (Chuyển khoản, tiền mặt, …) Sau khithành toán sẽ trả về bill thành tiền cho khách hàng

5 Trạng thái đơn hàng Sau khi đơn hàng được thanh toán thành công,

trạng thái đơn hàng sẽ được hiển thị trong mụcTrạng thái đơn hàng

6 Đăng nhập Khách hàng sử dụng tài khoản đã đăng ký để

đăng nhập vào ứng dụng

7 Đăng ký Khách hàng đăng ký thông tin cá nhân vào ứng

dụng Thông tin sẽ được lưu vào cơ sở dữ liệu củaứng dụng

8 Quên mật khẩu Khôi phục tài khoản của khách hàng dựa trên

Trang 9

tên đăng nhập và số điện thoại đã đăng ký.

9 Thông tin khách hàng Đây là trang cá nhân của khách hàng (sau khi

đăng ký mới có) sẽ lưu các thông tin cá nhân củakhách hàng cũng như các thông tin về voucher, hộiviên của khách hàng Khách hàng cũng có thể cậpnhật thông tin có trong phần này Cũng có thể xóahoàn toàn tài khoản của họ khỏi hệ thống

10 Thêm/ xóa/ cập nhật sản

phẩm

Thêm / xóa / cập nhật sản phẩm trong hệ thống

11 Duyệt đơn hàng Kiểm tra và kiểm soát các đơn hàng tình trạng

của các đơn hàng được đặt cho hệ thống

Trang 10

CHƯƠNG II : KHẢO SÁT VẤN ĐỀ VÀ MÔ HÌNH

TRIỂN KHAI

2.1 KHẢO SÁT VẤN ĐỀ VÀ MÔ HÌNH TRIỂN KHAI:

- Khảo sát vấn đề: việc mua sắm trực tuyến và đặt đồ ăn qua mạng đã trởthành một phần quan trọng trong cuộc sống hàng ngày của nhiều người trên khắpthế giới, đặc biệt là trong bối cảnh đại dịch COVID-19 Dưới đây là một số xuhướng và tình trạng chung mà tôi biết đến:

+ Sự tăng trưởng mạnh mẽ của thị trường mua sắm trực tuyến: Doanh số bánhàng trực tuyến tăng lên do nhu cầu của người tiêu dùng, cũng như sự phổ biếncủa các nền tảng thương mại điện tử

+ Sự tiện ích: nhanh chóng của đặt hàng và giao hàng qua mạng: Nhiềudoanh nghiệp và nền tảng đã tập trung vào cải thiện dịch vụ giao hàng để thuậntiện hơn cho khách hàng

+ Quản lý an toàn và vệ sinh: Các thông tin liên quan đến an toàn vệ sinh sẽđược kiểm soát chặt chẽ để đảm bảo, nhằm tạo niềm tin cho người sử dụng

+ Sự đón nhận của buôn bán qua mạng: Người dùng đón nhận phương thứcbuôn bán này vô cùng mạnh mẽ, và phản hồi cũng rất tích cực

+ Sự phát triển mạnh mẽ của công nghệ 4.0: Sự góp mặt của nhiều côngnghệ góp phần tạo lên nhiều tiện ích cũng như kinh tế cho người buôn bán cũngnhư khách hàng

- Mô hình: Agile

• Agile là một phương pháp phát triển phần mềm linh hoạt và thích nghi,tập trung vào tạo ra sản phẩm chất lượng và đáp ứng nhu cầu của kháchhàng một cách hiệu quả

- Linh Hoạt và Tương Tác

• Trong Agile, linh hoạt đề cập đến khả năng thay đổi yêu cầu dự án trongquá trình phát triển

• Tương tác thường xuyên giữa các thành viên trong nhóm phát triển vàkhách hàng giúp đảm bảo sự hiểu biết chung và thích ứng nhanh chóng.-Phân Chia Dự Án thành Sprint

• Sprint là một giai đoạn phát triển ngắn hạn, thường kéo dài từ 1 đến 4tuần, giúp quản lý tiến độ và đảm bảo sự thích ứng nhanh chóng

Trang 11

• Việc phân chia dự án thành Sprint cho phép tạo ra sản phẩm có thể sửdụng được từng bước và thu được phản hồi sớm.

-Ưu Tiên Hóa Giá Trị

• Agile giúp đảm bảo rằng các tính năng quan trọng nhất và mang lại giátrị cao nhất cho khách hàng được ưu tiên và phát triển trước

• Sự ưu tiên hóa giá trị đảm bảo rằng sản phẩm cuối cùng đáp ứng nhucầu chính của khách hàng

- Tích Hợp Liên Tục

• Tích hợp liên tục và kiểm thử thường xuyên trong Agile giúp phát hiện

và sửa lỗi sớm hơn trong quá trình phát triển

• Điều này đảm bảo rằng sản phẩm luôn ổn định và có chất lượng cao

- Ứng Dụng Agile trong xây dựng ứng dụng bán đồ ăn nhanh

• Áp dụng Agile vào việc xây dựng ứng dụng bán đồ ăn nhanh cho phépthích nghi với sự biến đổi nhanh chóng trong ngành bán đồ ăn nhanh

• Sự linh hoạt và khả năng thay đổi yêu cầu giúp đảm bảo rằng trang web

sẽ đáp ứng nhu cầu thị trường và khách hàng một cách hiệu quả

2.2 CÔNG NGHỆ SỬ DỤNG :

2.2.1 ANDROID STUDIO :

- Android Studio là một IDE - Integrated Development Environment tập

trung hướng tới đối tượng là các nhà phát triển ứng dụng trên nền tảng Android.Được ra mắt nào ngày 16 tháng 5 năm 2013 tại hội nghị Google I/O AndroidStudio được phát hành miễn phí theo giấy phép Apache Licence 2.0 IDE nàycung cấp quyền truy cập vào Android SDK

- Android SDK là một software development kit là một công cụ dành cho

phát triển ứng dụng một cách toàn diện Chúng bao gồm trình gỡ lỗi, thư viện,trình giả lập thiết bị cầm tay dựa trên QEMU, tài liệu, code mẫu, và các hướngdẫn, hỗ trợ nền tảng Linux, Mac OS X trên 10.5.8, Windows 7 trở lên

Trang 12

2.2.2 FLUTTER :

- Flutter là một bộ công cụ phát triển phần mềm giao diện người dùng với

mã nguồn mở do Google tạo ra Flutter được sử dụng để phát triển các ứng dụng

đa nền tảng cho nhiều hệ điều hành như: IOS, Android, Linux, … từ một cơ sở mãnguồn duy nhất

- Flutter có hai thành phần chính là:

+ Software Development Kit (SDK): Tích hợp các công cụ có khả năng phát

triển ứng dụng bao gồm các công cụ giúp biên dịch mã

+ UI Library based on widgets (Framework): Tổng hợp các thành phần giao

diện người dùng (UI) có thể tái sử dụng (Text input, button slider, )

- Các đặc điểm nổi bật của Flutter:

+ Flutter sử dụng ngôn ngữ DART một ngôn ngữ nhanh, hướng đối tượngvới nhiều tính năng hữu ích

+ Flutter có cơ chế riêng để hỗ trợ cơ chế kết xuất trên cả nền tảng Android

và IOS Hầu hết các thành phần giao diện người dùng, đều sẵn dùng, phù hợp vớicác nguyên tắc của Material Design

+ Flutter có thư viện đẹp và giải quyết được bài toán tập hợp các layout,platform và widget ở giao diện người dùng

2.2.3 DART :

- 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 Nó đượ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à một ngôn ngữ hướng đối tượng, được xác định theo lớp, với cơ chế collected, sử dụng cú pháp kiểu C để dịch mã tùy ý sang JavaScript Đồng thờiDart là ngôn ngữ lập trình mã nguồn mở được phát triển GitHub

garbage Đặc điểm của Dart:

+ Năng suất: Cú pháp rõ ràng và súc tích, công cụ đơn giản nhưng mạnh mẽ + 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 ứngdụng web, chuyển mã từ Dart sang JavaScript

+ Dễ gần: Cấu trúc của của Dart khá giống với C++ và Java lên khá dễ làm

quen nếu đã biết nhũng ngôn ngữ trên

Trang 13

+ Rective: 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ôngqua phân bổ đối tượng nhanh và GC Dart hỗ trợ lập trình không đồng bộ thôngqua các tính năng ngôn ngữ và API sử dụng các đối tượng Future và Stream

2.2.4 ANDROID :

- Android là một hệ điều hành mã nguồn mở dựa trên nền tảng Linux được

thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thôngminh và máy tính bảng Android sở hữu mã nguồn mở nên lập trình viên có thể dễdàng điều chỉnh và phân phối nó một cách tự do Đây chính là một trong nhữngyếu tố đã giúp cho Android trở thành nền tảng xây dựng điện thoại thông minhphát triển nhất trên thế giới

- Kiến trúc của Android: được thiết kế dựa trên một kiến trúc linh hoạt và

mở rộng để hỗ trợ nhiều thiết bị di động khác nhau

+Linux Kernel: Đây là một loại nhân xử lý, nó có khả năng cung cấp độ trừu

tượng cho các phần cứng

+ Thư viện nguồn và các thư viện Android: Hầu hết, các thư viện nằm trên

lớp nhân Linux và các thư viện này đều dựa vào Java để có thể phục vụ choAndroid

+ Android Runtime: Có khả năng cung cấp cho 1 bộ phận quan trọng nhất là

Dalvik Virtual Machine (nó là một loại Java Virtual Machine) được các chuyêngia thiết kế đặc biệt với mục đích tối ưu cho Android

+ Application Framework: Nó cung cấp các dịch vụ cao hơn cho những ứng

dụng dưới dạng lớp Java Từ đó, các Developer sẽ có quyền can thiệp vào từ lớpAndroid Framework này

+ Application: Đây là nơi các lập trình viên thường xuyên làm việc cùng để

có thể triển khai cho ứng dụng

- Android đã trải qua một số các cập nhật kể từ lần đầu phát hành Nhữngcập nhật này nhìn chung có nhiệm vụ vá các lỗ hổng và thêm các tính năng mớivào hệ điều hành Android những thế hệ đầu tiên 1.0 (9/2008) và 1.1 (2/2009) chưa

có tên gọi chính thức Từ thế hệ tiếp theo, mỗi bản nâng cấp đều được đặt vớinhững mã tên riêng dựa theo các món ăn hấp dẫn theo thứ tự bảng chữ cái từ “C-D-E-F-G-H-I” Hiện tại các phiên bản chính của Android bao gồm:

 Android 1.5 (Cupcake)

 Android 1.6 (Donut)

 Android 2.0/2.1 (Éclair)

 Android 2.2 (Froyo)

Trang 14

 Android 2.3 (Gingerbread)

 Android 3.2 (Honeycomb)

 Android 4.0 (Ice-cream sandwich)

 Android 4.1 (Jelly Bean)

 Android 4.2 (Jelly Bean)

 Android 4.3 (Jelly Bean)

 Android 11 (Red Velvet)

 Android 12 (Snow Cone)

 Android 13 (Tiramisu)

2.2.5 IOS :

- IOS là hệ điều hành trên các thiết bị di động của Apple Đây là hệ điều

hành chạy trên các sản phẩm gồm iPhone, các mẫu iPad trước khi iPadOS đượcgiới thiệu vào 2019, đồng thời cũng là hệ điều hành cho iPod Touch và là hệ điềuhành phổ biến thứ 2 trên toàn cầu, sau Android của Google

- Kiến trúc của IOS:

+ Cocoa Touch Layer: Đây là lớp chính của hệ thống và chứa các

framework cho việc xây dựng ứng dụng iOS Các framework như UIKit (cho giaodiện người dùng), MapKit (cho bản đồ và định vị), và Core Data (cho quản lý dữliệu) là các thành phần quan trọng của lớp này

+ Media Layer: Bao gồm các framework cho việc xử lý âm thanh, video và

đồ họa Các framework như Core Audio, Core Animation và Core Graphics thuộc

về lớp này

+ Core Services Layer: Bao gồm các dịch vụ như quản lý vị trí, thông báo,

chia sẻ dữ liệu giữa các ứng dụng, quản lý thiết bị ngoại vi, và quản lý trình điềukhiển (drivers)

+ Core OS Layer: Bao gồm các dịch vụ cơ bản như quản lý bộ nhớ, quản lý

tập tin, quản lý mạng và quản lý thiết bị Các thành phần như hạt nhân (kernel)của hệ điều hành Unix-based (XNU kernel) cũng nằm ở đây

Trang 15

+ Application Layer: Lớp này bao gồm các ứng dụng được cài đặt sẵn trên

thiết bị như Safari (trình duyệt web), Messages (tin nhắn), và các ứng dụng khác

do người dùng tải về từ App Store

- Phiên bản các hệ điều hành IOS: IOS đã cung cấp đến phiên bản IOS 15

2.3 PHÂN TÍCH HỆ THỐNG

2.3.1 SƠ ĐỒ USE CASE TỔNG QUÁT :

2.3.1.1 Sơ đồ Use case tổng quát:

Hình 1: Sơ đồ usecase tổng quát 2.3.1.2 Đặc tả chức năng trong sơ đồ usecase:

- Bảng 2: Đặc tả usecase Đăng nhập

4 Điều kiện kích hoạt Người dùng truy cập vào trang đăng

Trang 16

nhập gồm tên đăng nhập và mật khẩu ,

sau đó nhấn nút đăng nhập gửi tới , nếu đăng nhập thành côngchuyển người dùng đến trang chủ

6.2 Luồng sự kiện thay thế:

Nếu thông tin đăng nhập không đúng , hệ thống sẽ thông báo “tài khoản hoặcmật khẩu không chính xác”

6.3 Luồng ngoại lệ / luồng phụ:

8 Yêu cầu khác

- Bảng 3: Đặc tả usecase Đăng ký

với vai trò là khách hàng

4 Điều kiện kích hoạt Khách hàng truy cập vào trang đăng

1 Người dùng nhập các thông tin bao

gồm tên đăng nhập , mật khẩu và các

thông tin trong form , sau đó nhấn nút

đăng ký

2 Hệ thống kiểm tra thông tin đượcgửi tới, nếu đăng ký thành công, hệthống sẽ gửi thông báo và người dùng

có thể đăng nhập vào ứng dụng

6.2 Luồng sự kiện thay thế

+ Nếu tên đăng nhập bị trùng hệ thống sẽ thông báo tên tài khoản đã tồn tại

+ Nếu form đăng ký chưa được điền đầy đủ thông tin hệ thống sẽ thông báo

“Vui lòng điền đầy đủ thông tin”

+Nếu mật khẩu không đáp ứng được độ mạnh , hệ thống sẽ thông báo “Mật

khẩu yếu”

6.3 Luồng ngoại lệ / luồng phụ

8 Yêu cầu khác

Trang 17

- Bảng 4: Đặc tả use case Quên Mật khẩu

2 Mô tả ngắn Chức năng giúp người dùng tìm lại

mật khẩu dựa vào tên đăng nhập

4 Điều kiện kích hoạt Người dùng truy cập vào trang quên

1 Người dùng sẽ nhập thông tin về tên

đăng nhập vào form, và ấn gửi

3 Một form yêu cầu nhập mã xác nhận

sẽ hiện lên và yêu cầu người dùng nhập

mã xác nhận (được gửi qua số điện

thoại , email )

2 Sẽ kiểm tra thông tin tên đăngnhập được gửi tới Nếu tên đăng nhậptồn tại Hệ thống sẽ lấy email/ số điệnthoại của tài khoản này và gửi mã xácnhận cho người dùng

4 Hệ thống kiểm tra thông tin của mãxác nhận được gửi tới Nếu khớp sẽgửi mật khẩu mới cho người dùng.(Một chuỗi ký tự mạnh)

6.2 Luồng sự kiệu thay thế

+ Nếu tên đăng nhập không tồn tại hệ thống sẽ gửi thông báo “Không tồn tại”+ Nếu mã xác nhận được gửi tới không đúng sẽ gửi thông báo “Mã xác nhậnkhông hợp lệ”

6.3 Luồng ngoại lệ / luồng phụ

+ Nếu người dùng cố tình nhập tên đăng nhập quá 5 lần sẽ tiến hành khóa chứcnăng tạm thời

+ Mã xác nhận sẽ bị hủy trong các trường hợp sau:

 Xác nhận đã thành công

 Quá thời gian xác nhận

 Người dùng yêu cầu gửi mã xác nhận mới

8 Yêu cầu khác

- Bảng 5 : Đặc tả usecase Tạo đơn hàng

Trang 18

1 Tên UC TẠO ĐƠN HÀNG

4 Điều kiện kích hoạt Người dùng bấm vào nút đặt hàng

3 Khách hàng ấn xác nhận đơn hàng

2.Hệ thống sẽ kiểm tra giỏ hàng củakhách hàng Nếu có sản phẩm hệthống sẽ tiến hành tạo đơn hàng, vàcập nhật các thông tin của kháchhàng vào đơn hàng Sau khi cập nhậtxong sẽ gửi thông tin đơn hàng đếncho khách hàng xác nhận

4 Nhận được thông tin xác nhận.Chuyển đến trang thanh toán

6.2 Luồng sự kiện thay thế:

+ Nếu trong giỏ hàng trống, gửi thông báo “Giỏ hàng trống”

+ Nếu khách hàng không ấn xác nhận đơn hàng , đơn hàng sẽ bị hủy sau 5 phút

6.3 Luồng ngoại lệ / luồng phụ

7 Hậu điều kiện Chuyển đến trang thanh toán

8 Yêu cầu khác

- Bảng 6: Đặc tả usecase Thanh toán

4 Điều kiện kích hoạt Xác nhận đơn hàng thành công

6 Luồng sự kiện

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

Trang 19

1 Thực hiện lựa chọn phương thức

+ Thanh toán chuyển khoản sẽ hiện

thông tin chuyển khoản cho khách hàng

và chờ khách hàng thành toán

2 Sau khi nhận thông báo chuyểnkhoản thành công từ ngân hàng Sẽchuyển người dùng về ứng dụng

6.2 Luồng sự kiệu thay thế:

+ Nếu chuyển khoản thất bại thì người dùng sẽ được thông báo “Thanh toán

thất bại “

6.3 Luồng ngoại lệ / luồng phụ

7 Hậu điều kiện Chuyển người dùng về trang kiểm tra

đơn đặt hàng

8 Yêu cầu khác

- Bảng 7: Đặc tả usecase quản lý giỏ hàng

thêm vào

4 Điều kiện kích hoạt Có sản phẩm trong giỏ hàng

5 Tiền điều kiện Khách hàng có đăng nhập vào ứng

2 Ở trong giỏ hàng người dùng có thể

thêm / sửa / xóa sản phẩm

6.2 Luồng sự kiệu thay thế :

6.3 Luồng ngoại lệ / luồng phụ

7 Hậu điều kiện

Trang 20

8 Yêu cầu khác

- Bảng 8: Đặc tả usecase Duyệt đơn hàng

4 Điều kiện kích hoạt Có thể đăng nhập vào ứng dụng bằng

tài khoản quản lý

5 Tiền điều kiện Có khách hàng sử dụng chức năng tạo

đơn hàng

6 Luồng sự kiện

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

1 Quản lý truy cập vào trang quản lý

đơn hàng Quản lý có thể kiểm soát các

đơn hàng tới Khi một đơn hàng tới cần

sự xác nhận của quản lý

2.Nếu quản lý xác nhận “Yes” thìđơn hàng sẽ được cập nhập trạng tháiđặt hàng thành công Và gửi trạngthái cho khách hàng cũng như trongtrang quản lý đơn hàng của quản lý

6.2 Luồng sự kiện thay thế:

+ Nếu quản lý xác nhận “No” thì hệ thống sẽ gửi lại cho quản lý một form điền

lý do hủy đơn để gửi lại cho khách hàng

6.3 Luồng ngoại lệ / luồng phụ :

8 Yêu cầu khác

- Bảng 9 : Đặc tả use case thêm sản phẩm

4 Điều kiện kích hoạt Có thể đăng nhập vào ứng dụng bằng

tài khoản quản lý

Trang 21

6 Luồng sự kiện

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

1 Người dùng điền thông tin sản phẩm

mới vào trong form và ấn “Add”

3 Thông báo thêm sản phẩm thành

công

2.Hệ thống nhận thông tin được gửitới Nếu sản phẩm chưa tồn tại trongCSDL sẽ thêm sản phẩm mới vàomenu

6.2 Luồng sự kiện thay thế:

+ Nếu có sản phẩm trùng tên, gửi thông báo “Sản phẩm đã tồn tại”.

+ Nếu người dùng không điền đầy đủ thông tin vào form, gửi thông báo “Vuilòng điền toàn bộ thông tin”

6.3 Luồng ngoại lệ / luồng phụ

7 Hậu điều kiện Chuyển về trang quản lý sản phẩm

8 Yêu cầu khác

2.3.2 BIỂU ĐỒ TUẦN TỰ

- Biểu đồ tuần tự chức năng Đăng nhập:

Hình 2: Biểu đồ tuần tự chức năng đăng nhập

Trang 22

- Biểu đồ tuần tự chức năng Đăng ký:

Hình 3: Biểu đồ tuần tự chức năng Đăng ký

- Biểu đồ tuần tự Đặt hàng:

Hình 4: Biểu đồ tuần tự đặt hàng

Trang 23

2.4 THIẾT KẾ CƠ SỞ DỮ LIỆU

Bảng 11 : Bảng Chi tiết đơn hàng

ST

T

2 IDDonHang Id đơn hàng đối chiếu với bảng Đơn Hàng

3 IDSanPham Id sảm phẩm đối chiếu với bảng Sản Phẩm

4 SoLuong Số lượng sản phẩm được đặt

5 ThanhTien Giá trị của đơn hàng

Ngày đăng: 13/11/2024, 21:10

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

TÀI LIỆU LIÊN QUAN

w