GIỚI THIỆU CHUNG
Tổng quan đề tài
Tên đề tài: Xây dựng website thương mại điện tử về thực phẩm thuần chayNền tảng phát triển: Website trên máy tính.
Lý do chọn đề tài
Ngày nay, ngày càng nhiều người quan tâm đến thực phẩm thuần chay vì sức khỏe, sở thích, đạo đức, tôn giáo và bảo vệ môi trường Thị trường thuần chay đang phát triển mạnh mẽ và có tiềm năng lớn trong tương lai Sự phát triển của công nghệ và xu hướng mua sắm trực tuyến ngày càng gia tăng, mang lại sự tiện lợi và nhanh chóng cho người tiêu dùng Đây là cơ hội tuyệt vời để phát triển một website thương mại điện tử chuyên về thực phẩm thuần chay, đáp ứng nhu cầu ngày càng cao của thị trường.
Việc sở hữu một website thương mại điện tử chuyên về thực phẩm thuần chay giúp người tiêu dùng dễ dàng tiếp cận và mua sắm các sản phẩm cần thiết Đồng thời, đây cũng là cơ hội để kết nối với lượng khách hàng tiềm năng lớn và gia tăng doanh số bán hàng.
Ngoài ra, việc chủ cửa hàng có một Website riêng cho cửa hàng cũng giúp dễ dàng thống kê và quản lý cửa hàng.
Xây dựng một website thương mại điện tử chuyên về thực phẩm thuần chay không chỉ là một ý tưởng hấp dẫn mà còn mang lại tiềm năng lớn, đặc biệt đối với những người ăn uống thuần chay như tôi.
Đối tượng sử dụng
- Khách hàng có nhu cầu mua đồ thuần chay online hoặc muốn biết những thông tin đến sản phẩm, món ăn thuần chay và thông tin cửa hàng.
- Chủ cửa hàng, nhân viên, quản lý cửa hàng.
- Phạm vi môi trường: Web.
+ Hệ thống cung cấp giao diện mua hàng tiện lợi, dễ sử dụng.
+ Hệ thống cung cấp giao diện quản lý giúp chủ cửa hàng theo dõi doanh số, quản lý hàng tồn kho.
+ Hệ thống cung cấp giao diện đăng ký, đăng nhập giúp xác thực người dùng.
+ Hệ thống cung cấp tính năng giỏ hàng hỗ trợ người mua đơn giản hóa quá trình mua hàng.
CƠ SỞ LÝ THUYẾT
Visual Studio Code là một trình soạn thảo mã nguồn được phát triển bởi
Visual Studio Code, một trình biên tập mã phổ biến của Microsoft cho Windows, Linux và macOS, đang khẳng định vị thế vượt trội so với các phần mềm khác Nó tích hợp chức năng debug, hỗ trợ Git, và nổi bật với cú pháp đánh dấu (syntax highlighting), tính năng tự hoàn thành mã thông minh, snippets, cùng với khả năng cải tiến mã nguồn Những ưu điểm này khiến Visual Studio Code trở thành lựa chọn hàng đầu cho lập trình viên.
- Hỗ trợ đa nền tảng: Windows, Linux, Mac
- Hỗ trợ đa ngôn ngữ: C/C++, C#, F#, Visual Basic, HTML, CSS,
- Là phần mềm miễn phí
Hình 2.2-1: HyperText Markup Language — HTML
HTML, viết tắt của HyperText Markup Language, là ngôn ngữ đánh dấu được sử dụng để thiết kế các trang web Nó kết hợp giữa Hypertext, định nghĩa liên kết giữa các trang, và ngôn ngữ đánh dấu, giúp xác định cấu trúc tài liệu qua các thẻ Các thẻ này cho phép máy tính nhận diện, hiểu và kiểm soát văn bản, đồng thời dễ dàng đọc hiểu bởi lập trình viên Ngôn ngữ đánh dấu cho phép định dạng và thao tác văn bản một cách linh hoạt.
HTML là ngôn ngữ đánh dấu quan trọng trong trình duyệt, giúp quản lý và trình bày văn bản, hình ảnh cùng các nội dung khác theo định dạng yêu cầu Được sáng tạo bởi Tim Berners-Lee vào năm 1991, phiên bản đầu tiên là HTML 1.0, trong khi bản tiêu chuẩn chính thức là HTML 2.0, ra mắt vào năm 1999.
Hình 2.3-1: Cascading Style Sheets — CSS
CSS, hay còn gọi là Cascading Style Sheets, là ngôn ngữ dùng để mô tả cách trình bày của các trang web và tạo style sheets cho web Nó hoạt động hỗ trợ cho HTML và có thể kết hợp với bất kỳ ngôn ngữ đánh dấu XML nào.
CSS là công nghệ quan trọng cần học sau HTML, giúp trang trí và trình bày nội dung web Trong khi HTML định nghĩa cấu trúc và ý nghĩa, CSS cho phép bạn thay đổi phông chữ, màu sắc, kích thước, khoảng cách, chia nội dung thành nhiều cột và thêm các hiệu ứng hoạt ảnh cũng như tính năng trang trí khác.
JavaScript, phiên bản hiện tại, là một ngôn ngữ lập trình thông dịch phát triển từ các khái niệm nguyên mẫu Ngôn ngữ này được sử dụng phổ biến cho cả phía người dùng trên các trang web và phía máy chủ thông qua Node.js.
JavaScript được phát triển bởi Brendan Eich tại Netscape và có cú pháp tương tự như C, nhưng gần gũi hơn với ngôn ngữ Self Phần mở rộng thường được sử dụng cho các tập tin mã nguồn JavaScript là js.
Nhiều trang web hiện nay sử dụng JavaScript để tạo ra các trang động và hiệu ứng hình ảnh thông qua DOM JavaScript cho phép thực hiện những tác vụ mà HTML đơn thuần không thể làm được, chẳng hạn như kiểm tra thông tin nhập vào và tự động thay đổi hình ảnh.
ReactJS là thư viện JavaScript hiệu quả và linh hoạt, giúp xây dựng các thành phần giao diện người dùng có thể tái sử dụng Thư viện này phân chia các UI phức tạp thành các component nhỏ hơn, dễ quản lý Được phát triển bởi Jordan Walke, một kỹ sư phần mềm tại Facebook, ReactJS ban đầu được duy trì bởi Facebook và đã được áp dụng trong các sản phẩm như WhatsApp và Instagram.
ReactJS is utilized for developing single page applications (SPAs), and one of its key advantages is that it can be implemented both on the client side and the server side.
NodeJS là một nền tảng mã nguồn mở hoạt động trên môi trường V8 JavaScript runtime, mang đến khả năng thực thi mã JavaScript nhanh chóng trên trình duyệt Chrome Với NodeJS, các lập trình viên có thể dễ dàng phát triển và mở rộng các ứng dụng web.
NodeJS là nền tảng lý tưởng để phát triển đa dạng ứng dụng, bao gồm ứng dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện thời gian thực và máy chủ REST API Tuy nhiên, NodeJS chủ yếu được sử dụng để xây dựng các chương trình mạng, đặc biệt là máy chủ web, tương tự như các công nghệ như PHP, Java và ASP.NET.
Mã nguồn mở cho phép người dùng sử dụng miễn phí và được cải tiến liên tục bởi cộng đồng phát triển toàn cầu.
Hình 2.7-1: Node package manager – npm
NPM, viết tắt của Node Package Manager, là công cụ quản lý và tạo lập các thư viện JavaScript cho Node.js, giúp lập trình viên chia sẻ hàng trăm nghìn thư viện với các đoạn mã thực hiện chức năng cụ thể NPM cho phép các dự án mới tiết kiệm thời gian bằng cách không phải viết lại các thành phần cơ bản, thư viện hay thậm chí cả framework Ngoài ra, NPM giúp bạn quản lý, tải về và tích hợp các thư viện có sẵn, với một cộng đồng lớn và hàng nghìn thư viện hỗ trợ cho JavaScript ES6, React, Express, Grunt, Duo và nhiều công nghệ khác.
- MongoDB là một hệquản trị cơsởdữliệu mã nguồn mở, là cơsởdữliệu thuộc NoSql và được hàng triệu người sửdụng.
- MongoDB là một database hướng tài liệu (document), các dữliệu được lưu trữtrong document kiểu JSON thay vì dạng bảng nhưCSDL quan hệ nên truy vấn sẽrất nhanh.
Trong cơ sở dữ liệu quan hệ như MySQL hay SQL Server, dữ liệu được lưu trữ trong các bảng, trong khi đó, MongoDB sử dụng khái niệm collection thay vì bảng để tổ chức và lưu trữ dữ liệu.
- So với RDBMS thì trong MongoDB collectionứng với table, còn document sẽ ứng với row , MongoDB sẽdùng các document thay cho row trong RDBMS.
- Các collection trong MongoDB được cấu trúc rất linh hoạt, cho phép các dữliệu lưu trữkhông cần tuân theo một cấu trúc nhất định.
Hình 2.9-1: Hệ thống quản lý mã nguồn GitHub
KHẢO SÁT VÀ PHÂN TÍCH KIẾN TRÚC HỆ THỐNG
Đối tượng khảo sát
Chức năng Thaychay.vn SieuThiThuan
Quản lý hóa đơn X X Khả thi
Hỗ trợ web bán hàng
Tích hợp chatbot Khả thi
Xác định yêu cầu và mô hình hóa yêu cầu
Website thương mại điện tử về thực phẩm thuần chay hỗ trợ các hoạt động quản lý và bán hàng:
Website hỗ trợ tin học hóa quản lý cửa hàng, giúp lưu trữ thông tin an toàn và lâu dài Nó mang lại sự tiện lợi trong hoạt động bán hàng, giúp người dùng dễ dàng quản lý các hoạt động kinh doanh của mình.
Danh sách yêu cầu nghiệp vụ
Danh sách bảng trách nhiệm Yêu cầu nghiệp vụ
STT Tên yêu cầu Trách nhiệm
1 Đặt hàng Đặt sản phẩm trên website
2 Quản lý sản phẩm Theo dõi số lượng và loại sản phẩm trong kho hàng, thêm, xóa và sửa sản phẩm.
3 Tra cứu Tra cứu thông tin sản phẩm.
4 Quản lý hóa đơn Theo dõi doanh số bán hàng và các hóa đơn của khách hàng, thêm, xóa hóa đơn.
5 Quản lý khách hàng Lưu trữ thông tin về khách hàng và quản lý các hóa đơn của họ, thêm, xóa và sửa thông tin khách hàng
6 Quản lý nhân viên Quản lý thông tin và trạng thái làm việc của nhân viên, thêm, xóa và sửa thông tin nhân viên
7 Lập báo cáo Thống kê doanh thu của cửa hàng theo các khoản thời gian được chọn
8 Phân quyền Lưu trữ thông tin về chức vụ, thêm sửa, xóa, chức vụ và các quy định của cửa hàng.
Danh sách yêu cầu tiến hóa
STT Nghiệp vụ Tính tiến hóa
1 Tra cứu Tích hợp sử dụng phương pháp quét mã để tra cứu sản phẩm nhanh chóng.
2 Thêm ưu đãi Thêm ưu đãi đối với khách hàng đã mua sản phẩm tại cửa hàng và đủ điều kiện nào đó.
3 Lập báo cáo Xuất file báo cáo.
4 Lập báo cáo Thống kê các mặt hàng bán chạy.
STT Nghiệp vụ Tốc độ xử lý Ghi chú
1 Quản lý sản phẩm Xử lý các yêu cầu
3 Quản lý hóa đơn Xử lý các yêu cầu
4 Quản lý khách hàng Xử lý các yêu cầu
5 Quản lý nhân viên Xử lý các yêu cầu
7 Phân quyền Xử lý các yêu cầu
STT Nghiệp vụ Mức độ dễ học Mức độ dễ sử dụng
1 Quản lý sản phẩm 1p hướng dẫn Dễ dàng sử dụng với giao diện trực quan
Có đầy đủ thông tin
2 Tra cứu 2p hướng dẫn Dễ dàng sử dụng giao diện trực quan với nhiều bộ lọc
1p hướng dẫn Dễ dàng sử dụng với giao diện trực quan
Có đầy đủ thông tin
5 Quản lý nhân viên 1p hướng dẫn Dễ dàng sử dụng với giao diện trực quan
Có đầy đủ thông tin
6 Lập báo cáo Không cần hướng dẫn
7 Phân quyền 3p hướng dẫn Dễ sử dụng Thỏa mãn những điều kiện khi sử dụng
STT Nghiệp vụ Đối tượng liên quan Ghi chú
Máy in Độc lập phiên bản
STT Nghiệp vụ Đối tượng tác động Ghi chú
1 Xóa chức vụ Nhân viên có chức vụ tương ứng
Không thể xóa chức vụ nếu vẫn còn nhân viên mang chức vụ tương ứng
2 Xóa hóa đơn Hóa đơn Không thể xóa hóa đơn nếu quá ngày quy định
Khách hàng Quản lý Chủ cửa hàng Đặt hàng X X X
3.2.1 Mô hình hóa yêu cầu
Tổng quát chức năng
STT Actor Ý nghĩa/Ghi chú
1 Nhân viên Nhân viên cửa hàng
2 Quản lý Quản lý cửa hàng
3 Chủ cửa hàng Chủ cửa hàng
Tên Use-case Tra cứu sản phẩm
Chủ cửa hàng hoặc nhân viên có thể dễ dàng tra cứu thông tin sản phẩm thông qua hệ thống Hệ thống sẽ nhanh chóng xử lý yêu cầu của người dùng và cung cấp kết quả chính xác.
Actor Nhân viên, chủ cửa hàng Điều kiện hoạt động Khi người dùng chọn tra cứu
Tiền điều kiện Thiết bị sử dụng phải có kết nối Internet. Ứng dụng phải kết nối thành công với cơ sở dữ liệu.
Hậu điều kiện Hệ thống hiển thị kết quả cho việc tra cứu sản phẩm.
Dòng sự kiện chính ● Người dùng đăng nhập vào hệ thống và sử dụng chức năng tìm kiếm tương ứng với yêu cầu
- Bộ lọc sản phẩm (loại sản phẩm, khoảng giá, khoảng số lượng)
● Hệ thống truy xuất cơ sở dữ liệu và so sánh các tiêu chuẩn tra cứu
● Hệ thống phản hồi danh sách kết quả tra cứu
Dòng sự kiện phụ Người dùng chọn Xóa lọc sẽ hủy bỏ kết quả lọc Use-case cũng kết thúc tại đây.
Các Use-case liên quan Không có
Tên Use-case Quản lý đơn hàng
Mô tả Use-case bắt đầu khi chủ của hàng hoặc quản lý muốn quản lý đơn hàng Hệ thống sẽ xử lý yêu cầu của người dùng.
Actor Quản lý, chủ cửa hàng Điều kiện hoạt động Khi người dùng chọn hóa đơn.
Tiền điều kiện Thiết bị sử dụng phải có kết nối Internet. Ứng dụng phải kết nối thành công với cơ sở dữ liệu.
Người sử dụng phải đăng nhập và được cấp quyền.
Hậu điều kiện Hệ thống phản hồi kết quả theo dòng sự kiện tương ứng được chọn.
- Sau khi thêm mới một hóa đơn thành công có form được clear sẵn sàng thêm hóa đơn tiếp theo.
Dòng sự kiện chính ● Người dùng đăng nhập vào hệ thống và sử dụng chức năng hoán đơn:
● Người dùng chọn dòng sự kiện sau đây:
+ Tra cứu:Người dùng tra cứu thông tin hóa đơn Hệ thống phản hồi thông tin tương ứng với điều kiện tra cứu.
+ Xem thông tin:Người dùng xem thông tin chi tiết của 1 hóa đơn tương ứng Hệ thống truy cập CSDL và phản hồi thông tin hóa đơn tương ứng.
1 Chỉnh sửa: Đến trang chỉnh sửa thông tin hóa đơn tương ứng.
2 Quay lại: Quay lại màn hình Danh sách hóa đơn.
+ Xóa hóa đơn:Người dùng xóa 1 hóa đơn tương ứng Hệ thống sẽ cập nhật dữ liệu CSDL và phản hồi thông báo Xóa thành công.
1 Người dùng lập hóa đơn mới
2 Điền đầy đủ thông tin khách hàng (có thể điền nhanh bằng số điện thoại nếu khách hàng đã được lưu thông tin
3 Người dùng chọn loại cây tương ứng với lựa chọn khách hàng
5 Người dùng nhập số tiền nhận từ khách hàng và số tiền giảm giá nếu có hệ thống sẽ tự động tính toán tiền thừa
6 Thanh toán hóa đơn và in hóa đơn (Nếu khách hàng của đơn hàng chưa có trong CSDL thì sẽ được lưu vào CSDL) Hệ thống sẽ lưu thông tin xuống CSDL và phản hồi thông báo Thêm thành công.
Dòng sự kiện phụ 1 Tạo hóa đơn không đầy đủ thông tin khách hàng:Hệ thống sẽ yêu cầu nhập đầy đủ thông tin khách hàng
2 Tạo hóa đơn không có bất kỳ sản phẩm:Hệ thống sẽ không cho phép thực hiện thao tác tạo hóa đơn.
3 Thanh toán hóa đơn với số tiền nhận rỗng hoặc < giá trị hóa đơn:Hệ thống sẽ không cho phép thực hiện thao tác thanh toán hoá đơn.
4 Xóa hóa đơn quá ngày thao tác:Hệ thống sẽ phản hồi thông báo không thể thao tác với hóa đơn tương ứng.
5 Người dùng Hủy thao tác Xóa hóa đơn:Hệ thống giữ nguyên trạng thái Use-case cũng kết thúc tại đây.
Các Use-case liên quan Tra cứu, Xem, Thêm, Xóa đơn hàng, Thêm khách hàng(nếu có)
Tên Use-case Quản lý khách hàng
Khi người dùng cần quản lý thông tin khách hàng, hệ thống sẽ tiếp nhận và xử lý yêu cầu này một cách hiệu quả.
Actor Nhân viên, quản lý, chủ cửa hàng Điều kiện hoạt động Khi người dùng chọn chức năng khách hàng
Tiền điều kiện Thiết bị sử dụng phải có kết nối Internet. Ứng dụng phải kết nối thành công với cơ sở dữ liệu.
Người dùng phải đăng nhập và được cấp quyền.
Hậu điều kiện Hệ thống phản hồi theo luồng sự kiện tương ứng được chọn.
- Sau khi thêm mới một khách hàng thành công có form được clear sẵn sàng thêm khách hàng tiếp theo.
Dòng sự kiện chính ● Người dùng đăng nhập vào hệ thống và sử dụng chức năng khách hàng:
● Người dùng chọn dòng sự kiện sau đây:
+ Tra cứu:Người dùng tra cứu thông tin khách hàng Hệ thống phản hồi kết quả tra cứu tương ứng với điều kiện tra cứu.
Người dùng có thể xem thông tin chi tiết về một khách hàng cụ thể Hệ thống sẽ truy xuất cơ sở dữ liệu và cung cấp phản hồi với thông tin chi tiết của khách hàng đó.
1 Chỉnh sửa: Đến trang chỉnh sửa thông tin khách hàng tương ứng.
2 Quay lại: Quay lại màn hình Danh sách khách hàng.
+ Xóa thông tin khách hàng:Người dùng xóa thông tin 1 khách hàng Hệ thống sẽ cập nhật dữ liệu CSDL và phản hồi thông báo Xóa thành công
1 Người dùng chọn khách hàng tương ứng
2 Chỉnh sửa thông tin của khách hàng.
3 Người dùng chọn Cập nhật Hệ thống sẽ cập nhật CSDL và phản hồi thông báo Cập nhật thành công.
1 Người thêm thông tin khách hàng mới.
2 Điền đầy đủ thông tin khách hàng.
3 Người dùng chọn Lưu Hệ thống sẽ lưu trữ thông tin khách hàng vào CSDL và phản hồi thông báo Thêm thành công.
Dòng sự kiện phụ 1 Người dùng Hủy xác nhận Xóa thông tin khách hàng:
Hệ thống sẽ giữ nguyên trạng thái.
2 Người dùng Huỷ thao tác Sửa thông tin khách hàng:
Hệ thống sẽ giữ nguyên trạng thái, quay lại màn hình Danh sách khách hàng.
3 Sửa thông tin khách hàng với dữ liệu không phù hợp:
Hệ thống sẽ không cho phép thực hiện thao tác Cập nhật cho đến khi dữ liệu đầu vào phù hợp
4 Thêm khách hàng với dữ liệu không đầy đủ hoặc không phù hợp:Hệ thống sẽ không cho phép thực hiện thao tác Lưu, người dùng cần bổ sung và chỉnh sửa dữ liệu để thực hiện thao tác Lưu.
Các Use-case liên quan Tra cứu, Thêm, Sửa, Xóa, Xem thông tin khách hàng,
Tên Use-case Quản lý sản phẩm
Khi người dùng cần quản lý thông tin sản phẩm, hệ thống sẽ tiếp nhận và xử lý yêu cầu của họ một cách hiệu quả.
Actor Quản lý, chủ cửa hàng Điều kiện hoạt động Khi người dùng chọn chức năng sản phẩm.
Tiền điều kiện Thiết bị sử dụng phải có kết nối Internet. Ứng dụng phải kết nối thành công với cơ sở dữ liệu.
Người dùng phải đăng nhập và được cấp quyền.
Hậu điều kiện Hệ thống phản hồi theo luồng sự kiện tương ứng được chọn.
- Sau khi thêm mới một sản phẩm thành công có form được clear sẵn sàng thêm sản phẩm tiếp theo.
Dòng sự kiện chính ● Người dùng đăng nhập vào hệ thống và sử dụng chức năng sản phẩm:
● Người dùng chọn 1 dòng sự kiện sau đây:
+ Tra cứu:Người dùng tra cứu thông tin sản phẩm Hệ thống phản hồi kết quả tra cứu tương ứng với điều kiện tra cứu.
Người dùng có thể xem thông tin chi tiết của sản phẩm tương ứng, hệ thống sẽ truy xuất dữ liệu từ cơ sở dữ liệu và cung cấp phản hồi với thông tin chi tiết về sản phẩm đó.
1 Chỉnh sửa: Đến trang chỉnh sửa thông tin khách hàng tương ứng.
2 Quay lại: Quay lại màn hình Danh sách sản phẩm.
+ Xóa thông tin sản phẩm:Người dùng xóa thông tin 1 sản phẩm Hệ thống sẽ cập nhật lại dữ liệu CSDL.
1 Người dùng chọn 1 sản phẩm tương ứng
2 Chỉnh sửa thông tin của sản phẩm.
3 Người dùng chọn Cập nhật Hệ thống sẽ cập nhật CSDL.
1 Người thêm thông tin sản phẩm mới.
2 Điền đầy đủ thông tin sản phẩm.
3 Người dùng chọn Lưu Hệ thống sẽ lưu trữ thông tin sản phẩm vào CSDL và phản hồi thông báo Thêm thành công.
Dòng sự kiện phụ 1 Người dùng Hủy xác nhận Xóa thông tin sản phẩm:Hệ thống sẽ giữ nguyên trạng thái.
2 Người dùng Huỷ thao tác Sửa thông tin sản phẩm:Hệ thống sẽ giữ nguyên trạng thái, quay lại màn hình Danh sách sản phẩm.
3 Sửa thông tin sản phẩm với dữ liệu không phù hợp hoặc không đầy đủ:Hệ thống sẽ không cho phép thực hiện thao tác Cập nhật cho đến khi dữ liệu đầu vào đầy đủ và phù hợp.
4 Thêm sản phẩm với dữ liệu không đầy đủ hoặc không phù hợp:Hệ thống sẽ không cho phép thực hiện thao tác
Lưu, người dùng cần bổ sung và chỉnh sửa dữ liệu bắt buộc để thực hiện thao tác Lưu.
Các Use-case liên quan Tra cứu, Thêm, Sửa, Xóa, Xem thông tin sản phẩm,
Tên Use-case Quản lý sản phẩm
Người dùng bắt đầu sử dụng hệ thống để quản lý thông tin nhân viên, và hệ thống sẽ tiếp nhận và xử lý các yêu cầu liên quan đến việc quản lý nhân viên một cách hiệu quả.
Actor Chủ cửa hàng Điều kiện hoạt động Khi người dùng chọn chức năng Nhân viên.
Tiền điều kiện Thiết bị sử dụng phải có kết nối Internet. Ứng dụng phải kết nối thành công với cơ sở dữ liệu.
Người dùng phải đăng nhập và được cấp quyền.
Hậu điều kiện Hệ thống phản hồi theo luồng sự kiện tương ứng được chọn.
- Sau khi thêm mới một nhân viên thành công có form được clear sẵn sàng thêm sản phẩm tiếp theo.
Dòng sự kiện chính ● Người dùng đăng nhập vào hệ thống và sử dụng chức năng nhân viên:
● Người dùng chọn 1 dòng sự kiện sau đây:
+ Tra cứu:Người dùng tra cứu thông tin nhân viên Hệ thống phản hồi kết quả tra cứu tương ứng với điều kiện tra cứu.
Người dùng có thể xem thông tin chi tiết của một nhân viên cụ thể Hệ thống sẽ truy xuất cơ sở dữ liệu và cung cấp phản hồi với các thông tin liên quan đến nhân viên đó.
1 Chỉnh sửa: Đến trang chỉnh sửa thông tin nhân viên tương ứng.
2 Quay lại: Quay lại màn hình Danh sách nhân viên.
+ Xóa nhân viên:Người dùng xóa nhân viên. Tài khoản(ID) của nhân viên đó có trạng thái
“Đã thôi việc” và không đăng nhập được nữa.
Hệ thống sẽ cập nhật lại dữ liệu CSDL.
1 Người dùng chọn 1 nhân viên tương ứng
2 Chỉnh sửa thông tin của nhân viên (tên tuổi, địa chỉ email, số điện thoại, role).
3 Người dùng chọn Cập nhật Hệ thống sẽ cập nhật CSDL.
1 Người thêm thông tin nhân viên mới.
2 Điền đầy đủ thông tin nhân viên (tên tuổi, địa chỉ email, số điện thoại,role, User_ID, Password).
3 Người dùng chọn Lưu Hệ thống sẽ lưu trữ thông tin nhân viên, trạng thái mặc định “Đang làm việc” (không thể chỉnh sửa) vào CSDL và phản hồi thông báo Thêm thành công, tài khoản có thể đăng nhập vào hệ thống.
Dòng sự kiện phụ 1 Người dùng Hủy xác nhận Xóa nhân viên:Hệ thống sẽ giữ nguyên trạng thái.
2 Người dùng Huỷ thao tác Sửa thông tin nhân viên:Hệ thống sẽ giữ nguyên trạng thái, quay lại màn hình Danh sách nhân viên.
3 Sửa thông tin nhân viên với dữ liệu không phù hợp hoặc không đầy đủ:Hệ thống sẽ không cho phép thực hiện thao tác Cập nhật cho đến khi dữ liệu đầu vào đầy đủ và phù hợp.
4 Thêm nhân viên với dữ liệu không đầy đủ hoặc không phù hợp:Hệ thống sẽ không cho phép thực hiện thao tác Lưu, người dùng cần bổ sung và chỉnh sửa dữ liệu bắt buộc để thực hiện thao tác Lưu.
Các Use-case liên quan Tra cứu, Thêm, Sửa, Xóa, Xem thông tin nhân viên,
Tên Use-case Báo cáo thống kê
Khi người dùng có nhu cầu xem hoặc xuất báo cáo của cửa hàng, hệ thống sẽ tiếp nhận và xử lý yêu cầu đó để cung cấp thông tin cần thiết.
Actor Quản lý, chủ cửa hàng Điều kiện hoạt động Khi người dùng chọn chức năng Báo cáo thống kê.
Tiền điều kiện Thiết bị sử dụng phải có kết nối Internet. Ứng dụng phải kết nối thành công với cơ sở dữ liệu.
Người dùng phải đăng nhập và được cấp quyền.
Nếu muốn xuất báo cáo ra tài liệu giấy phải kết nối với máy in.
Hậu điều kiện Hệ thống phản hồi báo cáo thống kê của cửa hàng và xuất báo cáo nếu có yêu cầu
Dòng sự kiện chính ● Người dùng đăng nhập vào hệ thống và sử dụng chức năng báo cáo tài chính:
● Người dùng chọn khoảng thời gian bất kỳ hoặc chọn báo cáo theo (tháng/năm)
● Người dùng nhập thông tin về khoảng thời gian muốn xem báo cáo thống kê và chọn Xem.
● Hệ thống sẽ so sánh điều kiện và phản hồi doanh thu số đơn hàng, số khách hàng dưới dạng biểu đồ.
Xuất báo cáo (nếu cần)
● Người dùng chọn xuất báo cáo
● Chọn loại file muốn xuất
● Hệ thống phản hồi yêu cầu và xuất báo cáo
Người dùng cần chọn một khoảng thời gian hợp lệ với Ngày bắt đầu phải trước Ngày kết thúc Hệ thống sẽ phản hồi cảnh báo và không cho phép thực hiện thao tác Xem nếu thời gian không hợp lệ.
Các Use-case liên quan Hóa đơn, Xem báo cáo, Xuất báo cáo.
Tên Use-case Phân quyền
Mô tả Use-case bắt đầu khi người dùng muốn quản lý phân quyền của cửa hàng Hệ thống sẽ xử lý yêu cầu của người dùng.
Actor Chủ cửa hàng Điều kiện hoạt động Khi người dùng chọn chức năng Thay đổi quy định → Phân quyền.
Tiền điều kiện Thiết bị sử dụng phải có kết nối Internet. Ứng dụng phải kết nối thành công với cơ sở dữ liệu.
Người dùng phải đăng nhập và được cấp quyền.
Hậu điều kiện Hệ thống phản hồi tương ứng với dòng sự kiện được chọn.
Dòng sự kiện chính ● Người dùng đăng nhập vào hệ thống và sử dụng chức năng Thay đổi quy định → Phân quyền.
● Người dùng chọn các dòng sự kiện dưới đây:
+ Tra cứu:Người dùng tra cứu thông tin các loại nhân viên Hệ thống phản hồi kết quả tra cứu tương ứng với điều kiện tra cứu.
Thiết kế hệ thống
3.3.1Sơ đồ lớp mức phân tích a Danh sách lớp b Danh sách các đối tượng và quan hệ
STT Tên lớp/quan hệ Loại Ý nghĩa
Mô tả chi tiết từng đối tượng và quan hệ Đối tượng
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Sanpham_ID string Mã sản phẩm
2 Loaisanpham_ID string Mã loại sản phẩm
3 Ten string Tên sản phẩm
4 Gia bigint Chỉ bao gồm số Giá sản phẩm
5 Soluong int Chỉ bao gồm số Số lượng
6 Ngaytao date Mặc định thời gian hiện tại
● Danh sách phương thức chính
STT Tên phương thức Ý nghĩa/ghi chú
1 Thêm Thêm sản phẩm mới
2 Sửa Sửa thông tin sản phẩm
3 Xóa Xóa thông tin sản phẩm
4 Xem chi tiết Xem chi tiết sản phẩm
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Loaisanpham_ID string Mã loại sản phẩm
2 Tenloaisanpham string Tên loại sản phẩm
3 Ngaytao data Mặc định thời gian hiện tại
Ngày tạo loại sản phẩm
● Danh sách phương thức chính
STT Tên phương thức Ý nghĩa/ghi chú
1 Thêm Thêm loại sản phẩm mới
2 Sửa Sửa thông tin loại sản phẩm
3 Xóa Xóa thông tin loại sản phẩm
4 Xem chi tiết Xem chi tiết loại sản phẩm
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Hoadon_ID string Mã hóa đơn
2 Tenkhachhang string Tên khách hàng
3 Sodienthoai string Chỉ bao gồm số và có độ dài từ 10-15 ký tự
5 Tổng tiền bigint Tổng giá trị hóa đơn
6 Ngaytao date Mặc định thời gian hiện tại
● Danh sách phương thức chính
STT Tên phương thức Ý nghĩa/ghi chú
1 Thêm Thêm hóa đơn mới
3 Xem chi tiết Xem chi tiết hóa đơn
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
D string Mã chi tiết hóa đơn
2 Hoadon_ID string Mã hóa đơn
3 Sanpham_ID string Mã sản phẩm
4 Soluong int Số lượng sản phẩm
5 Gia bigint Giá sản phẩm
6 Tiennhan bigint Tiền nhận từ khách hàng
7 Tienthua bigint Tiền dư gửi lại cho khách hàng
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
2 Chucvu_ID string Mã chức vụ
3 Tennhanvien string Tên nhân viên
5 Email string Dạng email Email
6 Ngaytao date Mặc định thời gian hiện tại
● Danh sách phương thức chính
STT Tên phương thức Ý nghĩa/ghi chú
1 Thêm Thêm nhân viên mới
2 Sửa Sửa thông tin nhân viên
3 Xóa Xóa thông tin nhân viên
4 Xem chi tiết Xem chi tiết nhân viên
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Chucvu_ID string Mã chức vụ
2 Tenchucvu string Tên chức vụ
3 Ngaytao date Mặc định thời gian hiện tại
● Danh sách phương thức chính
STT Tên phương thức Ý nghĩa/ghi chú
1 Thêm Thêm chức vụ mới
2 Sửa Sửa thông tin chức vụ
3 Xóa Xóa thông tin chức vụ
4 Xem chi tiết Xem chi tiết chức vụ
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Chucvu_ID string Mã chức vụ
_ID string Mã quyền truy cập
● Danh sách phương thức chính
STT Tên phương thức Ý nghĩa/ghi chú
1 Thêm Thêm nhóm quyền mới
2 Sửa Sửa thông tin nhóm quyền
3 Xóa Xóa thông tin nhóm quyền
4 Xem chi tiết Xem chi tiết nhóm quyền
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Quyentruycap_ID string Mã quyền truy cập
2 Tenquyentruycap string Tên quyền truy cập
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
2 Tenkhachhang string Tên khách hàng
3 Sodienthoai string Chỉ bao gồm số và có độ dài từ 10-15 ký tự
5 Ngaytao date Mặc định thời gian hiện tại
● Danh sách phương thức chính
STT Tên phương thức Ý nghĩa/ghi chú
1 Thêm Thêm khách hàng mới
2 Sửa Sửa thông tin khách hàng
3 Xóa Xóa thông tin khách hàng
4 Xem chi tiết Xem chi tiết khách hàng
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Sanpham_ID string Mỗi sản phẩm phải có 1 mã
Mã sản phẩm loại sản phẩm
2 Loaisanpham_ID string Một mã loại sản phẩm có thể thuộc 0 hoặc nhiều sản phẩm
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Sanpham_ID string Một hoặc nhiều sản phẩm có thể thuộc 1 hóa đơn
2 HoaDon_ID string Một hóa đơn phải có tối thiểu 1 sản phẩm
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Taikhoan string Một nhân viên có thể tạo 0 hoặc nhiều sản phẩm
2 Sanpham_ID string Một sản phẩm được tạo từ duy nhất một nhân viên
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Taikhoan string Một nhân viên có thể tạo 0 hoặc nhiều hóa đơn
2 Hoadon_ID string Một hóa đơn được tạo từ 1 nhân viên
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 CTHoadon_ID string Một chi tiết Mã chi tiết hóa hóa đơn phải thuộc 1 hóa đơn đơn
2 Hoadon_ID string Một hóa đơn chỉ có 1 chi tiết hóa đơn
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Taikhoan string Một tài khoản nhân viên chỉ có 1 chức vụ
2 Chucvu_ID string Một chức vụ có thể thuộc một hoặc nhiều nhân viên
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Chucvu_ID string Một chức vụ phải có 1 nhóm quyền
Quyentruycap_ID string Một nhóm quyền có thể thuộc nhiều chức vụ QUYENTRUYCAP_NHOMQUYEN
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Quyentruycap_ID string Một quyền truy Mã quyền truy cập thuộc 1 nhóm quyền cập
Quyentruycap_ID string Một nhóm quyền có 1 hoặc nhiều quyền truy cập NHANVIEN_KHACHHANG
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Taikhoan string Một tài khoản nhân viên có thể tạo 0 hoặc nhiều khách hàng
2 Khachhang_ID string Một khách hàng phải được tạo từ 1 tài khoản nhân viên
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa
1 Khachhang_ID string Một khách hàng có thể có
2 Hoadon_ID string Một hóa đơn phải có 1 khách hàng
THIẾT KẾ, HIỆN THỰC GIAO DIỆN
Danh sách các màn hình
- Màn hình trang chủ khách hàng
- Màn hình trang chủ quản lý
- Màn hình sản phẩm khách hàng
- Khung xem trước giỏ hàng
- Màn hình danh sách sản phẩm
- Màn hình thêm sản phẩm
- Màn hình sửa sản phẩm
- Màn hình chi tiết sản phẩm
- Màn hình danh sách loại sản phẩm
- Màn hình thêm loại sản phẩm
- Màn hình sửa loại sản phẩm
- Màn hình chi tiết loại sản phẩm
- Màn hình danh sách khách hàng
- Màn hình thêm khách hàng
- Màn hình sửa khách hàng
- Màn hình chi tiết khách hàng
- Màn hình danh sách đơn hàng
- Màn hình chốt đơn hàng
- Màn hình thêm đơn hàng
- Màn hình thống kê đơn hàng
- Màn hình chi tiết đơn hàng
- Màn hình danh sách bài viết
- Màn hình thêm bài viết
- Màn hình sửa bài viết
- Màn hình chi tiết bài viết
- Màn hình danh sách tài khoản
- Màn hình thêm tài khoản
- Màn hình sửa tài khoản
- Màn hình chi tiết tài khoản
Màn hình đăng nhập
Hình 4.1: Màn hình đăng nhập
Màn hình đăng ký
Hình 4.2: Màn hình đăng ký
Màn hình trang chủ khách hàng
Hình 4.3: Màn hình trang chủ khách hàng
Màn hình trang chủ quản lý
Hình 4.4: Màn hình trang chủ quản lý
Màn hình sản phẩm khách hàng
Hình 4.5: Màn hình sản phẩm khách hàng
HƯỚNG PHÁT TRIỂN
Các Công nghệ tiêu biểu sử dụng trong quá trình phát triển
[2] Blender: https://www.Blender.org/
[3] Visual Studio: https://visualstudio.microsoft.com/
Tài liệu hướng dẫn ngôn ngữ lập trình
[4] C# Doc: https://learn.microsoft.com/en-us/dotnet/csharp/
[5] UnityDoc: https://docs.unity3d.com/Manual/index.html
Tài liệu và code mẫu tham khảo trong quá trình xây dựng hệ thống và logic trò chơi
[6] UnityForum: https://forum.unity.com/
[7] SaiChannel: https://www.youtube.com/@SaiGame/featured