1. Trang chủ
  2. » Thể loại khác

ĐỒ ÁN CƠ SỞ 2 ĐỀ TÀI: XÂY DỰNG WEBSITE ĐẶT MÓN ĂN. Giảng viên : THS. TRỊNH THỊ NGỌC LINH

61 57 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 4,83 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bảng 2.1 - Danh sách các tác nhân của hệ thống STT Tên Actor Giải thích 1 Người dùng User - Đăng nhập hệ thống: Mỗi một khách hàng đã đăng ký tài khoản đều có quyền đăngnhập vào tài khoả

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

VIỆT - HÀN

ĐỒ ÁN CƠ SỞ 2

ĐỀ TÀI: XÂY DỰNG WEBSITE ĐẶT MÓN ĂN

Sinh viên thực hiện : TRẦN QUỐC TÍNH - 19IT5

NGUYỄN ĐĂNG QUÝ - 19IT4

Giảng viên dạy : THS TRỊNH THỊ NGỌC LINH

Trang 2

Đà nẵng, tháng 11 năm 2020

Trang 3

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

VIỆT - HÀN

ĐỒ ÁN CƠ SỞ 2

ĐỀ TÀI: XÂY DỰNG WEBSITE ĐẶT MÓN ĂN

Sinh viên thực hiện : TRẦN QUỐC TÍNH - 19IT5

NGUYỄN ĐĂNG QUÝ - 19IT4

Giảng viên dạy : THS TRỊNH THỊ NGỌC LINH

Đà Nẵng, tháng 11 năm 2020

Trang 4

MỞ ĐẦU

1 Lý do chọn đề tài:

Trong những năm gần đây với sự phát triển vượt trội của khoa học kỹ thuậtđặc biệt là công nghệ thông tin, với những ứng dụng của công nghệ thông tin vàocác lĩnh vực đã đóng góp phần to lớn cho sự nghiệp phát triển của con người.Việc xây dựng các trang web để phục vụ cho các nhu cầu riêng của các tổ chức,công ty thậm chí các cá nhân ngày càng phổ biến và không còn là vấn đề xa lạ

Và một người bất kì có thể trở thành chủ của một website giới thiệu về bất cứ gì

mà họ quan tâm: một website giới thiệu về bản thân và gia đình họ, hay là mộtwebsite trình bày các bộ sưu tập hình ảnh, các sở thích mà họ yêu thích,

Đối với các nhà hàng thì việc xây dựng các website riêng càng ngày càng trởnên cấp thiết Thông qua những website này, thông tin về họ cũng như các món

ăn, dịch vụ mới của nhà hàng sẽ đến với những người quan tâm, đến với kháchhàng của họ một cách nhanh chóng kịp thời, tránh những phiền hà mà phươngthức giao tiếp truyền thống thường gặp phải

Từ vốn kiến thức có được trong quá trình học tập và thông qua tham khảomột số trang Web giới thiệu sản phẩm, quảng bá sản phẩm Em đã thực hiện đềtài: “Xây dựng website đặt món ăn”

2 Mục đích nghiên cứu:

Website sau khi xây dựng xong sẽ đáp ứng được các yêu cầu cơ bản sau:

 Giúp cho khách hàng: Đăng ký tài khoản, đăng nhập tài khoản, đổi mậtkhẩu, chỉnh sửa thông tin cá nhân, đặt mua món ăn, xem trạng thái đơnhàng, tìm kiếm và xem thông tin về món ăn

 Giúp cho quản trị: Đăng nhập, đổi mật khẩu, chỉnh sửa thông tin cánhân, quản lý danh mục các sản phẩm, quản lý đơn hàng, quản lý tàikhoản, quản lý khuyến mãi, thống kê đơn đặt hàng

3 Đối tượng ứng dụng và phạm vi ứng dụng:

Đối tượng ứng dụng của đề tài:

 Mọi người tiêu dùng trên toàn quốc có nhu cầu đặt mua món ăn quamạng

 Các công ty, doanh nghiệp có nhu cầu mua hệ thống website đặt mónăn

Phạm vi nghiên cứu của đề tài:

 Tìm hiểu kỹ thuật lập trình, cách thức hoạt động và các đối tượng trongPHP

 Hiểu được cách lưu trữ dữ liệu của hệ quản trị cơ sở dữ liệu MySQL

 Sử dụng ngôn ngữ PHP và hệ quản trị MySQL để xây dựng website

4 Ý nghĩa khoa học thực tiễn của đề tài:

Trong thời đại thương mại điện tử đang ngày càng phát triển việc ứng dụngvào hoạt động “Xây dựng website đặt món ăn” đã mang lại nhiều ý nghĩa sau:

 Đỡ tón thời gian cho người tiêu dùng cũng như nhà quản lý trong việctham gia vào hoạt động mua bán món ăn

 Giúp người tiêu dùng tìm được giá cả và hình ảnh món ăn một cáchchính xác

 Giúp nhà quản lý dễ dàng hơn trong việc quản lý sản phẩm

Trang 5

LỜI CẢM ƠN

Trước hết, xin gởi lời cảm ơn chân thành đến cô giáo Trịnh Thị Ngọc Linh

đã tận tình chỉ dẫn, góp ý để báo cáo của nhóm tránh nhiều sai sót và hoàn thiệnhơn Đề án này được được thực hiện bởi nhóm gồm 2 thành viên thuộc sinh viêncủa trường Đại học Công nghệ thông tin và Truyền thông Việt – Hàn Đà Nẵng.Xin gởi lời cảm ơn đến các tác giả bài viết, các trang web đã góp phần cung cấpcho chúng tôi các tiện ích và thông tin cần thiết để thực hiện đồ án

Cuối cùng, mặc dù nhóm đã rất cố gắng nhưng chắc chắn sẽ còn rất nhiềusai sót mà chưa thể khắc phục hết được vì vậy rất mong thầy đóng góp ý kiến,phê bình để nhóm rút thêm kinh nghiệm cho những lần sau

Xin chân thành cảm ơn!

Trang 6

NHẬN XÉT

(Của giảng viên hướng dẫn)

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Ký tên

Trang 7

MỤC LỤC

Trang

MỞ ĐẦU 1

Chương 1 Giới thiệu 11

1.1 Tổng quan 11

1.2 Phương pháp, kết quả 11

1.2.1 Nhiệm vụ thiết kế 11

1.3 Giới thiệu về kiến trúc và công nghệ chính được sử dụng 11

1.3.1 PHP 12

1.3.2 Bootstrap 12

1.3.3 JavaScript 12

1.3.4 Giới thiệu về Ajax 13

1.3.5 CodeIgniter 13

1.4 Cấu trúc đồ án 15

Chương 2 Phân tích thiết kế hệ thống 16

2.1 Phân tích yêu cầu hệ thống 16

2.1.1 Các yêu cầu chức năng 16

2.1.2 Các yêu cầu phi chức năng 16

2.2 Bảng chú giải 16

2.2.1 Giới thiệu 16

2.2.2 Các định nghĩa 17

2.3 Đặc tả bổ sung 17

2.3.1 Mục tiêu 17

2.3.2 Phạm vi 17

2.3.3 Tài liệu tham khảo 17

2.3.4 Chức năng 17

2.3.5 Tính khả dụng 17

2.3.6 Tính ổn định 17

2.3.7 Hiệu suất 17

2.3.8 Sự hỗ trợ 18

2.3.9 Tính bảo mật 18

2.3.10 Các ràng buộc thiết kế 18

2.4 Các sơ đồ Use Case 18

2.4.1 Các tác nhân của hệ thống 18

2.4.2 Mô hình các trường hợp sử dụng của Người dùng 19

2.4.3 Mô hình các trường hợp sử dụng của Quản trị viên 19

2.4.4 Biểu đồ use case mức tổng quát của hệ thống 19

2.5 Đặc tả Use Case 21

2.5.1 Đăng nhập vào hệ thống: 21

2.5.2 Đăng ký tài khoản: 22

2.5.3 Đăng xuất tài khoản: 23

2.5.4 Quản lý đơn hàng: 23

2.5.5 Quản lý thông tin cá nhân: 24

2.5.6 Quản lý thực đơn: 25

2.5.7 Quản lý mặt hàng: 25

2.5.8 Quản lý danh mục sản phẩm: 26

2.5.9 Quản lý tài khoản người dùng: 27

2.5.10 Quản lý khuyến mãi: 28

2.5.11 Thống kê đơn đặt hàng: 28

2.5.12 Quản lý trang con: 29

Trang 8

2.5.13 Quản lý ngôn ngữ website: 30

2.5.14 Tìm kiếm: 30

2.5.15 Đổi mật khẩu: 31

2.5.16 Quản lý giỏ hàng: 32

2.5.17 Xem thức ăn đồ uống: 33

2.6 Biểu đồ lớp 33

2.6.1 Các biểu đồ lớp ràng buộc mối quan hệ: 33

2.7 Biểu đồ tuần tự 38

2.7.2 Biểu đồ tuần tự cho chức năng quản trị hệ thống 39

2.7.3 Biểu đồ tuần tự cho chức năng quản lý danh mục sản phẩm 40

2.7.4 Biểu đồ tuần tự cho chức năng tìm kiếm 41

2.7.5 Biểu đồ tuần tự cho chức năng quản lý đơn hàng 42

2.7.6 Biểu đồ tuần tự cho chức năng quản lý khuyến mãi 43

2.7.7 Biểu đồ tuần tự cho chức năng đổi mật khẩu: 44

2.7.8 Biểu đồ tuần tự cho chức năng chỉnh sửa thông tin cá nhân: 45

2.7.9 Biểu đồ tuần tự cho chức năng đặt món ăn: 46

2.7.10 Biểu đồ tuần tự cho chức năng xem đơn hàng: 47

Chương 3 Triển khai xây dựng website 48

3.1 Cài đặt website trên máy tính 48

3.1.1 Cài đặt phần mềm Xampp 48

3.1.2 Tạo cơ sở dữ liệu MySQL 52

3.2 Thiết kế giao diện website 53

3.2.1 Giao diện người dùng 53

3.2.2 Giao diện quản trị 56

Kết luận và Hướng phát triển 58

3.3 Kết luận 58

3.4 Hướng phát triển 58

3.4.1 Để tài có thể được mở rộng và phát triển theo các hướng sau: 58

3.4.2 Liên kết với các hệ thống ngân hàng: 58

3.4.3 Liên kết với các đối tác là nhà cung cấp dịch vụ để thực hiện quá trình đăng ký và thanh toán tự động 58

3.4.4 Đưa vào triển khai ứng dụng trên thực tế 59

DANH MỤC TÀI LIỆU THAM KHẢO 58

Trang 9

DANH MỤC CÁC BẢNG

Trang

Bảng 2.1 - Danh sách các tác nhân của hệ thống 13

Bảng 2.2 - Đăng nhập 18

Bảng 2.3 - Đăng ký 20

Bảng 2.4 - Đăng xuất 21

Bảng 2.5 - Quản lý đơn hàng 21

Bảng 2.6 - Quản lý thông tin cá nhân 22

Bảng 2.7 - Quản lý thực đơn 23

Bảng 2.8 - Quản lý mặt hàng 23

Bảng 2.9 - Quản lý danh mục sản phẩm 24

Bảng 2.10 - Quản lý tài khoản người dùng 25

Bảng 2.11 - Quản lý khuyến mãi 26

Bảng 2.12 - Thống kê đơn đặt hàng 26

Bảng 2.13 - Quản lý trang con 27

Bảng 2.14 - Quản lý ngôn ngữ website 28

Bảng 2.15 - Tìm kiếm 28

Bảng 2.16 - Đổi mật khẩu 29

Bảng 2.17 - Quản lý giỏ hàng 30

Bảng 2.18 - Xem thức ăn đồ uống 31

Trang 10

DANH MỤC HÌNH

Trang

Hình 2.1 - Biểu đồ Use Case của người dùng 15

Hình 2.2 - Biểu đồ Use Case của người quản trị 16

Hình 2.3 - Biểu đồ ràng buộc của lớp orders 17

Hình 3.2 - Giao diện thiết lập cấu hình của XAMPP 27

Hình 3.3 - Thiết lập thư mục Webserver XAMPP 27

Hình 3.4 - Tiến trình cài đặt của Xampp 28

Hình 3.5 - Giao diện chọn ngôn ngữ mặc định của Xampp 28

Hình 3.6 - Giao diện chương trình Xampp 29

Hình 3.7 - Hướng dẫn truy cập file php.ini 29

Hình 3.8 - Code của file php.ini 30

Hình 3.9 - Giao diện trang phpMyAdmin 30

Hình 3.10 - Tạo cơ sở dữu liệu 30

Trang 12

Chương 1 Giới thiệu

1.1 Tổng quan

Với sự phát triển của thương mại điện tử, mô hình thương mại điện tử O2Odần ra đời Hệ thống đặt hàng trực tuyến là một biểu hiện của mô hình kinh doanhnày Bây giờ có nhiều điều cần biết xung quanh khuôn viên trường chúng tôi,nhưng hầu hết chúng vẫn sử dụng cách đặt hàng qua điện thoại và ghi chép bằngtay Phương thức này không chỉ rườm rà, mất thời gian mà còn do việc mua mang

về thường tập trung nên nhiều người sẽ gọi cùng lúc trong bữa trưa và bữa tối.Đối mặt với tình huống này, nhà hàng hoặc sẽ tăng số lượng kết nối đồng thờinhưng điều này sẽ làm tăng chi phí hoặc không làm gì sẽ mất đi lợi nhuận màđáng lẽ có được

Hệ thống đặt hàng trực tuyến có thể giải quyết tốt vấn đề này, mạng có thể

xử lý đồng thời các công việc kinh doanh cùng lúc, từ đó tránh được tình trạngmất khách do nhiều người gọi đến cùng lúc và không kết nối được Đồng thờicách thức đặt suất ăn điện tử cũng tạo điều kiện thuận lợi cho việc thu thập vàphân tích dữ liệu Do đó, đồ án này có thể hiện thực hóa việc đặt hàng trực tuyếnđồng bộ, chỉ cần người dùng đặt hàng trực tuyến là có thể nhận được dịch vụ giao

đồ ăn giống như đặt hàng qua điện thoại, tiện lợi và nhanh chóng hơn

1.2 Phương pháp, kết quả

1.2.1 Nhiệm vụ thiết kế

Giao diện người dùng của một trang web rất quan trọng, nó trực tiếp đốimặt với người dùng Tuy nhiên để nâng cao trải nghiệm của nhiều người dùngcần phải có nhiều chức năng tương tác giữa người dùng và quản trị viên Vì vậy,trong đồ án này, thiết kế back-end chiếm một phần lớn và liên quan đến nhiềukhía cạnh của công nghệ

Giao diện người dùng của trang sử dụng công nghệ HTML và JavaScript

để hỗ trợ hoạt động của giao diện người dùng và sử dụng công nghệ Ajax để đăng

dữ liệu lên máy chủ, nhờ đó trang có thể tương tác với máy chủ mà không cầnlàm mới

Cấu trúc website được thiết kế để khách hàng có thể đặt thức ăn trực tiếptrên website sau khi đăng ký trên website Còn quản trị sau khi đăng nhập trêntrang web có thể quản lý các cài đặt khác nhau của nhà hàng trong nền, bao gồmtên nhà hàng, giờ làm việc, giới thiệu nhà hàng, số điện thoại nhà hàng (số điệnthoại di động, điện thoại cố định) và các thông tin khác, và bạn cũng có thể tùychỉnh các yêu cầu giao hàng của riêng mình Chờ đợi Sau khi tùy chỉnh thông tin,người dùng nhà hàng có thể tải lên thông tin món ăn của riêng họ Sau khi tảithông tin món ăn lên, hãy tải hình ảnh món ăn lên và cuối cùng, nhấp vào nút trựctuyến nhà hàng trong nền để món ăn trong nhà hàng có thể được xuất bản bìnhthường Với sự kiểm soát của quản trị viên để tất cả thông tin sản phẩm có thểđược cập nhật kịp thời và tất cả các đơn đặt hàng có thể được xử lý kịp thời điềunày thực sự hiện thực hóa văn phòng trực tuyến, giảm chi phí làm việc và nângcao hiệu quả công việc

1.3 Giới thiệu về kiến trúc và công nghệ chính được sử dụng

Môi trường phát triển đồ án này là Window 10, ngôn ngữ phát triển là PHP,

cơ sở dữ liệu sử dụng mã nguồn mở MySql, máy chủ sử dụng máy chủ mã nguồn

mở nổi tiếng Xampp Nó được cài đặt bằng gói môi trường phát triển Xampp, do

Trang 13

đó không cần phải cấu hình các biến môi trường của PHP, Apache và MySqlriêng sau khi cài đặt Xampp tích hợp PHP, Apache, MySql để cấu hình cùngnhau, trong quá trình phát triển bạn có thể dễ dàng sửa đổi các thông tin cấu hìnhkhác nhau, ngoài ra Xampp còn đi kèm với công cụ phpMyAdmin cho phép bạn

dễ dàng thực hiện các thao tác khác nhau trên cơ sở dữ liệu thông qua trang web

Đồ án này sử dụng một framework PHP có tên là CodeIgniter, được pháthành sau phiên bản PHP 5.3, điều này cho thấy nó có nhiều ưu điểm hơn so vớicác framework PHP khác

Lý do tại sao ngôn ngữ PHP được sử dụng để phát triển là vì theo thống kêcủa Alexa, vào năm 2013, khoảng 40% trang web được phát triển với cơ sở dữliệu PHP và MySql Là một sinh viên năm hai, tôi rất tò mò về việc sử dụngnhiều loại công nghệ như vậy Có vẻ như, em hy vọng sẽ học hỏi được nhiều điều

từ quá trình phát triển đồ án này

1.3.1 PHP

PHP (tên đầy đủ là Hypertext Preprocessor) là một ngôn ngữ lập trình máytính đa năng mã nguồn mở, đặc biệt thích hợp để phát triển web và được nhúngtrong HTML Ngữ pháp của PHP hấp thụ các đặc điểm của các ngôn ngữ máytính phổ biến như ngôn ngữ C, Java và Perl, và rất dễ học cho các lập trình viênnói chung Mục tiêu chính của PHP là cho phép các nhà phát triển web nhanhchóng viết các trang động, nhưng PHP cũng được sử dụng trong nhiều lĩnh vựckhác PHP ban đầu được phát triển bởi Ledorf vào năm 1995 Và bây giờ các tiêuchuẩn PHP được duy trì bởi Nhóm PHP và cộng đồng nguồn mở PHP sử dụngGiấy phép PHP làm thỏa thuận cấp phép, nhưng vì thỏa thuận này hạn chế việc

sử dụng tên PHP, nên nó không tương thích với thỏa thuận cấp phép nguồn mởGPL PHP có một loạt các ứng dụng, đặc biệt là trong việc phát triển các chươngtrình web Nói chung, PHP chủ yếu chạy trên các máy chủ web và tạo ra cáctrang web được người dùng duyệt bằng cách chạy mã PHP PHP có thể chạy trênhầu hết các máy chủ và hệ điều hành, và hoàn toàn miễn phí khi sử dụng PHP

1.3.2 Bootstrap

Trang sử dụng phiên bản Bootstrap V3 nhiều nhất, đây là bộ công cụ mãnguồn mở để phát triển front-end do Twitter đưa ra Nó là một khuôn khổCSS/HTML được phát triển bởi nhà thiết kế Twitter Mark Otto và JacobThornton Bootstrap cung cấp các thông số kỹ thuật HTML và CSS thanh lịch,được viết bằng ngôn ngữ CSS động Less Bootstrap đã trở nên phổ biến kể từ khi

nó được đưa ra và là một dự án nguồn mở phổ biến trên GitHub, bao gồm cả Tintức mới về MSNBC (Microsoft National Broadcasting Corporation) của NASA

Nhiều công ty xuất sắc trong và ngoài nước sử dụng Bootstrap làm khungphát triển front-end cho các trang web của họ Các trang riêng của Twitter đượcphát triển bằng Bootstrap và phần phụ trợ của các nhà phát triển Douban trongnước cũng được viết bằng Bootstrap Ưu điểm của việc sử dụng ngôn ngữ CSSđộng Less for development là bạn có thể viết mã CSS như lập trình, điều này giúpcải thiện đáng kể hiệu quả phát triển

1.3.3 JavaScript

JavaScript, một ngôn ngữ kịch bản theo nghĩa đen, là một ngôn ngữ dựatrên nguyên mẫu được gõ động, được gõ yếu, có hỗ trợ kiểu cài sẵn Trình thôngdịch của nó được gọi là công cụ JavaScript, là một phần của trình duyệt và được

sử dụng rộng rãi trong các ngôn ngữ kịch bản phía máy khách Nó được sử dụnglần đầu tiên trên các trang web HTML để thêm các chức năng động vào các trang

Trang 14

web HTML Tuy nhiên, giờ đây JavaScript cũng có thể được sử dụng trên cácmáy chủ web như Node.js.

Trong đồ án này, thư viện jQuery rất thông dụng đã được sử dụng jQuery

là một thư viện JavaScript trên nhiều trình duyệt giúp đơn giản hóa hoạt độnggiữa HTML và JavaScript Phiên bản đầu tiên được phát hành bởi John Resig tạiBarCamp NYC vào tháng 1 năm 2006 Nó hiện đang được phát triển bởi mộtnhóm phát triển do Dave Methvin dẫn đầu Trong số 10.000 trang web được truycập nhiều nhất trên thế giới, 65% sử dụng jQuery, đây là thư viện JavaScript phổbiến nhất hiện nay

jQuery là phần mềm mã nguồn mở, được cấp phép theo giấy phép MIT.Thiết kế cú pháp của jQuery giúp thực hiện nhiều thao tác dễ dàng, chẳng hạnnhư thao tác với các đối tượng tài liệu (document), chọn phần tử DOM, tạo hiệuứng hoạt hình, xử lý sự kiện và phát triển chương trình Ajax jQuery cũng cungcấp cho các nhà phát triển khả năng tạo các plug-in trên đó Điều này cho phépcác nhà phát triển tóm tắt các tương tác và hoạt ảnh cấp thấp, các hiệu ứng nângcao và các thành phần chủ đề nâng cao Phương pháp mô-đun cho phép thư việnjQuery tạo các trang web động và ứng dụng web mạnh mẽ

Hệ thống này sử dụng hai phiên bản jQuery, phiên bản 2.1.0 mới nhấtđược sử dụng ở chế độ nền và phiên bản 2.0.3 được sử dụng ở chế độ nền Ưuđiểm lớn nhất của việc sử dụng jQuery là tính đến khả năng tương thích của trìnhduyệt, vì vậy bạn không cần phải Gỡ lỗi trong các trình duyệt khác nhau

1.3.4 Giới thiệu về Ajax

AJAX là viết tắt của "Asynchronous JavaScript and XML" (công nghệJavaScript và XML không đồng bộ), dùng để chỉ một tập hợp các công nghệ pháttriển trang web phía trình duyệt tích hợp nhiều công nghệ Khái niệm về Ajaxđược đưa ra bởi Jesse James Garrett

Các ứng dụng web truyền thống cho phép người dùng điền vào biểu mẫu

và gửi yêu cầu đến máy chủ web khi biểu mẫu được gửi Máy chủ nhận và xử lýbiểu mẫu đến, sau đó gửi nó trở lại một trang web mới, nhưng cách tiếp cận nàylãng phí rất nhiều băng thông, vì hầu hết các mã HTML trong hai trang thườnggiống nhau Vì mỗi giao tiếp ứng dụng cần gửi một yêu cầu đến máy chủ, thờigian phản hồi của ứng dụng phụ thuộc vào thời gian phản hồi của máy chủ Điềunày khiến giao diện người dùng phản hồi chậm hơn nhiều so với các ứng dụnggốc

Không giống như điều này, các ứng dụng AJAX chỉ có thể gửi và truyxuất dữ liệu cần thiết đến máy chủ và sử dụng JavaScript trên máy khách để xử lýphản hồi từ máy chủ Do dữ liệu trao đổi giữa máy chủ và trình duyệt giảm đi rấtnhiều (chỉ còn khoảng 5% so với ban đầu) nên máy chủ phản hồi nhanh hơn.Đồng thời, rất nhiều công việc xử lý có thể được thực hiện trên máy khách thựchiện yêu cầu, do đó, tải trên máy chủ Web cũng được giảm bớt

Trong đồ án này, thư viện Ajax sử dụng thư viện trong jQuery, và tất cả dữliệu tương tác với máy chủ đều ở định dạng json để tránh các định dạng khôngnhất quán

1.3.5 CodeIgniter

CodeIgniter là một nền tảng ứng dụng web nguồn mở được viết bằng ngônngữ PHP bởi Rick Ellis (CEO của EllisLab, Inc) Phiên bản đầu tiên được pháthành ngày 28.02.2006, phiên bản hiện tại: 1.7.2 (phát hành ngày 11.09.2009) Ýtưởng xây dựng CodeIgniter được dựa trên Ruby on Rails, một nền tảng ứng

Trang 15

dụng web được viết bằng ngôn ngữ Ruby Hiện tại, CodeIgniter đang được pháttriển bởi ExpressionEngine Development Team thuộc EllisLab, Inc

CI Framework hoạt động theo cơ chế lưu các nội dung vào cache (bộ nhớđệm) và check bộ đệm trước khi tiến hành thực hiện yêu cầu Từ đó giúp trangwebsite bạn xây dựng giảm số lần truy cập và xử lý các dữ liệu Qua đó giúp tối

ưu hóa tốc độ tải website Một số tính năng cơ bản của Codeigniter Frameworkbao gồm:

 Thông qua active records hỗ trợ kết nối và tương tác đa nền tảngdatabase

 Hỗ trợ quản lý Session

 Định dạng và chuẩn hóa dữ liệu đầu vào

 Tăng độ truy xuất dữ liệu và giảm tải cho toàn trang để tăng tốc độthực thi (Caching)

 Hỗ trợ giao diện web Template Engine hoặc sử dụng chính PHP tagshoặc để điều hướng trong Views

 Hỗ trợ Hooks, Class Extensions (các lớp ngòai) và Plugins

Framework này giúp bạn có khung sườn xử lý cả 2 vấn đề là bảo mật PHP

và PHP nâng cao để tạo ra những dự án khác nhau Với người mới tìm hiểu vềMVC thì Codeigniter Framework rất phù hợp bởi tính năng dễ học, tốc độ chạynhanh chóng, nhà phát triển web không cần phải viết những đoạn code hỗn tạp,khó khăn Ngoài ra, bạn còn có thể upload file, xử lý hình ảnh, tạo session vàcookies đơn giản

Ưu điểm:

- Được thiết kế theo mô hình Model-View-Controller: Mô hình MVC giúptách thành phần hiển thị giao diện (presentation) và xử lý (business logic)của một phần mềm thành những thành phần độc lập, từ đó giúp cho việcthiết kế, xử lý và bảo trì mã nguồn dễ dàng, đồng thời tăng khả năng mởrộng của phần mềm CodeIgniter vận dụng mô hình này trong thiết kế,giúp tách biệt các tập tin giao diện với các tập tin xử lý dữ liệu, nâng caokhả năng quản lý và dễ bảo trì

- Nhỏ gọn: Gói cài đặt chỉ 404KB (không bao gồm phần User Guide) Sovới các PHP framework khác như CakePHP (1.3MB), Symfony (5.08MB)hay Zend Framework (5.66MB)…kích thước của CodeIgniter giúp giảmthiểu đáng kể không gian lưu trữ

- Tốc độ nhanh: CodeIgniter được được đánh giá là PHP framework có tốc

độ nhanh chỉ sau framework Laravel Bằng cơ chế lưu nội dung vào bộđệm (cache), kiểm tra bộ đệm trước khi tiến hành thực hiện yêu cầu,CodeIgniter giảm số lần truy cập và xử lý dữ liệu, từ đó tối ưu hóa tốc độtải trang

- Miễn phí: CodeIgniter được phát hành dưới giấy phép Apache/BSD mởrộng, cho phép người dùng tự do thay đổi, phát triển và phân phối mãnguồn

- Hỗ trợ Search Engine Optimization: Cấu trúc URL của CodeIgniter rấtthân thiện với các robot tìm kiếm

- Hệ thống thư viện phong phú: CodeIgniter cung cấp các thư viện phục vụcho những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truycập cơ sở dữ liệu, gửi email, kiểm tra dữ liệu, quản lý session, xử lýảnh…đến những chức năng nâng cao như XML-RPC, mã hóa, bảo mật…

- Bảo mật hệ thống: Cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS vàSQL Injection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho

hệ thống

Trang 16

Nhược điểm:

- Chưa hỗ trợ kỹ thuật lập trình ORM (Object – Relational Mapping): Kỹthuật lập trình này giúp các bảng của cơ sở dữ liệu được ánh xạ thành cácđối tượng trong lập trình, giúp việc thực hiện các thao tác trong cơ sở dữliệu thuận tiện và đơn giản hơn

- Chưa hỗ trợ công nghệ AJAX tạo ứng dụng cho website (AsynchronousJavascript and XML): Để thiết kế các website 2.0 dường như không thểthiếu AJAX nhằm tăng cường tương tác giữa hệ thống và người dùng Đây

là điểm yếu của Codeigniter khiến các lập trình viên/nhà phát triển webphải sử dụng thêm thư viện bên ngoài như Mootools, JQuery, Prototype,Script.aculo.us,…

- Chưa hỗ trợ một vài loại module thông dụng như với một số loạiframework mã nguồn mở khác: Codeigniter chưa sở hữu các module hỗtrợ một số tác vụ cơ bản trong quá trình thiết lập và phát triển ứng dụngweb như trình xử lý PDF, Chứng thực người dùng (User Authorization),trình phân tích RSS (RSS Parser,…

- Chưa hỗ trợ nguyên lý lập trình EDP (Event Driven Programming): Cácluồng xử lý của hệ thống của EDP sẽ dựa vào các sự kiện, ví dụ như một

cú click chuột, gõ bàn phím,… Dù vậy thì khuyết điểm này không phải làvấn đề lớn của Framework Codeigniter

1.4 Cấu trúc đồ án

Phần này trình bày cấu trúc của đồ án:

Chương 2: Phân tích thiết kế hệ thống Bao gồm các tài liệu liên quan

đến quá trình phân tích hệ thống như: phân tích các yêu cầu chức năng và phi chức năng, các mô hình use case và đặt tả use case, các mô hình lớp và lưu đồ hoạt động

Chương 3: Triển khai xây dựng website Bao gồm các tài liệu liên quan

đến quá trình thiết kế hệ thống như: cài đặt môi trường máy chủ và cơ sở dữ liệu, thiết kế giao diện

Chương 4: Kết luận và hướng phát triển Trình bày tóm tắt các kết quả

đạt được và đề xuất các hướng mở rộng, phát triển trong tương lai

Trang 17

Chương 2 Phân tích thiết kế hệ thống

2.1 Phân tích yêu cầu hệ thống

2.1.1 Các yêu cầu chức năng

Yêu cầu chức năng nghiệp vụ:

 Cho phép người dùng đăng ký với hệ thống với vai trò khách hàng.

 Lưu trữ thông tin của khách hàng.

 Cho phép khách hàng đặt món ăn qua web.

 Cho phép khách hàng tìm kiếm thông tin món ăn.

Yêu cầu chức năng hệ thống:

 Cho phép người dùng đăng nhập vào hệ thống với các vai trò người dùng và quản trị viên.

 Đảm bảo tính bảo mật của các thông tin đăng nhập của người dùng.

 Phân cấp quyền hạn của khách hàng và quản trị viên trong việc truy cập vào các tài nguyên của hệ thống.

2.1.2 Các yêu cầu phi chức năng

Nhằm lợi ích của các đối tượng người dùng:

 Tính tiện dụng: Giao diện thân thiện, dễ sử dụng đối với nhữngngười dùng Windows

 Tính hiệu quả: Đảm bảo việc truy xuất nhanh đến các trang và khảnăng kiểm soát lỗi tốt

 Tính tương thích: Hỗ trợ tốt trên các trình duyệt từ IE5.1 trở lên vàcác trình duyệt tương thích khác như Netscape, Opera, Mozilla…Tính tiến hóa

Nhằm lợi ích của việc phát triển đồ án:

 Thiết kế theo mô hình MVC

 Tính module hóa

 Các tham số của hệ thống được thiết kế động, dễ điều chỉnh

 Tính dùng lại của code

2.2 Bảng chú giải

2.2.1 Giới thiệu

Bảng chú giải này được dùng để định nghĩa các thuật ngữ đặc thù tronglĩnh vực của bài toán, giải thích các từ ngữ có thể không quen thuộc đối v ớingười đọc trong các mô tả use case hoặc các tài liệu khác của đề tài Thường thìtài liệu này có thể được dùng như một từ điển dữ liệu không chính thức, ghi lại

Trang 18

các định nghĩa dữ liệu để các mô tả use case và các tài liệu khác có thể tập trungvào những gì hệ thống phải thực hiện.

2.2.2 Các định nghĩa

Bảng chú giải này bao gồm các định nghĩa cho các thuật ngữ được sử dụngtrong mô hình use case và trong các tài liệu khác của hệ thống website đặt món ănsau:

 Admin (Quản trị viên): Admin là người quản trị hệ thống website, chịutrách nhiệm quản lý tất cả các thông tin người dùng thuộc các đốitượng khác nhau Ngoài ra, nhiệm vụ quan trọng của phía quản trịtrang web là làm cầu nối liên hệ giữa bên cung cấp dịch vụ (thanh toán

ví điện tử, thẻ ngân hàng)

 Users (Người dùng): Người dùng là đối tượng phục vụ chủ yếu của hệthống Người dùng có nhu cầu sử dụng các dịch vụ như đăng ký tàikhoản, tìm kiếm sản phẩm, thêm sản phẩm vào giỏ hàng Sau khi đăng

ký tài khoản thì người dùng có thể thanh toán giỏ hàng, chỉnh sửa trangcác nhân, đổi mật khẩu, xem trạng thái đơn hàng, điểm khuyến mãi

2.3 Đặc tả bổ sung

2.3.1 Mục tiêu

Mục tiêu của tài liệu này là để định nghĩa các yêu cầu của Hệ thốngwebsite đặt món ăn qua mạng Đặc tả bổ sung này liệt kê các yêu cầu chưa đượcthể hiện trong các use case Đặc tả bổ sung cùng với các use case trong mô hìnhuse case thể hiện đầy đủ các yêu cầu trong hệ thống

2.3.3 Tài liệu tham khảo

Không có

2.3.4 Chức năng

Hỗ trợ nhiều người dùng làm việc đồng thời

Thông báo kết quả đăng ký cho người dùng trong thời gian nhanh nhấtTìm kiểm sản phẩm phù hợp nhất cho người dùng

Trang 19

2.3.8 Sự hỗ trợ

Không có

2.3.9 Tính bảo mật

Vai trò của từng đối tượng phải được thể hiện rõ ràng

Chỉ có người quản trị mới có quyền quyết định thêm, xóa hay kích hoạt,hủy kích hoạt các đối tượng và nội dung trong website

Các thông tin chung của mỗi đối tượng do đối tượng đó quản lý

Bảng 2.1 - Danh sách các tác nhân của hệ thống

STT Tên Actor Giải thích

1 Người dùng (User) - Đăng nhập hệ thống: Mỗi một khách hàng

đã đăng ký tài khoản đều có quyền đăngnhập vào tài khoản của mình và tài khoản

sẽ được quản lý bởi Adminstrator

- Đăng ký tài khoản thành viên khi kháchhàng muốn tham gia website

- Sửa thông tin tài khoản: khi cần cập nhật,sửa thông tin (họ và tên, địa chỉ email, sốđiện thoại)

- Đặt đơn hàng: Khi người dùng đã chọn cácsản phẩm cần mua vào giỏ hàng thì sẽ đượcchuyển đến trang thanh toán để điền cácthông tin cần thiết (chọn địa chỉ, phươngthức thanh toán) và sau đó xác nhận đơnhàng

- Xem đơn hàng: Khi đơn hàng đã được đặtthành công thì người dùng có thể xem trạngthái đơn hàng và hủy đơn hàng

- Sửa địa chỉ giao hàng: người dùng có thểtùy chỉnh địa chỉ (thêm, sửa, xóa) và đặt địachỉ mặc định khi đặt hàng

- Thay đổi mật khẩu: khi muốn thay đổi mậtkhẩu người dùng chỉ cần nhập đúng mậtkhẩu cũ và mật khẩu mới 2 lần

Trang 20

2 Quản trị viên (Admin) - Admin là tác nhân giữ vai trò chính của

website: Quyền quản lý là quyền cao nhấtcủa hệ thống Những người giữ vai trò quản

lý chính có thể phân quyền cho các thànhviên trong website

- Tác nhân Admin có thể thực hiện được tất

cả các chức năng của website như: Tạo,quản lý tài khoản thành viên tức là Admin

có quyền sửa hay xóa tài khoản của cácthành viên trong ban quản trị các chuyênmục tin Ngoài ra Admin còn quản lý vàphân quyền cho các chuyên mục, tùy chỉnhmón ăn (thêm, sửa, xóa)

2.4.2 Mô hình các trường hợp sử dụng của Người dùng

2.4.3 Mô hình các trường hợp sử dụng của Quản trị viên

2.4.4 Biểu đồ use case mức tổng quát của hệ thống

Hình 2.1 - Biểu đồ Use Case của người dùng

Trang 21

Hình 2.2 - Biểu đồ Use Case của người quản trị

Trang 22

Tên Use case Đăng nhập

Mô tả Use case cho phép người dùng đăng nhập vào website

để thực hiện những chức năng của mìnhActor Khách hàng,Admin

Điều kiện kích hoạt Khi người dùng chọn chức năng đăng nhập từ trang chủ

của websiteTiền điều kiện Người dùng phải có tài khoản trên website

Hậu điều kiện Người dùng đăng nhập thành công

Luồng sự kiện chính 1 Hệ thống hiển thị màn hình đăng nhập

2 Người dùng nhập tên đăng nhập và mật khẩu

3 Hệ thống hiển thị kiểm tra thông tin đăng nhập

4 Nếu thành công hệ thống hiển thị ra giao diện củangười dùng

5 Kết thúc Use case

Luồng sự kiện phụ TH1 – Mật khẩu không hợp lệ: Khi người dùng nhập sai

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

1 Hệ thống hiển thị lại màn hình đăng nhập để người dùng đăng nhập lại thông tin kèm theo thông báo tên đăng nhập và mật khẩu bị sai

2 Quay lại bước 2 trong luồng sự kiện chính

TH2 – Quên mật khẩu: Khi người dùng chọn chức năng quên mật khẩu trên màn hình đăng nhập

1 Hệ thống hiển thị màn hình để người dùng nhập email

2 Người dùng nhập email và chọn nút chức năng Lấy lại mật khẩu

3 Hệ thống kiểm tra email hợp lệ và gửi liên kết để reset mật khẩu cho người dùng email

4 Hệ thống hiển thị màn hình thông báo thành công

5 Use case kết thúc

2.5.2 Đăng ký tài khoản:

Bảng 2.3 - Đăng ký

Use case Nội dung

Tên Use case Đăng ký

Trang 23

Mô tả Use case cho phép người dùng đăng ký tài khoản để

thực hiện những chức năng của mìnhActor Khách hàng

Điều kiện kích hoạt Khi người dùng chọn chức năng đăng ký từ trang chủ

của websiteTiền điều kiện Người dùng phải có tài khoản email

Hậu điều kiện Người dùng đăng ký thành công

Luồng sự kiện chính Use case này bắt đầu khi một khách viếng có nhu cầu

đăng ký làm thành viên của hệ thống hoặc khi người dùng chọn đăng ký sử dụng dịch vụ mà chưa có account đăng ký

1 Hệ thống hiển thị màn hình đăng ký

2 Người dùng nhập tên, email, số điện thoại và mậtkhẩu

3 Hệ thống hiển thị kiểm tra thông tin đăng ký

4 Nếu thành công hệ thống hiển thị thông báo thành công trên màn hình

5 Kết thúc Use case

Luồng sự kiện phụ TH1 - Nếu trong quá trình đăng ký người dùng quyết

định hủy bỏ các thông tin đăng ký thì use case sẽ kết thúc và trạng thái của hệ thống không thay đổi

TH2 - Nếu quá trình kiểm tra thông tin nhập phát hiện không hợp lệ thì hệ thống sẽ trở về trạng thái trước đó (mở trang nhập liệu với các thông tin nhập trước đó vẫn còn để người dùng có thể chỉnh sửa)

2.5.3 Đăng xuất tài khoản:

Bảng 2.4 - Đăng xuất

Use case Nội dung

Tên Use case Đăng xuất

Mô tả Use case cho phép người dùng đăng xuất khỏi website

Trang 24

Actor Khách hàng, Admin

Điều kiện kích hoạt Khi người dùng chọn chức năng đăng xuất từ trang chủ

của websiteTiền điều kiện Người dùng phải phải đăng hhập vào hệ thống

Hậu điều kiện Người dùng đăng xuất thành công

Luồng sự kiện chính 1 Hệ thống hiển thị màn hình đăng xuất

2 Người dùng nhấn vào mục Logout xuất hiện trên thanh menu “My Account”

3 Hệ thống sẽ kiểm tra tài khoản

4 Nếu thành công hệ thống hiển thị thông báo thành công trên màn hình

5 Kết thúc Use case

Luồng sự kiện phụ TH - Nếu trong quá trình đăng ký người dùng quyết

định hủy bỏ các thông tin đăng ký thì use case sẽ kết thúc và trạng thái của hệ thống không thay đổi

2.5.4 Quản lý đơn hàng:

Bảng 2.5 – Quản lý đơn hàng

Use case Nội dung

Tên Use case Quản lý đơn hàng

Mô tả Use case cho phép người dùng quản lý đơn hàng của

khách hàngActor Admin

Điều kiện kích hoạt Khi người dùng chọn chức năng Orders trên thanh menu

của websiteTiền điều kiện Người dùng phải đăng nhập vào hệ thống

Hậu điều kiện Người dùng xem thông tin đơn hàng thành công

Luồng sự kiện chính 1 Hệ thống hiển thị thông tin đơn hàng trên màn

hình

2 Người dùng có thể xem các đơn hàng mới, đơn hàng đã giao hay đơn hàng đã hủy, có thể tìm kiếm thông tin đơn hàng

3 Hệ thống hiển thị thông tin cụ thể về đơn hàng như : ngày đặt hàng, tên khách hàng, số điện thoại khách hàng

4 Kết thúc Use case

Trang 25

2.5.5 Quản lý thông tin cá nhân:

Bảng 2.6 - Quản lý thông tin cá nhân

Use case Nội dung

Tên Use case Quản lý thông tin cá nhân

Mô tả Use case cho phép người dùng chỉnh sửa hồ sơ của mìnhActor Khách hàng, Admin

Điều kiện kích hoạt Khi người dùng chọn chức năng profile trên thanh menu

của websiteTiền điều kiện Người dùng phải đăng nhập vào hệ thống

Hậu điều kiện Người dùng có thể chỉnh sửa và cập nhật hồ sơ

Luồng sự kiện chính 1 Hệ thống hiển thị trang profile

2 Người dùng nhập tên, họ, email, số điện thoại và ảnh đại diện Sau đó nhấn nút cập nhật hoặc hủy bỏ

3 Hệ thống hiển thị kiểm tra thông tin cập nhật

4 Nếu thành công hệ thống hiển thị thông báo thành công trên màn hình

5 Kết thúc Use case

Luồng sự kiện phụ TH2 – Nhập không đúng thông tin yêu cầu: Khi người

dùng nhập sai định dạng tên, email hoặc số điện thoại

1 Hệ thống hiển thị lại màn hình cập nhật hồ sơ để người dùng điền lại thông tin kèm theo thông báođịnh dạng tên, email, số điện thoại hoặc số điện thoại bị sai

2 Quay lại bước 2 trong luồng sự kiện chính

2.5.6 Quản lý thực đơn:

Bảng 2.7 - Quản lý thực đơn

Use case Nội dung

Tên Use case Quản lý thực đơn

Mô tả Use case cho phép người dùng chỉnh sửa thông tin của

thực đơnActor Admin

Trang 26

Điều kiện kích hoạt Khi người dùng chọn chức năng menu trên thanh menu

của websiteTiền điều kiện Người dùng phải đăng nhập vào hệ thống

Hậu điều kiện Người dùng có thể chỉnh sửa và cập nhật thực đơnLuồng sự kiện chính 1 Hệ thống hiển thị trang menu

2 Người dùng có thể thêm, sửa, xóa thông tin thực đơn, kích hoạt và hủy kích hoạt

3 Hệ thống hiển thị kiểm tra thông tin cập nhật

4 Nếu thành công hệ thống hiển thị thông báo thành công trên màn hình

5 Kết thúc Use case

Luồng sự kiện phụ TH: Nếu trong quá trình thực hiện use case, người quản

trị quyết định hủy bỏ thao tác ‘Hủy bỏ’ hoặc quá trình truy xuất dữ liệu thất bại thì trạng thái của hệ thống không thay đổi

2.5.7 Quản lý mặt hàng:

Bảng 2.8 - Quản lý mặt hàng

Use case Nội dung

Tên Use case Quản lý mặt hàng

Mô tả Use case cho phép người dùng chỉnh sửa thông tin của

mặt hàngActor Admin

Điều kiện kích hoạt Khi người dùng chọn chức năng items trên thanh menu

của websiteTiền điều kiện Người dùng phải đăng nhập vào hệ thống

Hậu điều kiện Người dùng có thể chỉnh sửa và cập nhật mặt hàngLuồng sự kiện chính 1 Hệ thống hiển thị trang items

2 Người dùng có thể thêm, sửa, xóa thông tin mặt hàng, kích hoạt và hủy kích hoạt

3 Hệ thống hiển thị kiểm tra thông tin cập nhật

4 Nếu thành công hệ thống hiển thị thông báo thành công trên màn hình

5 Kết thúc Use case

Trang 27

Luồng sự kiện phụ TH: Nếu trong quá trình thực hiện use case, người quản

trị quyết định hủy bỏ thao tác ‘Hủy bỏ’ hoặc quá trình truy xuất dữ liệu thất bại thì trạng thái của hệ thống không thay đổi

2.5.8 Quản lý danh mục sản phẩm:

Bảng 2.9 - Quản lý danh mục sản phẩm

Use case Nội dung

Tên Use case Quản lý danh mục sản phẩm

Mô tả Use case cho phép người dùng chỉnh sửa thông tin của

mặt hàngActor Admin

Điều kiện kích hoạt Khi người dùng chọn chức năng item types trên thanh

menu của websiteTiền điều kiện Người dùng phải đăng nhập vào hệ thống

Hậu điều kiện Người dùng có thể chỉnh sửa và cập nhật mặt hàngLuồng sự kiện chính 1 Hệ thống hiển thị trang item types

2 Người dùng có thể thêm, sửa, xóa thông tin mặt hàng, kích hoạt và hủy kích hoạt

3 Hệ thống hiển thị kiểm tra thông tin cập nhật

4 Nếu thành công hệ thống hiển thị thông báo thành công trên màn hình

5 Kết thúc Use case

Luồng sự kiện phụ TH: Nếu trong quá trình thực hiện use case, người quản

trị quyết định hủy bỏ thao tác ‘Hủy bỏ’ hoặc quá trình truy xuất dữ liệu thất bại thì trạng thái của hệ thống không thay đổi

2.5.9 Quản lý tài khoản người dùng:

Bảng 2.10 - Quản lý tài khoản người dùng

Use case Nội dung

Tên Use case Quản lý tài khoản người dùng

Mô tả Use case cho phép người dùng quản lý thông tin tài

khoản của khách hàng

Trang 28

Actor Admin

Điều kiện kích hoạt Khi người dùng chọn chức năng customers trên thanh

menu của websiteTiền điều kiện Người dùng phải đăng nhập vào hệ thống

Hậu điều kiện Người dùng đăng nhập thành công

Luồng sự kiện chính Use case này bắt đầu khi người quản trị có nhu cầu xem

các thông tin của khách hàng và chọn chức năng quản lýngười dùng (Customers) trên menu

1 Người dùng đăng nhập vào hệ thống với vai trò quản trị

2 Nếu đăng nhập thành công hệ thống vào trang Admin

3 Người quản trị chọn chức năng quản lý người dùng

4 Hệ thống truy xuất cơ sở dữ liệu và mở một trangweb để hiển thị danh sách các người dùng

5 Người quản trị chọn một người dùng trong danh sách

6 Người quản trị chọn chức năng thực hiện: hoặc làxem thông tin chi tiết hoặc xóa người dùng

7 Nếu chọn chức năng xem thông tin chi tiết thì hệ thống sẽ truy xuất cơ sở dữ liệu và mở một trang web để hiển thị thông tin của người dùng đó

8 Nếu chọn chức năng ‘Xóa’ thì hệ thống sẽ truy xuất cơ sở dữ liệu và xóa các thông tin liên quan đến người dùng đó, đồng thời cập nhật lại danh sách người dùng đang hiển thị

Luồng sự kiện phụ TH: Nếu trong quá trình thực hiện use case, người quản

trị quyết định hủy bỏ thao tác ‘Hủy bỏ’ hoặc quá trình truy xuất dữ liệu thất bại thì trạng thái của hệ thống không thay đổi

2.5.10 Quản lý khuyến mãi:

Bảng 2.11 - Quản lý khuyến mãi

Use case Nội dung

Tên Use case Quản lý khuyến mãi

Mô tả Use case cho phép người dùng chỉnh sửa thông tin của

khuyến mãi

Trang 29

Actor Admin

Điều kiện kích hoạt Khi người dùng chọn chức năng khuyến mãi trên thanh

menu của websiteTiền điều kiện Người dùng phải đăng nhập vào hệ thống

Hậu điều kiện Người dùng có thể vào trang khuyến mãi

Luồng sự kiện chính 1 Hệ thống hiển thị trang khuyến mãi

2 Người dùng có thể thêm, sửa, xóa thông tin khuyến mãi, kích hoạt và hủy kích hoạt

3 Hệ thống hiển thị kiểm tra thông tin cập nhật

4 Nếu thành công hệ thống hiển thị thông báo thành công trên màn hình

5 Kết thúc Use case

Luồng sự kiện phụ TH: Nếu trong quá trình thực hiện use case, người quản

trị quyết định hủy bỏ thao tác ‘Hủy bỏ’ hoặc quá trình truy xuất dữ liệu thất bại thì trạng thái của hệ thống không thay đổi

2.5.11 Thống kê đơn đặt hàng:

Bảng 2.12 - Thống kê đơn đặt hàng

Use case Nội dung

Tên Use case Thống kê đơn đặt hàng

Mô tả Use case cho phép người dùng xem thông tin thống kê

số đơn đặt hàng của khách hàngActor Admin

Điều kiện kích hoạt Khi người dùng chọn chức năng dashboard trên thanh

menu của websiteTiền điều kiện Người dùng phải đăng nhập vào hệ thống

Hậu điều kiện Người dùng có thể xem thông tin thành công

Luồng sự kiện chính 1 Hệ thống hiển thị trang dashboard

2 Người dùng có thể xem thông tin thống kê đơn hàng cụ thể

3 Hệ thống hiển thị kiểm tra thông tin cập nhật

4 Nếu thành công hệ thống hiển thị thông báo thành công trên màn hình

5 Kết thúc Use case

Trang 30

2.5.12 Quản lý trang con:

Bảng 2.13 - Quản lý trang con

Use case Nội dung

Tên Use case Quản lý trang con

Mô tả Use case cho phép người dùng xem trạng thái hoạt động

của các trang con, kích hoạt và hủy kích hích hoạt.Actor Admin

Điều kiện kích hoạt Khi người dùng chọn chức năng pages trên thanh menu

của websiteTiền điều kiện Người dùng phải đăng nhập vào hệ thống

Hậu điều kiện Người dùng có thể vào trang pages

Luồng sự kiện chính 1 Hệ thống hiển thị các trang con

2 Người dùng có thể kích hoạt và hủy kích hoạt cáctrang con

3 Hệ thống hiển thị kiểm tra thông tin cập nhật

4 Nếu thành công hệ thống hiển thị thông báo thành công trên màn hình

5 Kết thúc Use case

Luồng sự kiện phụ TH: Nếu trong quá trình thực hiện use case, người quản

trị quyết định hủy bỏ thao tác ‘Hủy bỏ’ hoặc quá trình truy xuất dữ liệu thất bại thì trạng thái của hệ thống không thay đổi

2.5.13 Quản lý ngôn ngữ website:

Bảng 2.14 - Quản lý ngôn ngữ website

Use case Nội dung

Tên Use case Quản lý ngôn ngữ website

Mô tả Use case cho phép người dùng thêm, xóa, sửa ngôn ngữ

hoặc cụm từ mà người dùng có ý định cập nhật thông tinActor Admin

Ngày đăng: 20/11/2021, 14:41

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w