TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI
KHOA CÔNG NGHỆ THÔNG TIN
MÔN HỌC: CHUYÊN ĐỀ VỀ CÔNG NGHỆ PHẦN MỀM
---------o0o---------
BÁO CÁO BÀI TẬP LỚN
QUẢN LÝ WEBSITE GIAO ĐỒ ĂN NHANH
Giáo viên hướng dẫn :
Giảng viên :Nguyễn Trọng Phúc
Hà Nội, Ngày 30 Tháng 9 Năm 2021
1
MỤC LỤC
CHƯƠNG 1
1.1
TỔNG QUAN ĐỀ TÀI......................................................................4
Tổng quan công nghệ.......................................................................................4
1.1.1
Ngôn ngữ Java.......................................................................................4
1.1.2
Hệ quản trị cơ sở dữ liệu MySQL..........................................................5
1.1.3
Tổng quan về Spring boot......................................................................8
1.2
Tổng quan về đề tài..........................................................................................9
1.2.1
Lý do chọn đề tài...................................................................................9
1.2.2
Mục tiêu đề tài.......................................................................................9
1.2.3
Phạm vi đề tài......................................................................................10
1.2.4
Đối tượng nghiên cứu và phạm vi hệ thống.........................................10
CHƯƠNG 2.
2.1
PHÂN TÍCH THIẾT KẾ HỆ THỐNG.............................................11
Mô tả tổng quan hệ thống..............................................................................11
2.1.1
Khảo sát...............................................................................................11
2.1.2
Các yêu cầu của hệ thống....................................................................13
2.2
Tìm hiểu chức năng của hệ thống..................................................................14
2.2.1
Sơ đồ phân rã chức năng......................................................................14
2.2.2
Chức năng hệ thống.............................................................................14
2.2.3
Đặc tả chức năng hệ thống...................................................................15
2.2.4
Đặc tả chức năng cơ sở........................................................................15
2.2.5
Biểu đồ use case..................................................................................17
2.2.6
Biểu đồ hành động...............................................................................23
2.3
Phân tích thiết kế cơ sở dữ liệu......................................................................25
2.3.1
Phân tích cơ sở dữ liệu.........................................................................25
2.3.2
Thiết kế cơ sở dữ liệu..........................................................................25
2.3.3
Sơ đồ quan hệ thực thể ERD................................................................28
2
DANH MỤC HÌNH ẢNH
Hình 2. 1 Hình ảnh giao diện thực đơn trang jollibee..........................................8
Hình 2. 2 Hình ảnh giao diện danh sách món ăn trang web popeyes...................9
Hình 2. 3 Hình ảnh giao diện giỏ hàng trang web popeyes..................................9
Hình 2. 4 Hình ảnh giao diện chính trang web kfcvietnam..................................9
Hình 2. 5 Hình ảnh giao diện giỏ hàng trang web kfcvietnam...........................10
Hình 2. 6 Sơ đồ quản lý chức năng hệ thống bán đồ ăn nhanh..........................11
Hình 2. 7 Biểu đồ use case tổng quát..................................................................14
Hình 2. 8 Biểu đồ use case quản lý người dùng.................................................14
Hình 2. 9 Biểu đồ use case quản lý thực đơn.....................................................16
Hình 2. 10 Biểu đồ use case giao dịch khách hàng............................................17
Hình 2. 11 Biểu đồ use case quản lý bán hàng..................................................19
Hình 2. 12 Biểu đồ use case thống kê.................................................................20
Hình 2. 13 Biểu đồ hành động chức năng đặt món............................................21
Hình 2. 14 Mô hình thực thể liên kết ERD.........................................................22
Hình 2. 15 Cơ sở dữ liệu quan hệ.......................................................................26
3
DANH MỤC BẢNG BIỂ
1
Bảng 2. 1 Bảng chức năng của hệ thống............................................................15
Bảng 2. 2 Bảng chức năng cơ sở........................................................................15
Bảng 2. 3 Mô tả use case quản lý người dùng....................................................18
Bảng 2. 4 Mô tả use case quản lý thực đơn........................................................19
Bảng 2. 5 Mô tả use case giao dịch khách hàng.................................................21
Bảng 2. 6 Mô tả use case quản lý bán hàng........................................................22
Bảng 2. 7 Mô tả use case thống kê.....................................................................23
Bảng 2. 8 Bảng Account.....................................................................................25
Bảng 2. 9 Bảng Category....................................................................................25
Bảng 2. 10 Bảng Product....................................................................................25
Bảng 2. 11 Bảng Combo.....................................................................................26
Bảng 2. 12 Bảng ComboProduct........................................................................26
Bảng 2. 13 Bảng Order.......................................................................................27
Bảng 2. 14 Bảng OrderDetail.............................................................................27
2
CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI
1.1 Tổng quan công nghệ
1.1.1 Ngôn ngữ Java
1.1.1.1 Lịch sử hình thành
Ngôn ngữ lập tình Java ban đầu được phát triển bởi Sun Microsystems do
James Gosling khởi xướng và phát hành vào năm 1995 (Java 1.0 [J2SE]). Tại thời
điểm này phiên bản được sử dụng nhiều nhất là 8. Với ưu thế về đa nền tảng (multi
platform) Java càng lúc càng được ứng dụng rộng rãi trên nhiều thiết bị từ máy tính
đến mobile và nhiều thiết bị phần cứng khác…
1.1.1.2 Java là gì?
Là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp (class).
Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành
mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã
nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime
environment) chạy.
1.1.1.3 Đặc điểm
- Java là ngôn ngữ lập trình hướng đối tượng nên nó cũng có 4 đặc điểm chung
của các ngôn ngữ hướng đối tượng.
- Tính trừu tượng (Abstraction): là tiến trình xác định và nhóm các thuộc tính,
Các hành động liên quan đến một thực thể đặc thù, xét trong mối tương quan
với ứng dụng đang phát triển.
- Tính đa hình (Polymorphism): cho phép một phương thức có các tác động
khác nhau trên nhiều loại đối tượng khác nhau. Với tính đa hình, nếu cùng
một phương thức ứng dụng cho các đối tượng thuốc các lớp khác nhau thì nó
đưa đến những kết quả khác nhau. Bản chất của sự việc chính là phương thức
này bao gồm cùng một số lượng các tham số.
- Tính kế thừa (Inheritance): Điều này cho phép các đối tượng chia sẻ hay mở
rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại.
1
- Tính đóng gói (Encapsulation): là tiến trình che giấu việc thực thi những chi
tiết của một đối tượng với người sử dụng đối tượng ấy.
- Bên cạnh đó java còn có một số đặc tính khác:
- Độc lập nền (Write Once, Run Anywhere): Không
- giống như nhiều ngôn ngữ lập trình khác như C và C++, khi Java được biên
dịch, nó không được biên dịch sang mã máy cụ thể, mà thay vào đó là mã byte
code chạy trên máy ảo Java (JVM). Điều này đông nghĩa với việc bất cứ thiết
bị nào có cài đặt JVM sẽ có thể thực thi được các chương trình Java.
- Đơn giản: học Java thật sự dễ hơn nhiều so với C/C++, nếu bạn đã quen với
các ngôn ngữ lập trình hướng đối tượng thì việc học Java sẽ dễ dàng hơn. Java
trở nên đơn giản hơn so với C/C++ do đã loại bỏ tính đa kế thừa và phép toán
con trỏ từ C/C++.
- Bảo mật: Java hỗ trợ bảo mật rất tốt bởi các thuật toán mã hóa như mã hóa
một chiều (oneway hasing) hoặc mã hóa công cộng (public key) …
- Đa luồng: Với tính năng đa luồng Java có thể viết chương trình có thể thực thi
nhiều task cùng lúc. Tính năng này thường được xử dụng rất nhiều trong lập
trình game.
- Hiệu suất cao nhờ vào trình thug om rác (garbage collection), giải phóng bộ
nhớ đối với các đối tượng không được dùng đến.
- Linh hoạt: Java được xem là linh hoạt hơn C/C++ vì nó được thiết kế để thích
ứng với nhiều môi trường phát triển.
1.1.2 Hệ quản trị cơ sở dữ liệu MySQL
1.1.2.1 Tổng quan cơ sở dữ liệu MySQL
- Hệ quản trị cơ sở dữ liệu MySQL được hiểu như là chương trình dùng để quản lý
hệ thống cơ sở dữ liệu, trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thông tin
được sắp xếp rõ ràng, phân lớp ngăn nắp. Nó giúp bạn có thể truy cập dữ liệu một
cách thuận lợi và nhanh chóng nhất. Vì hỗ trợ đa số các ngôn ngữ lập trình nên
MySQL chính là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất trên thế
giới. Hiện MySQL đang được các nhà phát triển rất ưa chuộng trong quá trình
phát triển ứng dụng.
- MySQL là cơ sở dữ liệu tốc độ cao, ổn định hoạt động trên nhiều hệ điều hành,
cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Đặc biệt, hệ quản trị cơ sở
dữ liệu MySQL hoàn toàn miễn phí nên người dùng có thể thoải mái tải về từ
trang chủ. Nó có rất nhiều những phiên bản cho các hệ điều hành khác nhau.
2
MySQL được sử dụng cho việc bỗ trợ PHP, Perl và nhiều ngôn ngữ khác. Là nơi
lưu trữ những thông tin trên các trang web viết bằng framework PHP hay Perl…
1.1.2.2 Đặc điểm
-
Hệ quản trị cơ sở dữ liệu MySQL chính là một trong những phần mềm quản trị
CSDL dạng server based, hệ gần giống với SQL server of Microsoft.
MySQL là phần mềm quản lý dữ liệu thông qua CSDL. Và mỗi một CSDL đều có
bảng quan hệ chứa dữ liệu riêng biệt.
MySQL có cơ chế quản lý sử dụng riêng giúp cho mỗi người sử dụng đều có thể
quản lý cùng lúc một hay nhiều CSDL khác nhau. Và mỗi người dùng đều có 1
username và password để truy nhập và truy xuất đến CSDL. Khi truy vấn đến
CSDL của MySQL, bạn phải cung cấp tài khoản và mật khẩu có quyền sử dụng
cơ sở dữ liệu đó.
1.1.2.3 Những lợi ích khi sử dụng hệ quản trị cơ sở dữ liệu MySQL
Hình 1. 1 Hình ảnh tổng quan về MySQL
-
Hiệu năng sử dụng cao
Hầu hết, hệ quản trị cơ sở dữ liệu MySQL đang được các nhà phát triển rất ưa chuộng
trong quá trình phát triển ứng dụng. Và họ đánh giá rất cao ở hiệu năng sử dụng của
MySQL. Với kiến trúc storage-engine, MySQL đặc trưng cho các ứng dụng chuyên
biệt, đặc biệt là đối với những trang web có dung lượng lớn, phục vụ hàng triệu khách
hàng. Hoặc đối với những hệ thống xử lý giao dịch tốc độ cao thì MySQL đều cùng có
thể đáp ứng được những khả năng xử lý khắt khe của mọi hệ thống. Đặc biệt, với
3
những tiện ích tải tốc độ cao, cơ chế xử lý nâng cao cùng bộ nhớ cache. MySQL đưa
ra tất cả những tính năng cần có, đây là giải pháp hoàn hảo nhất ngay cả đối với những
hệ thống doanh nghiệp khó tính nhất hiện nay.
-
MySQL hỗ trợ giao dịch mạnh mẽ
Hệ quản trị cơ sở dữ liệu MySQL không những mang lại hiệu năng sử dụng cao. Mà
nó còn đưa ra một trong số những engine giao dịch cơ sở dữ liệu tốt nhất trên thị
trường hiện nay. Tính năng này bao gồm: Khóa mức dòng không hạn chế; hỗ trợ giao
dịch ACID hoàn thiện; khả năng giao dịch được phân loại và hỗ trợ giao dịch đa dạng
mà người đọc không cản trở cho người viết và ngược lại. Với MySQL, dữ liệu sẽ
được đảm bảo trong suốt quá trình server có hiệu lực. Các mức giao dịch độc lập sẽ
được chuyên môn hóa, nếu phát hiện có lỗi khóa chết ngay tức thì.
-
Tốc độ rất nhanh
Đánh giá chung của các nhà phát triển, tất cả họ đều cho rằng hệ quản trị cơ sở dữ liệu
MySQL là cơ sở dữ liệu nhanh nhất. Đây là nơi để cho các website có thể trao đổi
thường xuyên các dữ liệu bởi nó có engine xử lý tốc độ cao. Khả năng chèn dữ liệu
cực nhanh và hỗ trợ mạnh mẽ các chức năng chuyên dụng cho trang web. Các tính
năng này cũng được sử dụng cho môi trường lưu trữ dữ liệu mà hệ quản trị này tăng
cường đến hàng terabyte cho các server đơn. Ngoài ra còn có những tính năng khác
như: chỉ số băm, bảng nhớ chính, bảng lưu trữ và cây B được gói lại để giúp giảm các
yêu cầu lưu trữ tối đa đến 80%. Với tốc độ nhanh, thật không thể phủ nhận hệ quản trị
cơ sở dữ liệu MySQL là sự lựa chọn tốt nhất cho cả ứng dụng web cũng như các ứng
dụng của doanh nghiệp ngày nay.
-
Dễ dàng sử dụng
MySQL ngoài được biết đến với tốc độ khá cao, ổn định thì nó thực sự là một hệ
thống cơ sở dữ liệu rất đơn giản, rất dễ sử dụng. Ít phức tạp khi cài đặt và quản trị hơn
các hệ thống lớn. Đặc biệt nó có thể hoạt động trên tất cả các hệ điều hành.
-
Hỗ trợ ngôn ngữ truy vấn
MySQL hệ quản trị cơ sở dữ liệu là ngôn ngữ của sự lựa chọn cho tất cả các hệ thống
cơ sở dữ liệu hiện đại. Người dùng hoàn toàn có thể truy cập MySQL bằng cách sử
dụng các ứng dụng mà hỗ trợ ODBC (một giao thức giao tiếp cơ sở dữ liệu được phát
triển bởi Microsoft). Nhiều client có thể truy cập đến server trong cùng một thời gian.
Đặc biệt các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời. Bạn cũng
có thể truy cập MySQL tương tác với khi sử dụng một vài giao diện để đưa vào các
truy vấn và xem kết quả như: các dòng yêu cầu của khách hàng, các trình duyệt web…
-
Tính kết nối và bảo mật cao
Điều quan trọng nhất của mỗi một doanh nghiệp chính là việc bảo mật dữ liệu tuyệt
đối. Và hệ quản trị cơ sở dữ liệu MySQL tích hợp các tính năng bảo mật an toàn tuyệt
đối. MySQL được nối mạng một cách đầy đủ. Các cơ sở dữ liệu có thể được truy cập
từ bất cứ nơi nào trên internet. Bạn có thể chia sẻ dữ liệu của bạn với bất kì ai, bất cứ
4
lúc nào và bất cứ nơi đâu bạn muốn. Nhưng MySQL kiểm soát quyền truy cập nên
người không nên nhìn thấy dữ liệu của bạn sẽ không thể nào nhìn được. Với việc xác
nhận truy cập cơ sở dữ liệu, MySQL trang bị các kĩ thuật mạnh. Chỉ có những người
sử dụng đã được xác nhận mới truy cập được vào cơ sở dữ liệu. Ngoài ra, SSH và SSL
cũng được hỗ trợ nhằm đảm bảo kết nối an toàn và bảo mật. Tiện ích backup và
recovery cung cấp bởi MySQL hệ quản trị cơ sở dữ liệu và các hãng phần mềm thứ 3
cho phép backup logic và vật lý cũng như recovery toàn bộ ngay tại một thời điểm.
-
Tính linh động cao
MySQL có thể hoạt động trên tất cả các hệ điều hành, chạy được với mọi phần cứng
từ các máy PC ở nhà cho đến các máy server. Máy chủ hệ quản trị cơ sở dữ liệu
MySQL đáp ứng nhiều tính năng linh hoạt. Nó có sức chứa để xử lý các ứng dụng
được nhúng sâu với 1MB dung lượng để chạy kho dữ liệu khổng lồ lên đến hàng
terabytes thông tin. Tính chất mã nguồn mở của MySQL cho phép tùy biến theo ý
muốn để thêm các yêu cầu phù hợp cho database server.
-
Mã nguồn mở tự do và hỗ trợ 24/7
Băn khoăn của rất nhiều doanh nghiệp khi họ gặp khó khăn trong việc giao toàn bộ
phần mềm cho một mã nguồn mở. Bởi khó có thể tìm được hỗ trợ hay bảo mật an toàn
phục vụ một cách chuyên nghiệp. Nhưng vấn đề khó khăn này sẽ không còn nữa nếu
sử dụng hệ quản trị cơ sở dữ liệu MySQL. Với MySQL, mọi sự cam kết đều rất rõ
ràng, mọi sự cố đều được MySQL bồi thường. Bạn có thể tìm thấy các tài nguyên có
sẵn mà hệ quản trị này hỗ trợ. Cộng đồng MySQL rất có trách nhiệm. Họ thường trả
lời các câu hỏi trên mailing list chỉ trong vài phút. Nếu lỗi xảy ra, các nhà phát triển sẽ
đưa ra cách khắc phục nhanh nhất cho bạn. Và cách khắc phục đó sẽ ngay lập tức có
sẵn trên internet.
-
Chi phí sở hữu thấp nhất
Hệ quản trị cơ sở dữ liệu MySQL cung cấp miễn phí cho hầu hết các việc sử dụng
trong một tổ chức. Chính vì vậy, sử dụng MySQL cho các dự án, các doanh nghiệp
đầu nhận thấy được sự tiết kiệm cho phí rất đáng kể. Người dùng của MySQL cũng
không phải mất nhiều thời gian để sửa chữa hoặc vấn đề thời gian chết.
1.1.3
Tổng quan về Spring boot
1.1.3.1 Spring boot là gì?
- Spring Boot là một module của Spring Framework, cung cấp tính năng RAD
(Rapid Application Development) – Phát triển ứng dụng nhanh.
- Spring Boot được dùng để tạo các ứng dụng độc lập dựa trên Spring.
- Spring Boot không yêu cầu cấu hình XML
- Nó là một chuẩn cho cấu hình thiết kế phần mềm, tăng cao năng suất cho
developer.
5
1.1.3.2 Ưu và nhược điểm của spring boot?
Ưu điểm:
- Spring Boot là một module của Spring Framework, cung cấp tính năng RAD
(Rapid Application Development) – Phát triển ứng dụng nhanh.
- Spring Boot được dùng để tạo các ứng dụng độc lập dựa trên Spring.
- Spring Boot không yêu cầu cấu hình XML.
- Nó là một chuẩn cho cấu hình thiết kế phần mềm, tăng cao năng suất cho
developer.
1.2 Tổng quan về đề tài
1.2.1
Lý do chọn đề tài
Trong thời đại công nghệ thông tin như hiện nay, khi mà Internet đã trở nên
thân quen và dần trở thành một công cụ không thể thiếu trong cuộc sống thì lợi ích của
một website đối với việc quảng bá sản phẩm và thương hiệu của một công ty là vô
cùng lớn. Bên cạnh đó, 1 website còn giúp chúng ta quản lý sản phẩm, khách hàng,
doanh thu vô cùng tiện lợi để có các chính sách và hướng phát triển phù hợp với nhu
cầu người dùng.
Thời gian gần đây, dịch covid đã và đang gây ảnh hưởng rất lớn đối với kinh tế
nước nhà. Để đáp ứng tình hình hiện tại cũng như là nhu cầu mua đồ ăn được một
cách dễ dàng và tiện lợi, không phải di chuyển, nhóm bọn em đã tìm hiểu nghiên cứu
và quyết định làm đề tài: “xây dựng trang web cửa hàng bán đồ ăn nhanh online”.
1.2.2 Mục tiêu đề tài
-
Đề tài được thực hiện nhằm tạo ra ứng dụng cho phép khác hàng có thể đặt đồ
ăn nhanh online.
Thực hiện đề tài nhằm:
Tìm hiểu về ngôn ngữ java.
Tìm hiểu và áp dụng được framework Spring Boot để làm một
webservice.
1.2.3 Phạm vi đề tài
-
Ứng dụng được thiết kế nhằm đáp ứng nhu cầu đặt đồ ăn nhanh online cho tất
cả mọi người.
6
1.2.4 Đối tượng nghiên cứu và phạm vi hệ thống
Đối tượng:
-
Công cụ sử dụng: MySQL Workbench, Visual Studio.
Ngôn ngữ lập trình: html, css, js, java.
-
Framework và library: SpringBoot.
-
Mô hình ứng dụng đạt được: Websever theo mô hình Restful API(Spring). Ứng
dụng web.
Phạm vi: Đề tài chỉ dừng lại ở phạm vi xây dựng ứng dụng trên nền tảng Web.
7
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Mô tả tổng quan hệ thống
2.1.1 Khảo sát
2.1.1.1
Khảo sát một số trang web
1. https://jollibee.com.vn/
- Giao diện trang thực đơn:
Hình 2. 1 Hình ảnh giao diện thực đơn trang jollibee
Danh sách sản phẩm được hiển thị theo danh mục loại món ăn.
Mỗi món ăn hiển thị: ảnh món ăn, tên món, giá bán, và một đặt hàng.
Giỏ hàng ở góc phải dưới của màn hình.
2. https://popeyes.vn/
8
-
Giao diện trang thực đơn:
-
Hình 2. 2 Hình ảnh giao diện danh sách món ăn trang web popeyes
Tương tự jolibee.vn, danh sách sản phẩm được hiển thị theo danh
mục loại món ăn. Tuy nhiên, danh mục món ăn nằm trên phần header
của trang web.
Mỗi sản phẩm đều có thông tin giảm giá.
Trang giỏ hàng:
Hình 2. 3 Hình ảnh giao diện giỏ hàng trang web popeyes
Giao diện trang giỏ hàng là modal nằm trên giao diện sản phẩm.
Giao diện gồm: thông tin sản phẩm gồm: tên sản phẩm, giá, số lượng;
tổng tiền phải trả. Người dùng có thể thay đổi số lượng sản phẩm,
khẩu phần ăn và chọn thanh toán.
3. https://kfcvietnam.com.vn/
9
-
Trang giao diện chính:
-
Hình 2. 4 Hình ảnh giao diện chính trang web kfcvietnam
Sản phẩm hiển thị theo ba loại: món lẻ và combo và menu ưu đãi.
Nút tùy chỉnh hướng người dùng đến trang cung cấp địa chỉ giao hàng.
Trang giỏ hàng:
Hình 2. 5 Hình ảnh giao diện giỏ hàng trang web kfcvietnam
Giỏ hàng chứa thông tin đơn hàng, khung nhập mã khuyến mãi, tổng
đơn hàng.
2.1.1.2 Một số đặc điểm chung của các trang web khảo sát:
Giao diện sản phẩm: hiển thị sản phẩm theo loại, combo mỗi sản phẩm
hiển thị đầy đủ thông tin: tên sản phẩm, mô tả sản phẩm, giá sản phẩm,
giá khuyến mãi. Người dùng có thể thêm sản phẩm vào giỏ hàng khi
chọn tác vụ “thêm vào giỏ hàng”.
Giao diện giỏ hàng: chứa thông tin sản phẩm: tên sản phẩm, số lượng,
đơn giá, tổng tiền. Khách hàng có thể thay đổi số lượng sản phẩm hoặc
xóa sản phẩm và đặt hàng tại đây.
10
Giao diện đặt hàng: khi khách hàng chọn tác vụ đặt hàng, nếu khách
hàng chưa đăng nhập, hệ thống yêu cầu đăng nhập. Sau đó, hệ thống
hiển thị giao diện nhập thông tin đơn hàng gồm: tên người nhận, địa chỉ
đặt hàng, tổng tiền cần thanh toán. Giao diện thanh toán online hiển thị
khi người dùng chọn tác vụ “thanh toán online”.
Giao diện đăng ký: gồm các thông tin: tên người dùng, email, số điện
thoại, mật khẩu.
Giao diện đăng nhập: thông tin tên tài khoản, mật khẩu.
2.1.2 Các yêu cầu của hệ thống
2.1.2.1 Yêu cầu chức năng
Website có những yêu cầu chức năng sau:
- Đăng kí, đăng nhập tài khoản khách hàng.
- Xem, thêm, cập nhật loại đồ ăn nhanh.
- Thêm, cập nhật, lọc, tìm kiếm đồ ăn nhanh.
- Xem, tìm kiếm danh sách khách hàng.
- Quản lý giỏ hàng, đặt hàng.
- Xem, lọc, duyệt đơn hàng.
- Gửi phản hồi khách hàng.
- Cập nhật trạng thái đơn hàng.
- Thống kê doanh thu theo tháng, cả năm.
2.1.2.2 Yêu cầu phi chức năng
Website có những yêu cầu phi chức năng sau:
- Giao diện thân thiện, dễ sử dụng.
- Các tính năng của hệ thống phải tối ưu và phải đảm bảo được tính tự động.
- Tương thích với đa phần các trình web hiện tại.
11
2.2 Tìm hiểu chức năng của hệ thống
2.2.1 Sơ đồ phân rã chức năng
Hình 2. 6 Sơ đồ quản lý chức năng hệ thống bán đồ ăn nhanh
2.2.2 Chức năng hệ thống
- Quản lý người dùng
- Quản lý thực đơn
- Giao dịch khách hàng
- Quản lý bán hàng
- Thống kê
2.2.3 Đặc tả chức năng hệ thống
Bảng 2. 1 Bảng chức năng của hệ thống
Mục
Tên chức năng
Mô tả
Hỗ trợ quản trị, nhân viên, khách hàng sử dụng,
1
Quản lý người dùng
đăng kí tài khoản, đăng nhập vào hệ thống giúp
người quản trị (hoặc nhân viên) có thể cập nhật tài
khoản hoặc các thông tin có trong hệ thống
2
3
Quản lý thực đơn
Cập nhật món ăn, loại món ăn, lọc món ăn
Giao dịch khách
Hỗ trợ khách hàng tìm kiếm món ăn, chọn giỏ hàng,
hàng
đặt món ăn và theo dõi trạng thái đơn hàng
Kiểm tra xem các đơn đặt có khả thi không (số
4
Quản lý bán hàng
lượng, địa chỉ giao hàng, …), lập hóa đơn bán cho
các đơn hàng, In hóa đơn, phản hồi lại đơn hàng
5
Thống kê
Đưa ra các báo cáo thống kê kinh doanh theo từng
nhóm tùy chọn, định kỳ từ thời gian bắt đầu đến thời
12
Mục
Tên chức năng
Mô tả
gian kết thúc
2.2.4 Đặc tả chức năng cơ sở
Bảng 2. 2 Bảng chức năng cơ sở
Mụ
c
Tên chức năng
Mô tả
Mở Form cho người sử dụng đăng ký Tài khoản,
1
Đăng nhập
điền các thông tin cần thiết của mình như họ tên, sđt,
địa chỉ, mật khẩu
2
3
4
Đăng nhập
Xác thực vào hệ thống với tư cách một Tài khoản
bằng cách nhập thông tin và mật khẩu
Cập nhật người sử
Cho phép người quản trị thêm, sửa, xóa thông tin
dụng
của một Tài khoản. Gán vai trò cho một Tài khoản
Cập nhật loại tài
khoản
Cấp các quyền truy cập cho một vai trò
Thêm, sửa, xóa món ăn với các thông tin liên quan
5
Cập nhật món ăn
như mô tả, hình ảnh, loại, giá, ….
6
Cập nhật loại món
ăn
Thêm, sửa, xóa loại món ăn với các thông tin mô tả,
hình ảnh, ngày,
7
Lọc món ăn
Lọc món ăn theo loại
8
Tìm kiếm món ăn
9
Chọn giỏ hàng
10
Đặt món ăn
11
Theo dõi trạng thái
Khách hàng có thể theo dõi quá trình xử lý đơn mua
đơn hàng
hàng của mình thông qua các trạng thái: Đã đặt – đã
Hỗ trợ người sử dụng tìm kiếm món ăn theo loại
món ăn, ...
Hỗ trợ một Tài khoản lựa chọn một số món ăn muốn
đặt với số lượng xác định
Sau khi đã chọn giỏ hàng, khách hàng có thể nhấn
nút đặt mua hàng và nhập thông tin nơi nhận hàng
thanh toán hoặc chưa, Đã xử lý, Đang chờ giao
13
Mụ
c
Tên chức năng
Mô tả
hàng, Đã giao hàng (và thanh toán).
Xem xét các đơn đặt về tính hợp lệ, mặt hàng, số
12
Duyệt đơn đặt hàng
lượng, địa điểm nhận hàng để duyệt đơn hàng và lập
hóa đơn bán
13
In hóa đơn bán
Xuất hóa đơn bán cho một đơn hàng
14
Phản hồi đơn hàng
Xuất hóa đơn bán cho một đơn hàng
Thống kê doanh thu
Đưa ra báo cáo doanh thu theo thời gian định kỳ từ
15
định kỳ
ngày bắt đầu đến ngày kết thúc
14
2.2.5 Biểu đồ use case
2.2.5.1 Biểu đồ use case tổng quát
Hình 2. 7 Biểu đồ use case tổng quát
2.2.5.2 Biểu đồ use case quản lý người dùng
Hình 2. 8 Biểu đồ use case quản lý người dùng
15
- Xem thêm -