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