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 1HỌ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 2HỌ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 3MỤ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 43.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 5DANH 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 6DANH 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 7LỜ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 8CHƯƠ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 9tê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 10CHƯƠ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 122.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 16nhậ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 181 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 191 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 208 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 216 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 232.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