Tải bản đầy đủ (.docx) (66 trang)

Trung phú NA báo cáo đồ án website đặt mua thực phẩm bằng laravel đồ án

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.15 MB, 66 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI
KHOA CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG CHI TIẾT
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG HỆ THỐNG QUẢN LÝ VÀ ĐẶT MUA
THỰC PHẨM
Giảng viên hướng dẫn: ThS.
Sinh viên thực hiện:
Lớp:
Mã sinh viên:
Ngành: Công nghệ thông tin

Hà Nội, 03-2022


LỜI MỞ ĐẦU
Trước sự phát triển ngày càng nhanh chóng của lĩnh vực Công nghệ thông
tin và cụ thể hơn nữa là lĩnh vực mạng và truyền thông đang phát triển mạnh
mẽ. Và đi kèm với sự phát triển mạnh mẽ này là các dịch vụ, tiện ích để phục vụ
đời sống, cơng việc, giải trí... của con người cụ thể là dịch vụ mua bán thực
phẩmtrực tuyến qua mạng đang tỏ ra hiệu quả đối với con người và dần trở
thành nhu cầu thiết yếu phục vụ con người. Đặc biệt, sự bùng phát của dịch
covid 19 càng khiến việc đặt hàng qua các trang điện tử được phổ biến, thu hút
rất nhiều người. Vì sự hạn chế di chuyển, trao đổi hàng hóa trực tiếp thì con
người sử dụng các website đặt hàng vừa nhanh chóng cũng như đảm bảo sự an
toàn cho bản thân.
Là sinh viên được trang bị những kiến thức của ngành hệ thống thông tin với
những kiến thức đã tiếp thu và vận dụng lý thuyết đó vào cơng việc thực tế nên
em đã chọn đề tài “ Xây dựng hệ thống quản lý và đặt mua thực phẩm ” để


thực hiện đồ án tốt nghiệp của mình với mục đích nghiên cứu và xây dựng một
hệ thống thơng tin có thể quản lý được số lượng, thơng tin đơn hàng và tình
trạng xuất, nhập, tồn kho của hàng hóa, giúp người quản lý tiết kiệm được thời
gian, công sức cũng như hiệu quả cao trong công việc. Rất đơn giản, chỉ với vài
thao tác, cú bấm chuột bạn đã có thể order cho mình những món đồ uống, thực
phẩm hay thậm chí là đồ dùng cá nhân, gia vị nhà bếp.


Chương 1: Kiến thức nền tảng
1.1.

Cơ sở lý thuyết

1.1.1. Phân tích thiết kế hướng đối tượng
● Giới thiệu OOAD:
Phân tích thiết kế hướng đối tượng(OOAD) là giai đoạn phát triển
một mơ hình chính xác và súc tính của vấn đề, có thành phần là các đối
tượng và khái niệm đời thực, dễ hiểu đối với người sử dụng.
● Nguyên tắc trong OOAD:
- Một lớp chỉ nên có một lý do để thay đổi, tức là một lớp chỉ nên xử lý
một chức năng đơn lẻ duy nhất. Nếu đặt nhiều chức năng vào một lớp,
thì sẽ dẫn đến sự phụ thuộc giữa các chức năng với nhau.
- Các lớp, module, chức năng nên dễ dàng <Mở> cho việc thêm chức
năng mới và <Đóng> cho việc thay đổi.
- Lớp dẫn xuất phải có khả năng thay thế được lớp cha.
- Chương trình khơng nên buộc phải cài đặt một Interface mà nó khơng
sử dụng đến.
- Các module cấp cao khơng nên phụ thuộc vào các module cấp thấp. Cả
hai nên phụ thuộc thông qua lớp trừu tượng. Lớp trừa tượng không nên
phụ thuộc vào chi tiết. Chi tiết nên phụ thuộc vào trừu tượng.

1.1.2. Ngôn ngữ HTML và CSS

1


Hình 1.1. Minh họa trang web sử dụng HTML và CSS
● Giới thiệu HTML:
HTML (Hypertext Markup Language) là mã được dùng để xây
dựng nên cấu trúc và nội dung của trang web. Ví dụ, nội dung có thể
được cấu thành bởi một loạt các đoạn văn, một danh sách liệt kê, hoặc
sử dụng những hình ảnh và bảng biểu...
● Tính năng mới trong HTML5:
- Phần tử <small> dùng để chỉ hiển thị cỡ nhỏ, nó có thể được ký hiệu là
trình bao bọc chính xác cho thơng tin này.
- Việc sử dụng dấu ngoặc kép có thể phụ thuộc vào người dùng.
- Cho phép người dùng chỉnh sửa bất kỳ văn bản nào có trong phần tử,
bao gồm cả phần tử con của nó.
- HTML5 loại bỏ hồn tồn thuộc tính <type>.
- Cung cấp các đầu vào email cho phép hướng dẫn trình duyệt chỉ cho
phép các chuỗi xác nhận địa chỉ email.
- Dễ dàng tạo thanh trượt với phạm vi đầu vào.
● Giới thiệu CSS:
CSS (viết tắt của Cascading Style Sheets) dùng để miêu tả cách
trình bày các tài liệu viết bằng ngôn ngữ HTML và XHTML. CSS được
2


hiểu một cách mà chúng ra thêm các kiểu hiển thị (font chữ, kích thước,
màu sắc,…) cho một tài liệu Web.
● Cách sử dụng CSS trong HTML:

Có 3 cách sử dụng CSS trong HTML:
- Inline: Mã CSS được viết tại thuộc tính ‘style’ của phần tử HTML đó.
Đặt thuộc tính ‘style’ vào thẻ mở của phần tử HTML, giá trị của thuộc
tính ‘style’ là cặp thuộc tính của định dạng CSS.
Ví dụ:
<!DOCTYPE html>
<html>
<body>
<img src=”image.jpg” style=” width: 200px; height:100px”>
</body>
</html>
- Internal: Mã CSS ở trong văn bản HTML hiện tại, nằm trong khối thẻ
‘style’. Đặt các cặp thuộc tính định dạng bên trong cặp thẻ type=”text/css”></style>. Và cặp thẻ này được đặt bên trong cặp thẻ
<head></head>.
- External: Các mã CSS ở một file riêng, và sau đó được liên kết tới
trang HTML thông qua phần tử <link>. Trong cặp thẻ <head></head>
của tập tin HTML, dùng thẻ href=”đường_dẫn_đến_tệp_CSS”> để nhúng tệp CSS vào trang web.
1.1.3. Ngôn ngữ JavaScript
● Giới thiệu JavaScript:
JavaScript là một ngơn ngữ lập trình của HTML và ứng dụng Web.
Nó được sử dụng phổ biến nhất như một phần của các trang web, chúng
cho phép Client-Side script tương tác với người sử dụng và tạo các trang
web động. Nó là một ngơn ngữ chương trình thơng dịch với các khả
năng hướng đối tượng.
● JavaScript kết hợp với HTML và CSS:
3



Hình 1.2. Minh họa JavaScript kết hợp với HTML và CSS
Một website thường có 3 phần cơ bản gồm HTML, CSS và
Javascript. Trong đó, HTML quyết định nội dung và cấu trúc trang web;
CSS quyết định màu sắc, hình dáng, kiểu chữ,… Hầu hết các thay đổi
của HTML và CSS đều được thể hiện dưới dạng tĩnh, không thể thực
hiện các hành động với chuyển động bắt mắt như xoay hình, kiểm tra
thơng tin hợp lệ, hiển thị thơng báo người dùng...
Tất cả các hành động này được chuyển thể từ trạng thái tĩnh sang
trạng thái động nhờ vào thành phần thứ 3 là Javascript. Ba thành phần
này kết hợp với nhau tạo nên website hoàn chỉnh với giao diện (UI) và
trải nghiệm người dùng (UX) chất lượng.
1.1.4. Ngôn ngữ PHP
● Giới thiệu PHP:
Hypertext Preprocessor, thường được viết tắt thành PHP là
một ngơn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được
dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng
cho mục đích tổng qt. Nó rất thích hợp với web và có thể dễ dàng
4


nhúng vào trang HTML. PHP đã trở thành một ngôn ngữ lập trình web
phổ biến nhất thế giới.
● Lý do nên sử dụng ngơn ngữ lập trình PHP:
- Cộng đồng lớn: Nếu gặp phải những khó khăn nào đó, sẽ khơng phải là
điều lo lắng vì có rất nhiều blog PHP trên Internet.
- Dễ học: Có thể học dễ dàng vì nó có tài liệu tuyệt vời về các chức năng
về ví dụ.
- Chi phí thấp: Nó là nguồn mở để có thể sử dụng miễn phí.
- Được sử dụng rộng rãi, phổ biến: Nó được sử dụng để tạo ra các loại
nền tảng như thương mại điện tử, blogs, phương tiện truyền thơng...

- Tích hợp với cơ sở dữ liệu: Ví dụ như MySQL, Oracle...
1.1.5. Hệ quản trị cơ sở dữ liệu
● Giới thiệu Cơ sở dữ liệu:
Cơ sở dữ liệu (Database) là một tập hợp các dữ liệu có tổ chức,
thường được lưu trữ và truy cập điện tử từ hệ thống máy tính. Khi cơ sở
dữ liệu phức tạp hơn, chúng thường được phát triển bằng cách sử dụng
các kỹ thuật thiết kế và mơ hình hóa chính thức.
● Giới thiệu Hệ quản trị cơ sở dữ liệu:
Hệ quản trị cơ sở dữ liệu (viết tắt của Database Management
System) là hệ thống được thiết kế để quản lý một khối lượng dữ liệu
nhất định một cách tự động và có trật tự. Các hành động quản lý bao
gồm chỉnh sửa, xóa, lưu và tìm kiếm thơng tin trong một nhóm dữ liệu
nhất định.
1.2.

Cơng cụ sử dụng

1.2.1. Phần mềm trực tuyến Draw.io

5


Hình 1.3. Giao diện phần mềm trực tuyết Draw.io
Draw.io là một công cụ vẽ sơ đồ rất mạnh mẽ, hỗ trợ nhiều hình
khối, chạy online khơng cần cài đặt mà lại miễn phí và khơng bị giới hạn
số biểu đồ như nhiều tool vẽ web khác.
Draw.io cho phép vẽ hàng nghìn sơ đồ thiết kế phần mềm, phần
cứng và hệ thống. Nó có thư viện template rất phong phú để bạn có thể
bắt đầu nhanh hơn, khơng phải tự mình vẽ từ đầu.
1.2.2. Thư viện Jquery

● Giới thiệu thư viện Jquery:
JQuery là một thư viện JavaScript nhanh, nhỏ và giàu tính năng. Nó
làm cho những thứ như thao tác và duyệt tài liệu HTML, xử lý sự kiện,
hoạt ảnh và Ajax đơn giản hơn nhiều với một API dễ sử dụng hoạt động
trên vơ số trình duyệt. Với sự kết hợp giữa tính linh hoạt và khả năng
mở rộng, jQuery đã thay đổi cách mà hàng triệu người viết JavaScript.
● Ưu điểm của Jquery:
- Là thư viện lớn của javascript:
Thực hiện được nhiều chức năng hơn so với các thư viện JavaScript
khác.
- Dễ sử dụng:

6


Đây là lợi thế chính khi sử dụng Jquery, nó dễ dàng sử dụng hơn so
với nhiều thư viện JavaScript chuẩn khác bởi cú pháp đơn giản và bạn
chỉ phải viết ít dịng lệnh để tạo ra các chức năng tương tự.
Chỉ với 10 dịng lệnh JQuery bạn có thể thay thế cả 20 chục dòng
lệnh DOM JavaScript, tiết kiệm thời gian của lập trình viên.
- Cộng đồng mã nguồn mở lớn mạnh:
Jquery cịn tương đối mới, có một cộng đồng dành thời gian của họ
để phát triển các plugin của Jquery. Như vậy, có hàng trăm plugin được
viết trước đó có sẵn để tải về ngay lập tức để đẩy nhanh quá trình viết
code của người lập trình. Một lợi thế khác đằng sau là hiệu quả và an
toàn của các script.
- Có nhiều tài liệu và hướng dẫn:
Các trang web JQuery có tồn bộ tài liệu và hướng dẫn để ngay cả
một người mới bắt đầu lập trình cũng có thể làm việc dễ dàng với thư
viện Jquery này.

- Hỗ trợ AJAX:
JQuery cho phép bạn phát triển các template AJAX một cách dễ
dàng. AJAX cho phép một giao diện kiểu dáng đẹp trên website, các
chức năng có thể được thực hiện trên các trang mà khơng địi hỏi tồn
bộ trang reload lại.
1.2.3. Framework Laravel và mơ hình MVC
● Giới thiệu framework Laravel:
Framework chính là một thư viện với các tài nguyên có sẵn cho
từng lĩnh vực để lập trình viên sử dụng thay vì phải tự thiết kế. Với
Framework, lập trình viên chỉ cần tìm hiểu và khai thác những tài
nguyên đó, gắn kết chúng lại với nhau và hồn chỉnh sản phẩm của
mình.

7


Laravel là một PHP Framework mã nguồn mở miễn phí. Được phát
triển nhằm mục đích hỗ trợ phát triển các ứng dụng web theo mơ hình
MVC.
● Mơ hình MVC trong Laravel:
MVC (Model-View-Controller) là mẫu kiến trúc phần mềm trên
máy tính nhằm mục đích tạo lập giao diện cho người dùng. Hệ thống
MVC được chia thành ba phần có khả năng tương tác với nhau và tách
biệt các nguyên tắc nghiệp vụ với giao diện người dùng. Ba thành phần
ấy bao gồm:
- View:
View là một phần của ứng dụng chịu trách nhiệm cho việc trình bày
dữ liệu. Thành phần này được tạo bởi dữ liệu thu thập từ dữ liệu mơ
hình, và giúp người dùng có cái nhìn trực quan về trang web, cũng như
ứng dụng.

View cũng đại diện cho dữ liệu từ các cuộc trị chuyện, sơ đồ và
bảng. Ví dụ: bất kỳ View nào cũng sẽ có bao gồm tất cả các thành phần
giao diện người dùng như nút bấm, menu, khung nhập...
- Model:
Model của kiến trúc MVC là thành phần chính đảm nhiệm chức
năng lưu trữ dữ liệu và các bộ phận logic liên quan của toàn bộ ứng
dụng.
Model chịu trách nhiệm cho các thao tác dữ liệu giữa Controller
hoặc bất kỳ logic nghiệp vụ liên quan nào khác như cho phép xem, truy
xuất dữ liệu...
- Controller:
Controller xử lý tương tác người dùng của ứng dụng. Nó xử lý dữ
liệu đầu vào từ bàn phím và chuột của người dùng, sau đó thơng báo tới
View và Model.

8


Controller gửi các lệnh tới Model để thay đổi trạng thái của Model.
Controller cũng gửi các lệnh tương tự tới View để thực hiện các thay đổi
về giao diện.

Hình 1.4. Mơ hình MVC trong Laravel
● Tính năng nổi bật của Laravel:
- Tính mơ đun:
Tính mơ đun là khả năng một thành phần ứng dụng web có thể tách
rời và kêt hợp lại. Có thể phân chia logic nghiệp vụ thành các mo-đun
khác nhau, tất cả đều hoạt động cùng nhau để làm cho ứng dụng web
hoạt động.
Sử dụng cấu trúc mơ-đun có thể thiết kế và phát triển ứng dụng

doanh nghiệp quy mô lớn một cách dễ dàng. Laravel cung cấp các
hướng dẫn rất đơn giản để tạo các mô-đun hoặc pakege trong Laravel.
-Tính năng xác thực:
Xác thực là một phần không thể thiếu của bất kỳ website hiện đại
nào. Viết các thực trong các Frameword khác có thể mất rất nhiều thời

9


gian. Nhưng với Laravel thì ngược lại, chỉ cần chạy một lệnh đơn giản,
đã có thể tạo một hệ thống xác thực đầy đủ chức năng.
- Tính năng Caching:
Caching(bộ nhớ đệm) là một kỹ thuật để lưu trữ dữ liệu trong một vị
trí lưu trữ tạm thời có thể lấy ra nhanh chóng khi cần, chủ yếu được sử
dụng để làm tăng hiệu suất của website.
Laravel gần nhưng lưu tất cả dữ liệu từ View đến routes. Điều này
giúp Laravel giảm thời gian xử lý và tăng hiệu suất rất nhiều.
- Tính năng Routing:
Định tuyến(Routing) trong Laravel rất dễ hiểu, có thể sử dụng để tạo
một ứng dùng tĩnh dễ dàng. Có thể nhóm các routes, đặt tên cho chúng,
áp dụng các bộ lọc cho chúng và liên kết mô hình dữ liệu với chúng.
Các routes có thể sử dụng để tạo các URL thân thiện với cơng cụ tìm
kiếm.
- Database Query Builder:
Database Query Builder của Laravel cung cấp một cách thuận tiện
để tạo các truy cấp cơ sở dữ liệu. Nó đi kèm với vơ số chức năng của
trình trợ giúp có thể để lọc dữ liệu.
Có thể thực hiện các truy vấn phức tạp một cách dễ dàng bằng join
trong Laravel. Cú pháp Query Builder rất dễ hiểu và làm cho việc viết
các truy vấn cơ sở dữ liệu trở nên nhẹ nhàng hơn rất nhiều.

- Tính năng bảo mật rất tốt:
Laravel cung cấp cách tạo các ứng dụng web an toàn. Lưu trữ tất cả
các mật khẩu dưới dạng hash, thay vì mật khẩu text đơn giản.
Laravel cung cấp bảo mật để chống lại các cuộc tấn cơng truy vấn cơ
sở dữ liệu. An tồn khi xử lý với dữ liệu mà người dùng cung cấp.
- Artisan:
Công cụ dòng lệnh của Laravel được gọi là Artisan. Laravel đi kèm
với hàng ngàn lệnh được xây dựng sẵn.
10


1.2.4. MySQL
● Giới thiệu MySQL:
MySQL là hệ quản trị cơ sở dữ liệu sử dụng mã nguồn mở phổ biến
nhất thế giới và được ưa chuộng trong quá trình phát triển web, ứng
dụng... Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các
ứng dụng có CSDL trên Internet.
● Ưu điểm của MySQL:
- Dễ sử dụng: MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định,
dễ sử dụng và có thể 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.
- Đa tính năng: MySQL hỗ trợ rất nhiều chức năng được mong chờ từ
một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.
- Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu
và hơn thế nữa nó có thể được mở rộng nếu cần thiết.
- Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm
việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.
- Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập
CSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật, ngay cả ở
cấp cao.


11


Chương 2: Phân tích và thiết kế hệ thống
2.1. Khảo sát thực trạng
2.1.1. Mô tả hệ thống
Một số cửa hàng thực phẩm đang có chiến lược mở rộng chuyển
sang hình thức kinh doanh online. Mỗi cửa hàng bày bán rất nhiều loại
mặt hàng khác nhau, mỗi loại mặt hàng bao gồm rất các thực phẩm với
nhiều giá cả, hình thức,... Bên cạnh đó, các cửa hàng cịn quản lý nhiều
hình thức quan trọng là buôn bán, giao dịch, quản lý xuất-nhập kho,... Vì
vậy, cần có một hệ thống phần mềm chuyên nghiệp để giảm thiểu các rủi
ro, lưu trữ nguồn dữ liệu lớn và dễ dàng trong việc quản lý, theo dõi,
cũng như tiếp cận dễ dàng hơn với hình thức kinh doanh online.
Người quản lý cần quản lý các thơng tin về các loại thực phẩm
đóng hộp, gia vị, đồ dùng cá nhân và các sản phẩm cụ thể của cửa hàng
đang bày bán. Lưu các thông tin về sản phẩm như tên sản phẩm, loại sản
phẩm, giá, số lượng, hình ảnh sản phẩm... để người dùng có thể lựa chọn
dễ dàng.
Khi có thắc mắc hay phản hồi về sản phẩm đã sử dụng, khách hàng
liên hệ với cửa hàng. Khi khách hàng mua hàng của cửa hàng, các thông
tin cơ bản của khách hàng như họ tên, số điện thoại, địa chỉ… sẽ được
lưu lại để tiện cho việc liên lạc, giao hàng cũng như thực hiện tri ân,
giảm giá; và lưu các thông tin giao dịch như các sản phẩm khách hàng
mua, số lượng, giá tiền, giảm giá, tổng tiền, địa chỉ nhận… Ngồi ra, các
thơng tin về phiếu giảm giá(vouchers) của mỗi khách hàng cũng được
lưu lại với các mã, phần trăm giảm giá, thời hạn…
Quản lý lưu lại thông tin của nhân viên làm việc trong cửa hàng
như tên, ngày sinh, địa chỉ, số điện thoại… Giúp dễ dàng trong việc

quản lý và liên lạc với các nhân viên trong cửa hàng của mình.
Tại mỗi cửa hàng, các quản lý sẽ cần thực hiện tổng kết báo cáo
cuối ngày, cuối tháng… thống kê doanh thu, tình trạng hàng hóa tồn
kho.
2.1.2. Các u cầu với hệ thống triển khai
❖ Yêu cầu về chức năng:
- Phân quyền hệ thống.
12


- Khách hàng được xem các danh sách sản phẩm và tìm kiếm, đăng
ký hệ thống có thể đặt hàng, đánh giá các sản phẩm xe và quản lý các
thông tin của tài khoản.
- Nhân viên có thể thực hiện quản lý danh mục sản phẩm, quản lý sản
phẩm, quản lý hóa đơn, quản lý voucher, nhưng một số chức năng có
thể bị giới hạn.
- Quản trị viên đăng nhập với quyền cao nhất có tồn bộ chức năng
quản lý với hệ thống như quản lý nhân viên, quản lý khách hàng, quản
lý danh mục, quản lý sản phẩm, quản lý hóa đơn…
❖ u cầu phi chức năng:
- Tính tương thích: Tương thích đa phần với các trình duyệt web hiện
tại.
- Tính bảo mật: Bảo mật và độ an tồn cao.
- Thời gian vận hành: Đảm bảo vận hành 24/7.
- Tốc độ xử lý: Hệ thống phải xử lý nhanh chóng và chính xác.
❖ u cầu về giao diện:
- Giao diện thân thiện, dễ sử dụng với người dùng.
- Màu sắc hài hòa.

2.2. Biểu đồ Use Case của hệ thống

2.2.1. Use Case tổng quát
13


Hình 2.1. Use Case tổng quát

2.2.2. Use Case của tác nhân KHACHHANG

14


Hình 2.2. Use Case của tác nhân KHACHHANG
− Đặc tả Use Case Tìm kiếm thực phẩm
Use Case

Tìm kiếm thực phẩm

Tác nhân chính

Khách hàng

Mơ tả ngắn gọn

Khách hàng thực hiện tìm kiếm thông tin các thực
phẩm bày bán trong cửa hàng

Tiền điều kiện
Chuỗi

sự


Khơng có
kiện

chính

1. Người dùng nhập từ khóa muốn tìm kiếm, chọn
Tìm kiếm
2. Hệ thống lấy danh sách dữ liệu so sánh với từ khóa:
Nếu có hiển thị danh sách thực phẩm tương ứng.
Ngược lại, hiển thị trang trống.

Ngoại lệ

Không có

Điều kiện đầu ra

Thơng tin thực phẩm tìm kiếm theo từ khóa hiển thị
trên màn hình

− Đặc tả Use Case Thêm thực phẩm vào giỏ hàng
Use Case

Thêm thực phẩm vào giỏ hàng
15


Tác nhân chính


Khách hàng

Mơ tả ngắn gọn

Khách hàng thêm thực phẩm vào giỏ hàng

Tiền điều kiện

Khơng có

Chuỗi

sự

kiện

chính

1. Khách hàng chọn thực phẩm muốn mua.
2. Chọn thêm thực phẩm vào giỏ hàng.
3. Hệ thống kiểm tra dữ liệu: Nếu số lượng hàng hiện
có thỏa mãn, thực hiện bước tiếp theo. Ngược lại,
thông báo thực phẩm đã hết và hủy thao tác.
4. Hệ thống thêm thực phẩm vào giỏ hàng

Ngoại lệ

Khơng có

Điều kiện đầu ra


Lưu giỏ hàng trong session của khách hàng

− Đặc tả Use Case Cập nhật số lượng thực phẩm giỏ hàng
Use Case

Cập nhật số lượng thực phẩm giỏ hàng

Tác nhân chính

Khách hàng

Mơ tả ngắn gọn

Khách hàng cập nhật số lượng thực phẩm trong giỏ
hàng

Tiền điều kiện
Chuỗi

sự

Khơng có
kiện

chính

1. Khách hàng chọn thực phẩm muốn cập nhật số
lượng.
2. Chọn số lượng thích hợp, vào chọn lưu.

3. Hệ thống kiểm tra dữ liệu: Nếu số lượng hàng hiện
có thỏa mãn, thực hiện bước tiếp theo. Ngược lại,
thông báo số lượng thực phẩm không đủ và hủy
thao tác.
4. Hệ thống cập nhật số lượng thực phẩm trong giỏ
hàng

Ngoại lệ

Khơng có

Điều kiện đầu ra

Cập nhật giỏ hàng trong session của khách hàng
16


− Đặc tả Use Case Xóa thực phẩm trong giỏ hàng
Use Case

Xóa thực phẩm trong giỏ hàng

Tác nhân chính

Khách hàng

Mơ tả ngắn gọn

Khách hàng xóa thực phẩm trong giỏ hàng


Tiền điều kiện

Khơng có

Chuỗi

sự

kiện

chính

1. Khách hàng chọn thực phẩm muốn xóa
2. Chọn xóa.
3. Hệ thống kiểm tra: Nếu thành cơng thực hiện bước
tiếp theo. Ngược lại, thông báo lỗi.
4. Hệ thống xóa thực phẩm trong giỏ hàng

Ngoại lệ

Khơng có

Điều kiện đầu ra

Cập nhật giỏ hàng trong session của khách hàng

− Đặc tả Use Case Đặt hàng
Use Case

Đặt hàng


Tác nhân chính

Khách hàng

Mơ tả ngắn gọn

Khách hàng thực hiện đặt hàng, thanh toán đơn hàng
của mình

Tiền điều kiện
Chuỗi
chính

sự

Khơng có
kiện

1. Khách hàng thanh tốn
2. Hệ thống kiểm tra tài khoản khách hàng, hiển thị
form thanh tốn
3. Khách hàng nhập các thơng tin cần thiết, chọn
thanh tốn
4. Hệ thống kiểm tra: Nếu thành cơng thực hiện bước
tiếp theo. Ngược lại, thông báo lỗi.
5. Hệ thống tạo thông tin đơn hàng và chi tiết đơn
17



hàng
Ngoại lệ

3. Khách hàng chọn Hủy
4. Hệ thống hủy thao tác, và trả về trang giỏ hàng

Điều kiện đầu ra

Cập nhật thông tin đơn hàng của khách hàng vào cơ sở
dữ liệu khi thanh tốn thành cơng

2.2.3. Use Case quản lý danh mục thực phẩm

Hình 2.3. Use Case quản lý danh mục thực phẩm
− Đặc tả Use Case Thêm thông tin danh mục
Use Case

Thêm thơng tin danh mục

Tác nhân chính

Người quản lý

Mô tả ngắn gọn

Người quản lý thực hiện thêm các danh mục, giúp phân
loại các thực phẩm dễ dàng

Tiền điều kiện
Chuỗi

chính

sự

Người dùng đăng nhập thành cơng, với quyền quản trị
kiện

1. Quản lý đăng nhập hệ thống, chọn quản lý danh
mục
2. Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì
truy cập hệ thống, chuyển hướng tới trang quản lý
danh mục
3. Quản lý chọn nút Thêm danh mục
4. Hệ thống hiển thị form thêm danh mục
18


5. Quản lý nhập các trường dữ liệu, nhấn nút Lưu
6. Hệ thống kiểm tra dữ liệu: Nếu thỏa mãn thực hiện
bước tiếp theo. Ngược lại, thông báo lỗi và quay lại
bước 5.
7. Hệ thống thông báo thêm danh mục thành công, và
lưu thông tin danh mục trong cở dữ liệu
Ngoại lệ

5. Quản lý chọn Hủy
6. Hệ thống hủy thao tác, và trả về trang quản lý danh
mục

Điều kiện đầu ra


Các thông tin danh mục được lưu vào cơ sở dữ liệu

− Đặc tả Use Case Sửa thông tin danh mục
Use Case

Sửa thơng tin danh mục

Tác nhân chính

Người quản lý

Mơ tả ngắn gọn

Người quản lý thực hiện sửa thông tin các danh mục

Tiền điều kiện

Người dùng đăng nhập thành công, với quyền quản trị

Chuỗi
chính

sự

kiện

1. Quản lý đăng nhập hệ thống, chọn quản lý danh
mục
2. Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì

truy cập hệ thống, chuyển hướng tới trang quản lý
danh mục
3. Quản lý chọn danh mục muốn sửa, chọn sửa
4. Hệ thống lấy dữ liệu danh mục theo ID, và hiển thị
form sửa danh mục
5. Quản lý nhập các trường dữ liệu, nhấn nút Cập nhật
6. Hệ thống kiểm tra dữ liệu: Nếu thỏa mãn thực hiện
bước tiếp theo. Ngược lại, thông báo lỗi và quay lại
bước 5.
19


7. Hệ thống thông báo sửa danh mục thành công, và
cập nhật thông tin danh mục trong cở dữ liệu
Ngoại lệ

5. Quản lý chọn Hủy
6. Hệ thống hủy thao tác, và trả về trang quản lý danh
mục

Điều kiện đầu ra

Các thông tin danh mục được lưu vào cơ sở dữ liệu

− Đặc tả Use Case Xóa danh mục
Use Case

Xóa danh mục

Tác nhân chính


Người quản lý

Mơ tả ngắn gọn

Người quản lý thực hiện xóa các danh mục thực phẩm
khơng bán

Tiền điều kiện
Chuỗi
chính

sự

Người dùng đăng nhập thành cơng, với quyền quản trị
kiện

1. Quản lý đăng nhập hệ thống, chọn quản lý danh
mục
2. Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì
truy cập hệ thống, chuyển hướng tới trang quản lý
danh mục
3. Quản lý chọn danh mục muốn xóa, chọn xóa
4. Hệ thống hiển thị modal trước khi xóa
5. Quản lý chọn Xóa
6. Hệ thống kiểm tra dữ liệu: Nếu thỏa mãn thực hiện
bước tiếp theo. Ngược lại, thông báo lỗi và hủy
thao tác.
7. Hệ thống thơng báo xóa danh mục thành cơng, và
cập nhật trạng thái xóa danh mục trong cở dữ liệu


Ngoại lệ

5. Quản lý chọn Hủy
6. Hệ thống hủy thao tác, và trả về trang quản lý danh
20


mục
Điều kiện đầu ra

Các thông tin danh mục được lưu vào cơ sở dữ liệu

2.2.4. Use Case quản lý thực phẩm

Hình 2.4. Use Case quản lý thực phẩm
− Đặc tả Use Case Thêm thông tin thực phẩm
Use Case

Thêm thông tin thực phẩm

Tác nhân chính

Người quản lý

Mơ tả ngắn gọn

Người quản lý thực hiện thêm thơng tin thực phẩm có
trong cửa hàng


Tiền điều kiện
Chuỗi
chính

sự

Người dùng đăng nhập thành cơng, với quyền quản trị
kiện

6. Quản lý đăng nhập hệ thống, chọn quản lý thực
phẩm
7. Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì
truy cập hệ thống, chuyển hướng tới trang quản lý
thực phẩm
8. Quản lý chọn nút Thêm thực phẩm
9. Hệ thống hiển thị form thêm thực phẩm
10.Quản lý nhập các trường dữ liệu, nhấn nút Lưu
11.Hệ thống kiểm tra dữ liệu: Nếu thỏa mãn thực hiện
21


bước tiếp theo. Ngược lại, thông báo lỗi và quay lại
bước 5.
12.Hệ thống thông báo thêm thực phẩm thành công, và
lưu thông tin thực phẩm trong cở dữ liệu
Ngoại lệ

5. Quản lý chọn Hủy
6. Hệ thống hủy thao tác, và trả về trang quản lý thực
phẩm


Điều kiện đầu ra

Các thông tin thực phẩm được lưu vào cơ sở dữ liệu

− Đặc tả Use Case Sửa thông tin thực phẩm
Use Case

Sửa thơng tin thực phẩm

Tác nhân chính

Người quản lý

Mơ tả ngắn gọn

Người quản lý thực hiện sửa thông tin thực phẩm

Tiền điều kiện

Người dùng đăng nhập thành công, với quyền quản trị

Chuỗi
chính

sự

kiện

1. Quản lý đăng nhập hệ thống, chọn quản lý thực

phẩm
2. Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì
truy cập hệ thống, chuyển hướng tới trang quản lý
thực phẩm
3. Quản lý chọn thực phẩm muốn sửa, chọn sửa
4. Hệ thống lấy dữ liệu thực phẩm theo ID, và hiển thị
form sửa thực phẩm
5. Quản lý nhập các trường dữ liệu, nhấn nút Cập nhật
6. Hệ thống kiểm tra dữ liệu: Nếu thỏa mãn thực hiện
bước tiếp theo. Ngược lại, thông báo lỗi và quay lại
bước 5.
7. Hệ thống thông báo sửa thực phẩm thành công, và
cập nhật thông tin thực phẩm trong cở dữ liệu
22


Ngoại lệ

5. Quản lý chọn Hủy
6. Hệ thống hủy thao tác, và trả về trang quản lý thực
phẩm

Điều kiện đầu ra

Các thông tin thực phẩm được lưu vào cơ sở dữ liệu

− Đặc cả Use Case Xóa thực phẩm
Use Case

Xóa thực phẩm


Tác nhân chính

Người quản lý

Mơ tả ngắn gọn

Người quản lý thực hiện xóa các thực phẩm khơng bán

Tiền điều kiện

Người dùng đăng nhập thành cơng, với quyền quản trị

Chuỗi

sự

kiện

chính

1. Quản lý đăng nhập hệ thống, chọn quản lý thực
phẩm
2. Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì
truy cập hệ thống, chuyển hướng tới trang quản lý
thực phẩm
3. Quản lý chọn thực phẩm muốn xóa, chọn xóa
4. Hệ thống hiển thị modal trước khi xóa
5. Quản lý chọn Xóa
6. Hệ thống kiểm tra dữ liệu: Nếu thỏa mãn thực hiện

bước tiếp theo. Ngược lại, thông báo lỗi và hủy
thao tác.
7. Hệ thống thơng báo xóa thực phẩm thành cơng, và
cập nhật trạng thái xóa thực phẩm trong cở dữ liệu

Ngoại lệ

5. Quản lý chọn Hủy
6. Hệ thống hủy thao tác, và trả về trang quản lý thực
phẩm

Điều kiện đầu ra

Các thông tin thực phẩm được lưu vào cơ sở dữ liệu

23


×