Tổng qua về đề tài
Phạm vi hệ thống
Tên dự án Xây dựng website quản lý nhà hàng
Người thiết kế và xây dựng dự án Nguyễn Quốc Anh
Hệ thống đặt đồ ăn giúp nhà hàng tăng doanh thu bằng cách phục vụ khách hàng không thể đến trực tiếp, đồng thời cải thiện khả năng quản lý hoạt động kinh doanh hiệu quả hơn.
Mục tiêu Giao diện thân thiện, dễ sử dụng.
Hệ thống có tính bảo mật.
Hệ thống phải chính xác về mặt dữ liệu.
Không vượt quá thời gian quy định.
Lợi ích mang lại Khách hàng dễ dàng tìm kiếm thông tin.
Khách hàng dễ dàng sử dụng và đặt món.
Nhà hàng có thể quản lý một cách tốt nhất cũng như đáp ứng nhu cầu của người mua một cách thuận tiện hơn.
Các bước thực hiện Khởi tạo dự án.
Phân tích yêu cầu và thiết kế hệ thống.
Bảng 1-1: Mô tả đối tượng và phạm vi sử dụng.
Đánh giá mức độ khả thi và mức dộ rủi ro
A Khả thi về kinh tế. Đối với nhà hàng: Có thêm kênh giao tiếp và quảng bá về đa dạng các món ăn góp phần tăng doanh thu Quảng bá được món ăn mới, thu hút nhiều khách hàng Nâng cao tính cạnh trang với các đối thủ trong cùng lĩnh vực Đối với khác hàng: Tiết kiệm thời gian, khách hàng không cần phải trực tiếp đến cửa hàng mà vẫn nắm bắt được thông tin chi tiết về các món ăn và dễ dàng đặt mua mọi lúc mọi nơi Dễ dàng nhận được sự trợ giúp, tư vấn online từ nhà hàng.
B Khả thi về hoạt động.
Hệ thống xây dựng giao diện thân thiện, dễ dàng sử dụng, không cần chuyên môn cũng có thể quản lý website.
C Khả thi về kỹ thuật. Đối với cửa hàng: Không yêu cầu phần cứng cao, không cần đường truyền internet có tốc độ cao nhằm đáp ứng nhu cầu sử dụng mọi lúc mọi nơi cho khách hàng Đối với người thực hiện: sử dụng ngôn ngữ lập trình PHP, chương trình tạo wed ảo XAMPP Công cụ lập trình Visual Studio Code, công cụ quản trị cơ sở dữ liệu SQL Server.
Dự án: Xây dựng web quản lý nhà hàng và đặt món
Rủi ro Mô tả Hướng khắc phục
Sự thay đổi từ phía cửa hàng
Các yêu cầu thay đổi từ phía cửa hàng như bố cục trang web, tổ chức dữ liệu.
Thu thập yêu cầu đầy đủ và chính xác.
Thay đổi lớn của dự án Yêu cầu thêm chức năng hoặc ràng buộc.
Yêu cầu tăng thời gian, chi phí để đáp ứng.
Trình độ tin học người dùng thấp
Người dùng không có nhiều kinh nghiệm về tin học, quản trị website.
Thiết kế giao diện thân thiện, dễ dàng sử dụng, viết các tài liệu hướng dẫn chi tiết.
Bảng 1-2: Miêu tả mức độ rủi ro và hướng khắc phục.
Giới thiệu ngôn ngữ và sử dụng ngôn ngữ
PHP, viết tắt của Personal Home Page, là một ngôn ngữ kịch bản chủ yếu được sử dụng cho các ứng dụng trên máy chủ Khi lập trình viên viết chương trình bằng PHP, các lệnh sẽ được thực thi trên server, tạo ra mã HTML Nhờ vào điều này, các ứng dụng web có thể hoạt động một cách hiệu quả và dễ dàng.
XAMPP là một phần mềm máy chủ ảo đa nền tảng, tên gọi được hình thành từ chữ cái đầu của năm thành phần chính: Cross-Platform (X), Apache (A), MariaDB (M), PHP (P) và Perl (P).
Chữ X đầu tiên là viết tắt của hệ điều hành mà nó hoạt động với: Linux, Windows và Mac OS X.
Apache là máy chủ web mã nguồn mở phổ biến nhất toàn cầu, được sử dụng để phân phối nội dung web Phần mềm này được phát triển và phát hành miễn phí bởi Quỹ Phần mềm Apache.
MySQL và MariaDB là hai hệ quản trị cơ sở dữ liệu quan hệ phổ biến, với MySQL được tích hợp trong XAMPP cùng với Web Server Apache và ngôn ngữ lập trình PHP, cung cấp khả năng lưu trữ dữ liệu cho các dịch vụ Web Hiện nay, các phiên bản XAMPP đã thay thế MySQL bằng MariaDB, một nhánh của MySQL được phát triển bởi cộng đồng và các nhà phát triển ban đầu.
PHP là một ngôn ngữ lập trình phía máy chủ giúp người dùng phát triển các trang web và ứng dụng động Ngôn ngữ này có khả năng cài đặt trên mọi nền tảng và tương thích với nhiều hệ thống cơ sở dữ liệu khác nhau.
Perl là một ngôn ngữ kịch bản phổ biến, được sử dụng rộng rãi trong quản trị hệ thống, phát triển web và lập trình mạng Tương tự như PHP, Perl cung cấp khả năng lập trình các ứng dụng web động, mang lại sự linh hoạt cho các nhà phát triển.
XAMPP là chương trình tạo web server được ứng dụng trên các hệ điều hành Linux, MacOS, Windows, Cross-platform, Solaris.
XAMPP là một phần mềm tạo máy chủ web phổ biến, nổi bật với ưu điểm không mất phí bản quyền và mã nguồn mở Cấu hình đơn giản và gọn nhẹ của XAMPP đã khiến nó trở thành lựa chọn ưa chuộng cho nhiều người dùng hiện nay.
Các ưu điểm của XAMPP bao gồm:
XAMPP có thể chạy được trên tất cả các hệ điều hành: Từ Cross-platform, Window, MacOS và Linux.
XAMPP có cấu hình đơn giản và nhiều chức năng hữu ích cho người dùng, bao gồm giả lập Server, giả lập Mail Server và hỗ trợ SSL trên Localhost Nó tích hợp nhiều thành phần với các tính năng đa dạng.
Apache PHP (tạo môi trường chạy các tập tin script *.php);
MySql (hệ quản trị dữ liệu mysql);
Thay vì phải cài đặt từng thành phần trên, giờ đây các bạn chỉ cần cài XAMPP là chúng ta có 1 web server hoàn chỉnh.
XAMPP là một giải pháp mã nguồn mở với giao diện quản lý thân thiện, cho phép người dùng dễ dàng bật, tắt hoặc khởi động lại các dịch vụ máy chủ theo nhu cầu của mình.
Bạn có thể tìm hiểu thêm về cách cài đặt Localhost trên AppServ qua bài viết: Localhost là gì? Cài đặt localhost bằng XAMPP, AppServ cực dễ
Khuyết điểm của XAMPP là gì?
Mặc dù XAMPP có cấu hình đơn giản, nhưng nó không hỗ trợ cấu hình Module và không có nhiều phiên bản MySQL, điều này có thể gây bất tiện cho người dùng Ngược lại, WAMP cung cấp nhiều tùy chọn hơn với nhiều phiên bản cho từng thành phần của server như PHP, Apache và MySQL.
Bên cạnh đó, dung lượng của XAMPP cũng tương đối nặng, dung lượng file cài đặt của XAMPP là 141Mb, nặng hơn nhiều so với WAMP chỉ 41Mb.
SQL Server is a relational database management system (RDBMS) that supports a wide range of transaction processing, enterprise applications, and analytical applications in IT companies It stands as one of the top three data technologies today, alongside Oracle Database and IBM’s DB2.
Microsoft SQL Server, giống như các phần mềm RDBMS khác, được xây dựng trên nền tảng ngôn ngữ SQL, một tiêu chuẩn lập trình mà các quản trị viên cơ sở dữ liệu (DBAs) và chuyên gia CNTT sử dụng để quản lý và truy vấn dữ liệu SQL Server thường liên kết với Transact-SQL (T-SQL), là phiên bản SQL của Microsoft, cung cấp một bộ công cụ mở rộng cho ngôn ngữ lập trình chuẩn.
SQL Server được phát triển từ ngôn ngữ SEQUEL2 bởi IBM vào những năm 70, phục vụ cho các hệ thống quản lý cơ sở dữ liệu lớn Ban đầu, SQL Server chỉ hoạt động trên các máy đơn lẻ, nhưng với sự gia tăng nhu cầu xây dựng cơ sở dữ liệu lớn theo mô hình khách-chủ, mọi thao tác xử lý dữ liệu hiện nay đều diễn ra trên máy chủ Ngày nay, SQL đóng vai trò quan trọng trong các ngôn ngữ lập trình, đặc biệt trong phát triển web động SQL đã được công nhận là ngôn ngữ chuẩn cho cơ sở dữ liệu quan hệ bởi ANSI và ISO, tuy nhiên, các chuẩn này vẫn chưa hoàn thiện 100% Điều này dẫn đến sự khác biệt giữa các phiên bản SQL được mở rộng và tích hợp trong các ngôn ngữ lập trình khác nhau.
SQL Server cơ bản sử dụng cấu trúc bảng biểu, kết nối các phần tử dữ liệu liên quan trong các bảng khác nhau, giúp giảm thiểu việc lưu trữ dữ liệu ở nhiều vị trí Mô hình quan hệ cung cấp các tham chiếu và ràng buộc toàn vẹn để duy trì độ chính xác của dữ liệu, đảm bảo tuân thủ các nguyên tắc về tính nhất quán, tính độc lập và độ tin cậy, được gọi là các thuộc tính ACID, nhằm đảm bảo giao dịch cơ sở dữ liệu được xử lý ổn thỏa.
Hình 1.5: Cấu trúc SQL Server Đặc điểm và các phiên bản của SQL Sever Đặc điểm:
Hình 1.6: Đặc điểm SQL là ngôn ngữ tựa tiếng Anh.
SQL là một ngôn ngữ phi thủ tục, cho phép người dùng truy cập cơ sở dữ liệu mà không cần phải chỉ định cách thức thực hiện Các câu lệnh SQL được thiết kế đơn giản, dễ sử dụng và có khả năng giảm thiểu lỗi.
SQL cung cấp tập lệnh phong phú cho các công việc hỏi đáp DL
Chèn, cập nhật, xoá các hàng trong một quan hệ
Tạo, sửa đổi, thêm và xoá các đối tượng trong của CSDL.
Điều khiển việc truy nhập tới cơ sở dữ liệu và các đối tượng của CSDL để đảm bảo tính bảo mật của cơ sở DL
Đảm bảo tính nhất quán và sự ràng buộc của CSDL.
Yêu cầu duy nhất để sử dụng cho các hỏi đáp là phải nắm vững được các cấu trúc CSDL của mình.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Kiến trúc hệ thống
Hình 2.2 Kiến trúc hệ thống
Tầng người dùng: Người dùng thông qua client giao tiếp với hệ thống gồm có: khách, người dùng có đăng ký tài khoản (User), quản trị viên (Admin)
Tầng hệ thống đóng vai trò quan trọng trong việc xử lý các yêu cầu thao tác dữ liệu của người dùng, đảm bảo tính toàn vẹn và hợp lệ của dữ liệu Tầng này không chỉ kiểm tra các ràng buộc mà còn thực hiện các tính toán cần thiết trước khi truyền dữ liệu xuống tầng dữ liệu và trả kết quả về cho người dùng.
Tầng dữ liệu có nhiệm vụ kết nối với hệ quản trị cơ sở dữ liệu, thực hiện các thao tác liên quan đến lưu trữ và truy vấn dữ liệu, bao gồm tìm kiếm, thêm, xóa và sửa đổi thông tin.
Mô hình triển khai hệ thống
Hình 2.3: Mô hình triển khai hệ thống
- Hệ thống website giao dịch của nhà hàng online có thể được triển khai trên các host server trển thị trường một cách dễ dàng
Người dùng, Admin, Người bán hàng và Người mua hàng có thể dễ dàng truy cập vào hệ thống sàn giao dịch của cửa hàng online thông qua môi trường internet.
2.3 Tác nhân và ca sử dụng
Bảng 2.1: Tác nhân và ca sử dụng
2.5 Mô hình chức năng của hệ thống 2.5.1 Mô hình chức năng phần Backend
Tác nhân Ca sử dụng (Usecase)
Xem nhà hàng Tìm kiếm món ăn Xem món ăn Đánh giá món ăn Đặt món ăn Mua hàng
Admin Đăng nhập, đăng xuất hệ thống Quản lý nhà hàng
Quản lý danh mục Cập nhập thông tin nhà hàng Đăng món ăn
Xem trang chủQuản lý món ănXem khách hàng
Hình 2.4: Mô hình chức năng Backend
Để truy cập vào hệ thống, người sử dụng cần đăng nhập bằng tài khoản và mật khẩu Sau khi đăng nhập thành công, quản trị viên có thể thực hiện các thao tác cần thiết trong hệ thống.
Đăng xuất: Người dùng thoát ra khỏi hệ thống.
Quản lý danh mục: Admin có quyền thêm, sửa, xóa các danh mục của nhà hàng.
Quản lý món ăn: Admin có thể thêm,sửa,xóa các món ăn.
Kiểm duyệt báo cáo: Admin tiếp nhận các đơn hàng khi khách hàng đặt món.
Quản lý danh mục: Admin có quyền thêm, sửa, xóa các danh mục bài viết.
Quản lý nhà hàng: Admin có quyền thêm, sửa, xóa bài viết.
Giúp Admin xem được tổng quan thông số và tình hình hoạt động của website
2.5.2 Mô hình chức năng phần Frontend
Hình 2.5: Mô hình chức năng Frontend
Giúp người dùng tìm kiếm theo tên, theo danh mục của món ăn.
Nhà hàng có thể đăng bài viết theo món ăn mình muốn kinh doanh.
Quản lý món ăn đã đăng giúp nhà hàng dễ dàng theo dõi và điều chỉnh các món ăn của mình Tính năng này cho phép nhà hàng sửa đổi thông tin món ăn khi không hài lòng với phiên bản trước, từ đó nâng cao chất lượng dịch vụ và sự hài lòng của khách hàng.
Biểu đồ Usecase mô tả sự tương tác giữa các Usecase (UC) và tác nhân, trong đó UC thể hiện các chức năng cần thiết của hệ thống Tác nhân có thể là con người hoặc hệ thống khác, tham gia vào việc cung cấp hoặc nhận thông tin từ hệ thống Biểu đồ này tập trung vào trạng thái tĩnh của các UC, đóng vai trò quan trọng trong việc tổ chức và mô hình hóa hệ thống Do UC phản ánh yêu cầu của hệ thống từ góc nhìn người dùng, chúng là những chức năng thiết yếu mà hệ thống cần có Biểu đồ cũng chỉ ra tác nhân nào khởi động UC và thời điểm tác nhân nhận thông tin từ hệ thống.
Hình 2.6: Mô hình Usecase tác nhân User
Mục đích: Cho người dùng truy cập website Tác nhân: User Điều kiện: Không Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
3 Chọn danh mục cần xem
4 Hiển thị trang danh mục về món ăn
6 Hiển thị chi tiết món ăn
10.Hiện thị giao diện thanh toán
Hình 2.7: Mô hình Usecase tác nhân Admin
Mục đích: Giúp Admin quản lý website Tác nhân: Admin Điều kiện: Đăng nhập vào hệ thống Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập vào trang quản trị
2 Hiển thị trang web với danh sách các mục
4 Hiển thị danh mục cần xem
5 Chọn mục tiếp theo để xem tiếp
2.7 Đặc tả chi tiết các Usecase (UC) 2.7.1 UC Tìm kiếm món ăn
Hình 2.8: Mô hình UC tìm kiếm món ăn
Mục đích: Để tìm kiếm món ăn theo nhu cầu của khách hàng.
Tác nhân: User Điều kiện: Không Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
3 Chọn chức năng tìm kiếm
4 Chọn tìm kiếm theo yêu cầu
5 Trả ra kết quả tìm kiếm
6 Tiếp tục truy cập website
Hình 2.9: Mô hình UC Xem món ăn
Mục đích: Cho người dùng xem thông tin chi tiết về món ăn Tác nhân: User Điều kiện: Không Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
3 Chọn món ăn cần xem
6 Tiếp tục truy cập website
4 Hiển thị trang chi tiết về món ăn
5 Hiển thị thêm vào giỏ hàng
2.7.3 UC Quản lý bài đăng
Hình 2.10: Mô hình UC Quản lý bài đăng
Mục đích: Cho Admin quản lý các tin món ăn mình đã đăng hoặc lưu.
Tác nhân: Admin Điều kiện: Đăng nhập vào hệ thống Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập vào hệ thống
3 Chọn chức năng quản lý tin
5 Chọn chức năng Quản lý Tin đã đăng
2 Hiển thị trang web hệ thống
4 Hiển thị giao diện quản lý tin
6 Hiển thị các tin món ăn đã đăng
7 Tiếp tục truy cập website
2.7.4 UC Quản lý tin món ăn
Hình 2.11: Mô hình UC Quản lý tin món ăn
Mục đích: Cho người quản trị quản lý các tin món ăn Tác nhân: Admin Điều kiện: Đăng nhập vào trang quản trị
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập vào trang quản trị
3 Chọn Quản lý tin món ăn
5 Chọn chức năng: Thêm, sửa xóa tin món ăn
7 Điền thông tin cần thiết và gửi lên
9 Tiếp tục truy cập trang quản trị
2 Hiển thị trang quản trị
4 Hiển thị giao diện quản lý tin
6 Hiển thị form tương ứng
8 Kiểm tra nếu thông tin gửi lên đúng thì cập nhật vào CSDL, sai thì gửi thông báo
1 Chọn Quản lý danh mục món ăn
3 Chọn chức năng: Thêm, sửa xóa danh mục
5 Điền thông tin cần thiết và gửi lên
7 Tiếp tục truy cập trang quản trị
2 Hiển thị danh sách danh mục
4 Hiển thị form tương ứng
6 Kiểm tra nếu thông tin gửi lên đúng thì cập nhật vào CSDL, sai thì gửi thông báo
Admin xem báo cáo về món ăn được người dùng gửi lên để xử lý
2.7.5 UC Quản lý bài viết
Hình 2.12: Mô hình UC Quản lý bài viết
Mục đích: Cho người quản trị quản lý bài viết Tác nhân: Admin Điều kiện: Đăng nhập vào trang quản trị
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập vào trang quản trị
3 Chọn Quản lý tin bài viết
5 Chọn chức năng: Thêm, sửa xóa món ăn
7 Điền thông tin cần thiết và gửi lên
9 Tiếp tục truy cập trang quản trị
2 Hiển thị trang quản trị
4 Hiển thị giao diện quản lý bài viết
6 Hiển thị form tương ứng
8 Kiểm tra thông tin gửi lên đúng thì cập nhật vào CSDL, sai thì gửi thông báo
1 Chọn Quản lý danh mục
3 Chọn chức năng: Thêm, sửa xóa danh mục món ăn
5 Điền thông tin cần thiết và gửi lên
2 Hiển thị danh sách danh mục
4 Hiển thị form tương ứng
6 Kiểm tra thông tin gửi lên đúng thì cập nhật vào CSDL, sai thì gửi thông báo
7 Tiếp tục truy cập trang quản trị
2.7.6 UC Quản lý khách hàng
Hình 2.13: Mô hình UC Quản lý khách hàng
Mục đích: Cho người quản trị quản lý khách hàng đã mua để xem thông tin cũng như liên hệ
Tác nhân: Admin Điều kiện: Đăng nhập vào trang quản trị Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập vào trang quản trị
5 Chọn chức năng: Xóa khách hàng
2 Hiển thị trang quản trị
4 Hiển thị giao diện khách hàng
6 Hiển thị form tương ứng
7 Điền thông tin cần thiết và gửi lên
9 Tiếp tục truy cập trang quản trị
8 Kiểm tra thông tin gửi lên đúng thì cập nhật vào CSDL, sai thì gửi thông báo
2.7.7 UC Quản lý hệ thống
Hình 2.14: Mô hình UC Quản lý hệ thống
Mục đích của hệ thống là giúp người quản trị quản lý hiệu quả trang web Đối tượng sử dụng là Admin, người cần đăng nhập vào trang quản trị để thực hiện các thao tác Sau khi đăng nhập, Admin có thể xem thống kê chi tiết về hoạt động của trang web.
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập vào trang quản trị
2 Hiển thị trang quản trị
5 Tiếp tục truy cập trang quản trị
4 Hiển thị form tương ứng
2.8 Biểu đồ hoạt động của hệ thống 2.8.1 Biểu đồ hoạt động đăng ký tài khoản
Hình 2.15: Biểu đồ hoạt động Đăng ký tài khoản
II.8.2 Biểu đồ hoạt động đăng nhập
Hình 2.16: Biểu đồ hoạt động Đăng nhập
2.8.3 Biểu đồ hoạt động tìm kiếm món ăn
Hình 2.17: Biểu đồ hoạt động Tìm kiếm món ăn
2.8.4 Biểu đồ hoạt động xem món ăn
Hình 2.18: Biểu đồ hoạt động xem món ăn
2.8.5 Biểu đồ hoạt động cập nhật profile
Hình 2.19: Biểu đồ hoạt động Cập nhật profile
2.8.6 Biểu đồ hoạt động quản lý danh mục nhà hàng
Hình 2.20: Biểu đồ hoạt động Quản lý danh mục nhà hàng
2.8.7 Biểu đồ hoạt động quản lý bài viết
Hình 2.21: Biểu đồ hoạt động Quản lý bài viết
2.8.8 Biểu đồ hoạt động quản lý danh mục bài viết
Hình 2.22: Biểu đồ hoạt động Quản lý danh mục bài viết
2.8.9 Biểu đồ hoạt động quản lý user
Hình 2.23: Biểu đồ hoạt động Quản lý người dùng
2.8.10 Biểu đồ hoạt động quản lý hệ thống
Hình 2.24:Biểu đồ hoạt động Quản lý hệ thống
Mô hình chức năng của hệ thống
Tác nhân Ca sử dụng (Usecase)
Xem nhà hàng Tìm kiếm món ăn Xem món ăn Đánh giá món ăn Đặt món ăn Mua hàng
Admin Đăng nhập, đăng xuất hệ thống Quản lý nhà hàng
Quản lý danh mục Cập nhập thông tin nhà hàng Đăng món ăn
Xem trang chủQuản lý món ănXem khách hàng
Hình 2.4: Mô hình chức năng Backend
Để đăng nhập vào hệ thống, người dùng cần nhập tài khoản và mật khẩu Sau khi xác thực thông tin thành công, quản trị viên có thể thực hiện các thao tác cần thiết trong hệ thống.
Đăng xuất: Người dùng thoát ra khỏi hệ thống.
Quản lý danh mục: Admin có quyền thêm, sửa, xóa các danh mục của nhà hàng.
Quản lý món ăn: Admin có thể thêm,sửa,xóa các món ăn.
Kiểm duyệt báo cáo: Admin tiếp nhận các đơn hàng khi khách hàng đặt món.
Quản lý danh mục: Admin có quyền thêm, sửa, xóa các danh mục bài viết.
Quản lý nhà hàng: Admin có quyền thêm, sửa, xóa bài viết.
Giúp Admin xem được tổng quan thông số và tình hình hoạt động của website
2.5.2 Mô hình chức năng phần Frontend
Hình 2.5: Mô hình chức năng Frontend
Giúp người dùng tìm kiếm theo tên, theo danh mục của món ăn.
Nhà hàng có thể đăng bài viết theo món ăn mình muốn kinh doanh.
Quản lý món ăn đã đăng giúp nhà hàng theo dõi và điều chỉnh chi tiết các món ăn đã được đăng tải, cho phép sửa đổi khi không hài lòng với phiên bản cũ.
Mô hình Usecase(UC)
Biểu đồ Usecase mô tả sự tương tác giữa các Usecase (UC) và tác nhân, trong đó UC thể hiện các chức năng cần thiết của hệ thống Tác nhân có thể là con người hoặc hệ thống khác, có vai trò cung cấp hoặc nhận thông tin từ hệ thống Biểu đồ này tập trung vào trạng thái tĩnh của các UC, đóng vai trò quan trọng trong việc tổ chức và mô hình hóa hệ thống Vì UC phản ánh yêu cầu của hệ thống từ góc nhìn người dùng, chúng là những chức năng thiết yếu mà hệ thống cần có Biểu đồ cũng chỉ rõ tác nhân nào khởi động UC và thời điểm tác nhân nhận thông tin từ hệ thống.
Hình 2.6: Mô hình Usecase tác nhân User
Mục đích: Cho người dùng truy cập website Tác nhân: User Điều kiện: Không Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
3 Chọn danh mục cần xem
4 Hiển thị trang danh mục về món ăn
6 Hiển thị chi tiết món ăn
10.Hiện thị giao diện thanh toán
Hình 2.7: Mô hình Usecase tác nhân Admin
Mục đích: Giúp Admin quản lý website Tác nhân: Admin Điều kiện: Đăng nhập vào hệ thống Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập vào trang quản trị
2 Hiển thị trang web với danh sách các mục
4 Hiển thị danh mục cần xem
5 Chọn mục tiếp theo để xem tiếp
Đặc tả chi tiết các Usecase (UC)
Hình 2.8: Mô hình UC tìm kiếm món ăn
Mục đích: Để tìm kiếm món ăn theo nhu cầu của khách hàng.
Tác nhân: User Điều kiện: Không Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
3 Chọn chức năng tìm kiếm
4 Chọn tìm kiếm theo yêu cầu
5 Trả ra kết quả tìm kiếm
6 Tiếp tục truy cập website
Hình 2.9: Mô hình UC Xem món ăn
Mục đích: Cho người dùng xem thông tin chi tiết về món ăn Tác nhân: User Điều kiện: Không Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
3 Chọn món ăn cần xem
6 Tiếp tục truy cập website
4 Hiển thị trang chi tiết về món ăn
5 Hiển thị thêm vào giỏ hàng
2.7.3 UC Quản lý bài đăng
Hình 2.10: Mô hình UC Quản lý bài đăng
Mục đích: Cho Admin quản lý các tin món ăn mình đã đăng hoặc lưu.
Tác nhân: Admin Điều kiện: Đăng nhập vào hệ thống Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập vào hệ thống
3 Chọn chức năng quản lý tin
5 Chọn chức năng Quản lý Tin đã đăng
2 Hiển thị trang web hệ thống
4 Hiển thị giao diện quản lý tin
6 Hiển thị các tin món ăn đã đăng
7 Tiếp tục truy cập website
2.7.4 UC Quản lý tin món ăn
Hình 2.11: Mô hình UC Quản lý tin món ăn
Mục đích: Cho người quản trị quản lý các tin món ăn Tác nhân: Admin Điều kiện: Đăng nhập vào trang quản trị
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập vào trang quản trị
3 Chọn Quản lý tin món ăn
5 Chọn chức năng: Thêm, sửa xóa tin món ăn
7 Điền thông tin cần thiết và gửi lên
9 Tiếp tục truy cập trang quản trị
2 Hiển thị trang quản trị
4 Hiển thị giao diện quản lý tin
6 Hiển thị form tương ứng
8 Kiểm tra nếu thông tin gửi lên đúng thì cập nhật vào CSDL, sai thì gửi thông báo
1 Chọn Quản lý danh mục món ăn
3 Chọn chức năng: Thêm, sửa xóa danh mục
5 Điền thông tin cần thiết và gửi lên
7 Tiếp tục truy cập trang quản trị
2 Hiển thị danh sách danh mục
4 Hiển thị form tương ứng
6 Kiểm tra nếu thông tin gửi lên đúng thì cập nhật vào CSDL, sai thì gửi thông báo
Admin xem báo cáo về món ăn được người dùng gửi lên để xử lý
2.7.5 UC Quản lý bài viết
Hình 2.12: Mô hình UC Quản lý bài viết
Mục đích: Cho người quản trị quản lý bài viết Tác nhân: Admin Điều kiện: Đăng nhập vào trang quản trị
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập vào trang quản trị
3 Chọn Quản lý tin bài viết
5 Chọn chức năng: Thêm, sửa xóa món ăn
7 Điền thông tin cần thiết và gửi lên
9 Tiếp tục truy cập trang quản trị
2 Hiển thị trang quản trị
4 Hiển thị giao diện quản lý bài viết
6 Hiển thị form tương ứng
8 Kiểm tra thông tin gửi lên đúng thì cập nhật vào CSDL, sai thì gửi thông báo
1 Chọn Quản lý danh mục
3 Chọn chức năng: Thêm, sửa xóa danh mục món ăn
5 Điền thông tin cần thiết và gửi lên
2 Hiển thị danh sách danh mục
4 Hiển thị form tương ứng
6 Kiểm tra thông tin gửi lên đúng thì cập nhật vào CSDL, sai thì gửi thông báo
7 Tiếp tục truy cập trang quản trị
2.7.6 UC Quản lý khách hàng
Hình 2.13: Mô hình UC Quản lý khách hàng
Mục đích: Cho người quản trị quản lý khách hàng đã mua để xem thông tin cũng như liên hệ
Tác nhân: Admin Điều kiện: Đăng nhập vào trang quản trị Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập vào trang quản trị
5 Chọn chức năng: Xóa khách hàng
2 Hiển thị trang quản trị
4 Hiển thị giao diện khách hàng
6 Hiển thị form tương ứng
7 Điền thông tin cần thiết và gửi lên
9 Tiếp tục truy cập trang quản trị
8 Kiểm tra thông tin gửi lên đúng thì cập nhật vào CSDL, sai thì gửi thông báo
2.7.7 UC Quản lý hệ thống
Hình 2.14: Mô hình UC Quản lý hệ thống
Mục đích của bài viết này là hướng dẫn người quản trị hệ thống, cụ thể là Admin, trong việc quản lý và theo dõi hiệu suất của trang web Để thực hiện điều này, Admin cần đăng nhập vào trang quản trị và từ đó có thể xem các thống kê liên quan đến hoạt động của trang web.
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập vào trang quản trị
2 Hiển thị trang quản trị
5 Tiếp tục truy cập trang quản trị
4 Hiển thị form tương ứng
Biểu đồ hoạt động của hệ thống
Hình 2.15: Biểu đồ hoạt động Đăng ký tài khoản
II.8.2 Biểu đồ hoạt động đăng nhập
Hình 2.16: Biểu đồ hoạt động Đăng nhập
2.8.3 Biểu đồ hoạt động tìm kiếm món ăn
Hình 2.17: Biểu đồ hoạt động Tìm kiếm món ăn
2.8.4 Biểu đồ hoạt động xem món ăn
Hình 2.18: Biểu đồ hoạt động xem món ăn
2.8.5 Biểu đồ hoạt động cập nhật profile
Hình 2.19: Biểu đồ hoạt động Cập nhật profile
2.8.6 Biểu đồ hoạt động quản lý danh mục nhà hàng
Hình 2.20: Biểu đồ hoạt động Quản lý danh mục nhà hàng
2.8.7 Biểu đồ hoạt động quản lý bài viết
Hình 2.21: Biểu đồ hoạt động Quản lý bài viết
2.8.8 Biểu đồ hoạt động quản lý danh mục bài viết
Hình 2.22: Biểu đồ hoạt động Quản lý danh mục bài viết
2.8.9 Biểu đồ hoạt động quản lý user
Hình 2.23: Biểu đồ hoạt động Quản lý người dùng
2.8.10 Biểu đồ hoạt động quản lý hệ thống
Hình 2.24:Biểu đồ hoạt động Quản lý hệ thống
Phân tích và thiết kế cơ sở dữ liệu
Bảng Category
Stt Tên Kiểu dữ liệu Ràng buộc
Bảng Customer
Stt Tên Kiểu dữ liệu Ràng buộc
Bảng Order
Stt Tên Kiểu dữ liệu Ràng buộc
Bảng OrderInfo
Stt Tên Kiểu dữ liệu Ràng buộc
Bảng Payment
Stt Tên Kiểu dữ liệu Ràng buộc
Bảng ShopInformation
Stt Tên Kiểu dữ liệu Ràng buộc
Cài đặt và thực nghiệm
Môi trường phát triển
Visual Studio IDE (Integrated Development Environment) is a software development tool created by Microsoft, widely utilized by programmers for building applications.
Visual Studio, lần đầu tiên ra mắt vào năm 1997 với hai phiên bản Professional và Enterprise, đã trải qua nhiều giai đoạn phát triển đáng kể Tính đến nay, các phiên bản như Visual Studio 2005, 2008, 2010, 2012, 2013, 2017, và 2019 đã được phát hành, mỗi phiên bản mang đến nhiều công nghệ và tính năng mới, góp phần nâng cao trải nghiệm lập trình cho người dùng.
Người dùng có thể tải phiên bản Visual Studio Community miễn phí cho mục đích nghiên cứu và giáo dục Phiên bản này cung cấp đầy đủ các tính năng cần thiết để phục vụ việc học tập hiệu quả.
Trang chủ của Visual Studio: https://www.visualstudio.com.
4.1.2 Các chức năng của Visual Studio Code
Visual Studio Code có những chức năng gì?
Visual Studio Code là phần mềm được Microsoft ưu ái và nhận được sự ủng hộ mạnh mẽ từ cộng đồng lập trình viên Nhờ đó, Visual Studio Code liên tục được nâng cấp với công nghệ tối ưu, mang lại hỗ trợ tốt nhất cho các lập trình viên.
Khả năng mở rộng ngôn ngữ
Cung cấp kho tiện ích mở rộng khổng lồ
Hỗ trợ đa nền tảng
Hỗ trợ tối ưu hóa việc code
Tối ưu hóa cho việc xây dựng website
Khả năng tích hợp đầu cuối
Một màn hình với nhiều chức năng
Hỗ trợ sử dụng Git
Cung cấp kho tiện ích mở rộng khổng lồ
Nếu bạn đang học hay làm việc với ngôn ngữ ASP.NET nhưng bạn đang cần phải sử dụng thêm ngôn ngữ C, C++ , C# hay Java?
Để cài đặt ngôn ngữ bạn cần trong Visual Studio Code, hãy truy cập kho extension, tìm kiếm ngôn ngữ mong muốn và cài đặt nó Sau đó, bạn có thể tiếp tục sử dụng ngay trong Visual Studio Code!
Bạn muốn thay đổi giao diện cho Visual Studio Code? Cửa hàng extension của họ cùng có sẵn rất nhiều để bạn lựa chọn đấy!
Tính năng nhắc mã Intellisense trong Visual Studio Code rất thông minh và chuyên nghiệp Nó hỗ trợ người dùng khai báo biến khi quên, và cung cấp cú pháp hoặc gợi ý khi mã code chưa đầy đủ.
Hỗ trợ đa nền tảng
Dù bạn sử dụng Windows, Linux hay MacOS, phần mềm Visual Studio Code đều có thể hoạt động trên tất cả các hệ điều hành này Mặc dù giao diện có chút khác biệt ở thanh công cụ giữa các hệ điều hành, bạn vẫn sẽ dễ dàng làm quen khi chuyển đổi.
Tối ưu hóa cho việc xây dựng website
Bạn có thể dễ dàng thiết kế một website ngay trong Visual Studio Code nhờ vào tính năng tối ưu cho lập trình web và các extension hỗ trợ ngôn ngữ cũng như chức năng khác Sự kết hợp này giúp bạn nhanh chóng tạo ra những website và ứng dụng web chất lượng.
Một màn hình với nhiều chức năng
Visual Studio Code cung cấp nhiều tính năng mạnh mẽ, giúp bạn lập trình và quản lý thư mục một cách chuyên nghiệp mà không cần phải chuyển đổi giữa các màn hình hay quay lại thư mục gốc.
Bạn cũng có thể mở cùng lúc nhiều tệp tin, thư mục mà không cần thiết phải liên quan đến nhau đấy!
Hỗ trợ sử dụng Git
Microsoft đã mua lại GitHub, dẫn đến việc Visual Studio Code được tối ưu hóa để lưu trữ mã an toàn trên GitHub, giúp bạn yên tâm hơn khi thiết bị gặp sự cố Hy vọng bài viết này sẽ giúp bạn khám phá những tính năng yêu thích trong Visual Studio Code và áp dụng chúng một cách hiệu quả trong lập trình!
Những tiện ích mà Visual Studio cung cấp
Hỗ trợ viết mã nhanh chóng
Khi lập trình trên Notepad hoặc Notepad++, người dùng thường gặp khó khăn trong việc nhớ tên hàm, chức năng và các tham số của chúng Trong khi đó, Visual Studio cung cấp tính năng IntelliSense, giúp gợi ý tên biến và hàm ngay sau khi gõ, mang lại hiệu suất và trải nghiệm trực quan cao.
Hay sử dụng các phím tắt để phát sinh code, ví gõ cw sau đó nhấn TAB TAB, Visual Studio tự phát sinh code là: System.Console.WriteLine().
Ngoài ra để tạo 1 thuộc tính trong class, chỉ cần gõ là prop TAB TAB, Visual Studio cũng tự phát sinh code.
Code sau khi phát sinh: public int MyProperty { get; set; } Ngoài ra có thể cài thêm 1 số extension hỗ trợ quản lý và viết mã tốt hơn như:
Visual Assist: extension hỗ trợ với ngôn ngữ C++.
ReSharper: extension hỗ trợ các ngôn ngữ thuộc NET.
Công cụ Debug mạnh mẽ
Visual Studio IDE được đánh giá là công cụ hỗ trợ Debug mạnh mẽ nhất Ngoài việc xuất các thông số như giá trị của biến ra output thông qua các hàm như printf, cout, Console.WriteLine và Debug.WriteLine, Visual Studio cho phép người dùng debug từng câu lệnh để kiểm tra giá trị qua mỗi bước thực hiện thông qua breakpoints Để đặt breakpoint, người dùng có thể sử dụng hai phương pháp khác nhau.
Cách 1: nhấn chuột vào ngay bên mép trái dòng muốn debug.
Cách 2: trỏ cho trỏ chuột vào dòng muốn debug và nhấn phím tắt F9 Để xem kết quả chạy ra sao, nhấn phím F5 để chạy ở chế độ debug.
Khi chương trình khởi chạy thì chương trình sẽ dừng lại ở dòng số 26, có thể sử dụng phím F10 để chạy từng dòng lệnh.
Go To Definition to class và function
Khi phát triển mã, việc tìm kiếm các class và phương thức để sửa lỗi thường tốn nhiều thời gian, đặc biệt là trong các dự án lớn Visual Studio cung cấp tính năng Go To Definition, giúp lập trình viên nhanh chóng truy cập và chỉnh sửa mã một cách hiệu quả.
Tính năng này được sử dụng rất nhiều trong khi viết mã, giả sử cần khảo sát class StreamWriter từ khai báo sau:
You can hover over the class name StreamWriter and press F12 to have Visual Studio navigate to the StreamWriter class, or alternatively, right-click and select "Go To Definition."
Visual Studio không chỉ hỗ trợ tính năng Go To Definition cho các lớp (class) mà còn cho các phương thức Để sử dụng tính năng này, người dùng chỉ cần nhấn F12 khi đặt con trỏ chuột vào vị trí gọi phương thức, hoặc nhấn chuột phải vào tên phương thức và chọn Go To Definition.
Về mặt giao diện trước tiên chúng ta có trang chủ với thiết kế đơn giản dễ nhìn với mục như về hóa đơn, hàng hóa, thực đơn,
Hình 4.1: Giao diện trang web
Hình 4.2: Giao diện đăng nhập
Hình 4.3:Giao diện quản lý hóa đơn
Hình 4.4: Giao diện quản lý phòng, bàn
Hình 4.5: Chi tiết chức năng đặt bàn
Hình 4.6: Quản lý khách hàng
Hình 4.7: Chức năng thêm khách hàng
Hình 4.9: Chức năng Nhập hàng vào kho
Hình 4.10: Thực đơn nhà hàng