CƠ SỞ LÝ THUYẾT
GIẢI PHÁP THIẾT KẾ
Hình 2.1: Mô hình Client – Server a Giới thiệu
Mô hình client-server là một cấu trúc cho phép các máy tính giao tiếp và truyền tải dữ liệu hiệu quả Client và Server là hai khái niệm quen thuộc, đóng vai trò quan trọng trong việc kết nối và xử lý thông tin giữa các thiết bị.
Và mình cũng nhắc lại tóm tắt về client – server [1]
Client và server về bản chất thì nó là 2 máy tính giao tiếp và truyền tải dữ liệu cho nhau
Máy tính hoạt động như một máy khách (Client) trong mô hình mạng, chỉ sử dụng tài nguyên từ máy chủ mà không cung cấp tài nguyên cho các máy tính khác Tuy nhiên, một máy khách cũng có thể đóng vai trò là máy chủ trong một mô hình khác, tùy thuộc vào nhu cầu sử dụng của người dùng.
Máy tính hoạt động như một máy chủ (Server) cung cấp tài nguyên và dịch vụ cho các máy khách trong mạng, giúp tối ưu hóa hiệu suất hoạt động của các máy khách (client).
Trong mô hình Client Server, server tiếp nhận mọi yêu cầu hợp lệ từ các nguồn khác nhau trên Internet và sau đó gửi kết quả trở lại máy tính đã gửi yêu cầu.
Máy tính được coi là máy khách khi chúng làm nhiệm vụ gửi yêu cầu đến các máy chủ và đợi câu trả lời được gửi về
Để máy khách và máy chủ giao tiếp hiệu quả, cần có một chuẩn giao tiếp gọi là giao thức Giao thức này rất quan trọng trong việc đảm bảo sự tương tác giữa hai bên Một số giao thức phổ biến hiện nay bao gồm HTTPS, TCP/IP và FTP.
Để máy khách nhận thông tin từ máy chủ, chúng phải tuân theo giao thức mà máy chủ quy định Khi yêu cầu được chấp nhận, máy chủ sẽ thu thập thông tin và gửi kết quả trở lại cho máy khách Do máy chủ luôn sẵn sàng nhận yêu cầu từ máy khách, chỉ cần máy khách gửi tín hiệu yêu cầu, máy chủ sẽ nhanh chóng trả kết quả.
2.1.2 Mô hình MVC a Mô hình MVC là gì
MVC, viết tắt của "Model-View-Controller", là một mẫu kiến trúc phần mềm dùng để phát triển giao diện người dùng trên máy tính Mô hình này được chia thành ba thành phần chính: Model (dữ liệu), View (giao diện) và Controller (bộ điều khiển), mỗi phần có vai trò và nhiệm vụ riêng biệt, đồng thời hoạt động độc lập với nhau trong mã nguồn.
Hình 2.3: Mô hình MVC b Các thành phần trong mô hình MVC
Mô hình MVC gồm 3 loại chính là thành phần bên trong không thể thiếu khi áp dụng mô hình này:
Một model trong lập trình là dữ liệu được sử dụng để xây dựng ứng dụng, có thể là cơ sở dữ liệu, file hoặc đối tượng đơn giản như biểu tượng hay nhân vật trong game.
View là thành phần hiển thị các đối tượng trong ứng dụng, bao gồm cửa sổ, nút và văn bản Nó đại diện cho mọi thứ mà người dùng có thể nhìn thấy trên giao diện.
- Controller: Một controller bao gồm cả Model lẫn View Nó nhận input và thực hiện các update tương ứng
Trong mô hình MVC, một Controller có khả năng cập nhật Model bằng cách điều chỉnh các thuộc tính của nhân vật trong game, đồng thời có thể thay đổi View để hiển thị nhân vật đã được cập nhật.
Luồng xử lý trong của mô hình MVC, bạn có thể hình dung cụ thể và chi tiết qua từng bước dưới đây:
- Khi một yêu cầu của từ máy khách (Client) gửi đến Server Thì bị Controller trong MVC chặn lại để xem đó là URL request hay sự kiện
- Sau đó, Controller xử lý input của user rồi giao tiếp với Model trong MVC
- Model chuẩn bị data và gửi lại cho Controller
- Cuối cùng, khi xử lý xong yêu cầu thì Controller gửi dữ liệu trở lại View và hiển thị cho người dùng trên trình duyệt
Hình 2.4: Luồng xử lý trong MVC Ở đây, View không giao tiếp trực tiếp với Model Sự tương tác giữa View và Model sẽ chỉ được xử lý bởi Controller
2.1.3 Mô hình thương mại điện tử a Thương mại điện tử là gì
Hình 2.5: Mô hình kinh doanh thương mại điện tử
Thương mại điện tử (TMĐT) là hình thức giao dịch mua bán diễn ra trên nền tảng internet, sử dụng các thiết bị điện tử có kết nối mạng.
[6] b Đặc điểm của thương mại điện tử
Thương mại điện tử hiện nay được cụ thể hóa là các sàn giao dịch thương mại điện tử vì thế nó có những đặc điểm sau:
Thương mại điện tử là hình thức trao đổi hàng hóa, dịch vụ, sản phẩm, thông tin và tiền tệ thông qua internet hoặc các phương tiện điện tử kết nối mạng.
Thương mại điện tử giúp giảm chi phí và tăng cường hiệu quả cho các quy trình sản xuất kinh doanh của hầu hết doanh nghiệp và tổ chức hiện nay.
- Thương mại điện tử có thể áp dụng ngay vào các ngành dịch vụ khác như chính phủ điện tử, đào tạo trực tuyến, du lịch
Với sự phát triển của công nghệ thông tin và khoa học kỹ thuật, khả năng kết nối và chia sẻ thông tin giữa doanh nghiệp, nhà cung cấp, nhà phân phối và khách hàng ngày càng được cải thiện, góp phần nâng cao hiệu quả hoạt động kinh doanh và doanh số bán hàng.
Thương mại điện tử và kinh doanh điện tử là hai khái niệm khác biệt rõ rệt Thương mại điện tử chủ yếu liên quan đến việc mua bán và trao đổi hàng hóa, dịch vụ, cũng như thông tin qua mạng và các phương tiện điện tử Trong khi đó, kinh doanh điện tử tập trung vào việc phối hợp giữa các doanh nghiệp, đối tác, khách hàng và tổ chức các hoạt động nội bộ trong doanh nghiệp.
CÔNG NGHỆ SỬ DỤNG
Bảng 2.1: Các công nghệ được sử dụng
STT Tên công nghệ Mô tả
1 PHP Ngôn ngữ lập trình phía máy chủ
2 MySQL Lưu trữ cơ sở dữ liệu
3 Xampp Host PHP server và MySQL server
4 Visual Studio Code Viết code cho website
5 Google Chrome Hiển thị website và kiểm lỗi
6 HTML, CSS, JS Công nghệ thiết kế giao diện website
7 Bootstrap Hỗ trợ thiết kế giao diện website
PHP, viết tắt của Personal Home Page và hiện nay được gọi là Hypertext Preprocessor, là một ngôn ngữ lập trình kịch bản đa mục đích Ngôn ngữ này thường được sử dụng để phát triển các ứng dụng web chạy trên máy chủ, cho phép xử lý các chức năng từ phía server để tạo ra mã HTML trên client, bao gồm thu thập dữ liệu biểu mẫu, sửa đổi cơ sở dữ liệu, quản lý file trên server và nhiều hoạt động khác.
Hiện nay, mã nguồn mở PHP rất phổ biến trong việc nhúng vào HTML thông qua cặp thẻ PHP mang lại hiệu quả cao trong tối ưu hóa ứng dụng web với tốc độ nhanh, tiện lợi và ít lỗi, đồng thời có cấu trúc tương tự như Java và C Hơn nữa, PHP được xem là ngôn ngữ dễ học và thành thạo hơn so với nhiều ngôn ngữ khác, do đó ngày càng được áp dụng rộng rãi và trở thành ngôn ngữ lập trình phổ biến nhất.
Hình 2.9: PHP là gì 2.2.3 MySQL
MySQL is a widely used open-source Relational Database Management System (RDBMS) that is popular globally.
Hệ quản trị cơ sở dữ liệu này hoạt động dựa trên mô hình tiêu chuẩn là Client (Máy khách) – Server (Máy chủ) [5]
Hình 2.10: Hệ quản trị cơ sở dữ liệu MySQL
Hiện nay, MySQL được sử dụng rộng rãi bởi các website lớn như Facebook, Yahoo, Google và Twitter để lưu trữ thông tin hiệu quả Sự phổ biến của MySQL trong thiết kế và phát triển website được đánh giá cao nhờ khả năng tích hợp với Apache và PHP Ngoài ra, MySQL còn tương thích với nhiều trình duyệt và hệ điều hành như Ubuntu, Linux, macOS và Microsoft Windows, làm tăng độ tin cậy và sự ưa chuộng của nó Trong số các phần mềm RDBMS hiện có, MySQL là lựa chọn phổ biến nhất cho phát triển website.
XAMPP là phần mềm máy chủ web được phát triển và phân phối bởi Apache Friends, thuộc bản quyền GNU General Public Licence Phần mềm này tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ hỗ trợ như phpMyAdmin, giúp người dùng dễ dàng tạo và quản lý máy chủ web.
Web Server (máy phục vụ Web) là máy tính cài đặt phần mềm phục vụ Web Đôi khi người ta cũng gọi chính phần mềm đó là Web Server
XAMPP là một ứng dụng cho phép người dùng tạo và quản lý máy chủ nội bộ (localhost) trên máy tính cá nhân Từ "localhost" được ghép từ hai chữ "local" (địa phương) và "host" (máy chủ), chỉ rõ rằng máy chủ này hoạt động trên thiết bị cá nhân của bạn.
XAMPP là phần mềm giúp bạn mô phỏng môi trường server hosting, cho phép bạn thử nghiệm một website ngay trên máy tính mà không cần mua hosting hay VPS.
Visual Studio Code, trình biên tập lập trình miễn phí do Microsoft phát triển, tương thích với Windows, Linux và macOS, được coi là sự kết hợp hoàn hảo giữa IDE và Code Editor.
Visual Studio Code cung cấp chức năng debug mạnh mẽ, tích hợp Git, hỗ trợ syntax highlighting, tự hoàn thành mã thông minh, và snippets, cùng với các cải tiến mã nguồn Ngoài ra, người dùng có thể tùy chỉnh theme, phím tắt và các tùy chọn khác để nâng cao trải nghiệm lập trình của mình.
Hình 2.12: Phần mềm Visual Studio Code
- Một số tính năng của Visual Studio Code:
Visual Studio Code hỗ trợ đa dạng ngôn ngữ lập trình như C/C++, C#, F#, Visual Basic, HTML, CSS và JavaScript, giúp người dùng dễ dàng phát hiện lỗi trong chương trình và nhận thông báo kịp thời.
Visual Studio Code hỗ trợ đa nền tảng, cho phép người dùng sử dụng trên cả ba hệ điều hành Windows, Linux và Mac Điều này giúp tăng tính linh hoạt và tiện ích cho lập trình viên, so với các trình viết code thông thường chỉ giới hạn trên một nền tảng.
Visual Studio cung cấp kho tiện ích mở rộng, cho phép lập trình viên sử dụng các ngôn ngữ lập trình không được hỗ trợ sẵn Người dùng có thể tải xuống các tiện ích mở rộng mà không lo ảnh hưởng đến hiệu suất của phần mềm, vì chúng hoạt động như các chương trình độc lập.
Với sự phát triển của lập trình, nhu cầu về lưu trữ an toàn ngày càng tăng cao Visual Studio Code đáp ứng nhu cầu này bằng cách cho phép người dùng kết nối dễ dàng với Git hoặc bất kỳ kho lưu trữ nào hiện có, mang lại sự yên tâm cho người lập trình.
Hỗ trợ web: Visual Studio Code hỗ trợ nhiều ứng dụng web Ngoài ra, nó cũng có một trình soạn thảo và thiết kế website
Lưu trữ dữ liệu phân cấp trong Visual Studio Code giúp tổ chức các tệp mã trong các thư mục tương tự nhau, đồng thời cung cấp các thư mục riêng cho những tệp quan trọng.
Visual Studio Code hỗ trợ lập trình viên viết code bằng cách đề xuất các tùy chọn thay thế cho những đoạn code có thể điều chỉnh, giúp người dùng thuận tiện hơn trong quá trình lập trình.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
ĐẶC TẢ YÊU CẦU
Có 3 tác nhân sử dụng website: Admin, Nhân viên giao hàng và Khách hàng
- Admin: Là người quản lý website, quản lý được tài khoản nhân viên, sản phẩm, đơn hàng, thống kê, giao đơn hàng cho nhân viên đảm nhiệm
Nhân viên giao hàng là những người chịu trách nhiệm chuyển hàng từ cửa hàng đến tay khách hàng Họ nhận đơn hàng từ Admin hoặc tự xác nhận khi có đơn mới từ khách Trong suốt quá trình giao hàng, nhân viên sẽ cập nhật tình trạng đơn hàng lên hệ thống để Admin có thể theo dõi thông tin kịp thời.
- Khách hàng: Là những người mua các sản phẩm thời trang Khách hàng được xem các sản phẩm của shop và đặt mua sản phẩm
Bảng 3.1: Mô tả các chức năng của hệ thống Tác nhân Chức năng Chức năng con Sự kiện
Xem danh sách tài khoản
Thêm tài khoản Chỉnh sửa tài khoản
Xem danh sách thương hiệu
Thêm thương hiệu Chỉnh sửa thương hiệu Xóa thương hiệu
Quản lý danh mục sản phẩm
Xem danh sách danh mục
Xem danh sách sản phẩm
Quản lý đơn hàng Xem danh sách đơn hàng
Tác nhân Chức năng Chức năng con Sự kiện
Xác nhận đơn hàng Xác nhận đã giao hàng
Thống kê sản phẩm Thống kê doanh thu Thống kê sản phẩm nhân viên
Khách hàng Đăng ký Đăng nhập
Xem chi tiết sản phẩm
Tra cứu lịch trình đơn hàng
Khách hàng nhập mã đơn hàng và tra cứu thông tin đơn hàng cũng như lịch trình của đơn hàng và vị trí đơn hàng hiện tại đang ở đâu
Xem danh sách giỏ hàng Thêm sản phẩm vào giỏ hàng
Xóa sản phẩm khỏi giỏ hàng Đặt mua
Thông báo đặt mua hàng qua email
Khi đặt hàng thành công thì hệ thống sẽ thông báo qua email Xem danh sách đơn hàng đã đặt
Quản lý đơn hàng Hủy đơn hàng
Tác nhân Chức năng Chức năng con Sự kiện
Thông báo qua email khi có đơn hàng được cập nhật
Xem danh sách đơn hàng của nhân viên Nhân viên giao hàng
Cập nhật trạng thái của đơn hàng
3.1.2 Yêu cầu phi chức năng
Bảng 3.2: Yêu cầu phi chức năng
STT Yêu cầu Chi tiết
1 Giao diện thiết kế - Hiển thị tốt trên các thiết bị khác nhau như điện thoại, máy tính bảng, laptop ;
- Giao diện dễ sử dụng và thao tác
2 Bảo mật - Bảo mật các thông tin quan trọng như mật khẩu, thông tin cá nhân của khách hàng, hóa đơn đã đặt
3 Khả năng chịu tải - Máy chủ đáp ứng tốt khi có nhiều người truy cập cùng một lúc;
- Máy chủ có khả năng hoạt động liên tục và chỉ phát sinh lỗi nhiều nhất là 2 lần một ngày.
PHÂN TÍCH CHỨC NĂNG
3.2.1 Phân tích chức năng của Admin a Đăng nhập
- Đầu vào: Form nhập email và mật khẩu
Hệ thống nhận yêu cầu;
Chuyển hướng cho Controller đăng nhập xử lý;
Controller đăng nhập kiểm tra form nhập và CSDL;
Controller đăng nhập xác nhận đăng nhập
Đăng nhập thành công: Chuyển hướng trang và thông báo thành công;
Đăng nhập thất bại: Thông báo đăng nhập thất bại b Quản lý tài khoản
Xem danh sách tài khoản:
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý tài khoản xử lý;
Controller quản lý tài khoản truy xuất danh sách tài khoản trong CSDL
Xác thực có quyền truy cập: Danh sách tài khoản;
Xác thực không có quyền truy cập: Thông báo quyền truy cập bị hạn chế Thêm tài khoản mới:
- Đầu vào: Email, mật khẩu, nhập lại mật khẩu, tên, số điện thoại và địa chỉ
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý tài khoản xử lý;
Controller quản lý tài khoản kiểm tra thông tin trên form;
Controller quản lý tài khoản thêm tài khoản mới vào CSDL
Thêm thành công: Thông báo thêm tài khoản mới thành công;
Thêm không thành công: Thông báo thêm tài khoản không thành công Chỉnh sửa tài khoản:
- Đầu vào: Email, mật khẩu, nhập lại mật khẩu, tên, số điện thoại, địa chỉ và id tài khoản
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý tài khoản xử lý;
Controller quản lý tài khoản kiểm tra thông tin trên form;
Controller quản lý chỉnh sửa tài khoản trong CSDL
Chỉnh sửa thành công: Thông báo chỉnh sửa tài khoản mới thành công;
Chỉnh sửa không thành công: Thông báo chỉnh sửa tài khoản không thành công
- Đầu vào: Id tài khoản
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý tài khoản xử lý;
Controller quản lý tài khoản kiểm tra id tài khoản;
Controller quản lý xóa trong CSDL
Xóa thành công: Thông báo xóa tài khoản mới thành công;
Xóa không thành công: Thông báo xóa tài khoản không thành công c Quản lý thương hiệu
Xem danh sách thương hiệu:
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý thương hiệu xử lý;
Controller quản lý thương hiệu truy xuất danh sách thương hiệu trong CSDL
Xác thực có quyền truy cập: Danh sách thương hiệu;
Xác thực không có quyền truy cập: Thông báo quyền truy cập bị hạn chế Thêm thương hiệu mới:
- Đầu vào: Tên thương hiệu và mô tả
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý thương hiệu xử lý;
Controller quản lý thương hiệu kiểm tra thông tin trên form;
Controller quản lý thương hiệu thêm thương hiệu mới vào CSDL
Thêm thành công: Thông báo thêm thương hiệu mới thành công;
Thêm không thành công: Thông báo thêm thương hiệu không thành công Chỉnh sửa thương hiệu:
- Đầu vào: Tên thương hiệu, mô tả và id thương hiệu
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý thương hiệu xử lý;
Controller quản lý thương hiệu kiểm tra thông tin trên form;
Controller quản lý chỉnh sửa thương hiệu trong CSDL
Chỉnh sửa thành công: Thông báo chỉnh sửa thương hiệu mới thành công;
Chỉnh sửa không thành công: Thông báo chỉnh sửa thương hiệu không thành công
- Đầu vào: Id thương hiệu
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý thương hiệu xử lý;
Controller quản lý thương hiệu kiểm tra id thương hiệu;
Controller quản lý xóa trong CSDL
Xóa thành công: Thông báo xóa thương hiệu mới thành công;
Xóa không thành công: Thông báo xóa thương hiệu không thành công d Quản lý danh mục sản phẩm
Xem danh sách danh mục:
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý danh mục xử lý;
Controller quản lý danh mục truy xuất danh sách danh mục trong CSDL
Xác thực có quyền truy cập: Danh sách danh mục;
Xác thực không có quyền truy cập: Thông báo quyền truy cập bị hạn chế Thêm danh mục mới:
- Đầu vào: Tên danh mục và mô tả
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý danh mục xử lý;
Controller quản lý danh mục kiểm tra thông tin trên form;
Controller quản lý danh mục thêm danh mục mới vào CSDL
Thêm thành công: Thông báo thêm danh mục mới thành công;
Thêm không thành công: Thông báo thêm danh mục không thành công Chỉnh sửa danh mục:
- Đầu vào: Tên danh mục, mô tả và id danh mục
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý danh mục xử lý;
Controller quản lý danh mục kiểm tra thông tin trên form;
Controller quản lý chỉnh sửa danh mục trong CSDL
Chỉnh sửa thành công: Thông báo chỉnh sửa danh mục mới thành công;
Chỉnh sửa không thành công: Thông báo chỉnh sửa danh mục không thành công
- Đầu vào: Id danh mục
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý danh mục xử lý;
Controller quản lý danh mục kiểm tra id danh mục;
Controller quản lý xóa trong CSDL
Xóa thành công: Thông báo xóa danh mục mới thành công;
Xóa không thành công: Thông báo xóa danh mục không thành công e Quản lý sản phẩm
Xem danh sách sản phẩm:
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý sản phẩm xử lý;
Controller quản lý sản phẩm truy xuất danh sách sản phẩm trong CSDL
Xác thực có quyền truy cập: Danh sách sản phẩm;
Xác thực không có quyền truy cập: Thông báo quyền truy cập bị hạn chế Thêm sản phẩm mới:
- Đầu vào: Tên sản phẩm, giá gốc, giá hiện tại, đã bán, số lượng và mô tả
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý sản phẩm xử lý;
Controller quản lý sản phẩm kiểm tra thông tin trên form;
Controller quản lý sản phẩm thêm sản phẩm mới vào CSDL
Thêm thành công: Thông báo thêm sản phẩm mới thành công;
Thêm không thành công: Thông báo thêm sản phẩm không thành công Chỉnh sửa sản phẩm:
- Đầu vào: Form chỉnh sửa sản phẩm và id sản phẩm
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý sản phẩm xử lý;
Controller quản lý sản phẩm kiểm tra thông tin trên form;
Controller quản lý chỉnh sửa sản phẩm trong CSDL
Chỉnh sửa thành công: Thông báo chỉnh sửa sản phẩm mới thành công;
Chỉnh sửa không thành công: Thông báo chỉnh sửa sản phẩm không thành công
- Đầu vào: Tên sản phẩm, giá gốc, giá hiện tại, đã bán, số lượng, mô tả và id sản phẩm
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý sản phẩm xử lý;
Controller quản lý sản phẩm kiểm tra id sản phẩm;
Controller quản lý xóa trong CSDL
Xóa thành công: Thông báo xóa sản phẩm mới thành công;
Xóa không thành công: Thông báo xóa sản phẩm không thành công f Quản lý đơn hàng
Xem danh sách đơn hàng:
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý đơn hàng xử lý;
Controller quản lý đơn hàng truy xuất danh sách đơn hàng trong CSDL
Xác thực có quyền truy cập: Danh sách đơn hàng;
Xác thực không có quyền truy cập: Thông báo quyền truy cập bị hạn chế Xác nhận đơn hàng:
- Đầu vào: Id đơn hàng
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý đơn hàng xử lý;
Controller quản lý đơn hàng kiểm tra id trong CSDL;
Controller quản lý đơn hàng cập nhật đơn hàng trong CSDL
Xác nhận thành công: Thông báo xác nhận thành công;
Xác nhận không thành công: Thông báo xác nhận không thành công Xác nhận đã giao hàng:
- Đầu vào: Id đơn hàng
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý đơn hàng xử lý;
Controller quản lý đơn hàng kiểm tra id trong CSDL;
Controller quản lý đơn hàng cập nhật đơn hàng trong CSDL
Xác nhận thành công: Thông báo xác nhận thành công;
Xác nhận không thành công: Thông báo xác nhận không thành công Xóa đơn hàng:
- Đầu vào: Id đơn hàng
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý đơn hàng xử lý;
Controller quản lý đơn hàng kiểm tra id đơn hàng;
Controller quản lý xóa trong CSDL
Xóa thành công: Thông báo xóa đơn hàng mới thành công;
Xóa không thành công: Thông báo xóa đơn hàng không thành công g Quản lý voucher
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý voucher xử lý;
Controller quản lý voucher truy xuất danh sách voucher trong CSDL
Xác thực có quyền truy cập: Danh sách voucher;
Xác thực không có quyền truy cập: Thông báo quyền truy cập bị hạn chế Thêm voucher mới:
- Đầu vào: Mã voucher, tên voucher, mức giảm giá, ngày hiệu lực và ngày hết hạn
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý voucher xử lý;
Controller quản lý voucher kiểm tra thông tin trên form;
Controller quản lý voucher thêm voucher mới vào CSDL
Thêm thành công: Thông báo thêm voucher mới thành công;
Thêm không thành công: Thông báo thêm voucher không thành công
- Đầu vào: Mã voucher, tên voucher, mức giảm giá, ngày hiệu lực và ngày hết hạn và id voucher
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý voucher xử lý;
Controller quản lý voucher kiểm tra thông tin trên form;
Controller quản lý chỉnh sửa voucher trong CSDL
Chỉnh sửa thành công: Thông báo chỉnh sửa voucher mới thành công;
Chỉnh sửa không thành công: Thông báo chỉnh sửa voucher không thành công
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý voucher xử lý;
Controller quản lý voucher kiểm tra id voucher;
Controller quản lý xóa trong CSDL
Xóa thành công: Thông báo xóa voucher mới thành công;
Xóa không thành công: Thông báo xóa voucher không thành công
3.2.2 Phân tích chức năng của khách hàng a Đăng ký
- Đầu vào: Form đăng ký
Hệ thống nhận yêu cầu;
Chuyển hướng cho Controller đăng ký xử lý;
Controller đăng ký kiểm tra form nhập và CSDL;
Controller đăng ký thêm tài khoản mới vào CSDL
Đăng ký thành công: Chuyển hướng sang trang đăng nhập và thông báo thành công;
Đăng ký thất bại: Thông báo đăng ký thất bại b Đăng nhập
- Đầu vào: Form nhập email và mật khẩu
Hệ thống nhận yêu cầu;
Chuyển hướng cho Controller đăng nhập xử lý;
Controller đăng nhập kiểm tra form nhập và CSDL;
Controller đăng nhập xác nhận đăng nhập
Đăng nhập thành công: Chuyển hướng trang và thông báo thành công;
Đăng nhập thất bại: Thông báo đăng nhập thất bại c Xem sản phẩm
Hệ thống nhận yêu cầu;
Hệ thống chuyển hướng cho Controller quản lý sản phẩm xử lý;
Controller quản lý sản phẩm truy xuất danh sách sản phẩm trong CSDL
- Đầu ra: Danh sách sản phẩm d Tìm kiếm sản phẩm
Hệ thống nhận yêu cầu;
Hệ thống chuyển hướng cho Controller quản lý sản phẩm xử lý;
Controller quản lý sản phẩm truy xuất danh sách sản phẩm theo từ khóa trong CSDL
- Đầu ra: Danh sách sản phẩm e Xem chi tiết sản phẩm
- Đầu vào: Id sản phẩm
Hệ thống nhận yêu cầu;
Hệ thống chuyển hướng cho Controller quản lý sản phẩm xử lý;
Controller quản lý sản phẩm truy xuất sản phẩm theo id trong CSDL
- Đầu ra: Thông tin sản phẩm f Tra cứu lịch trình đơn hàng
- Đầu vào: Mã đơn hàng
Hệ thống nhận yêu cầu;
Hệ thống chuyển hướng cho Controller quản lý đơn hàng xử lý;
Controller quản lý sản phẩm truy xuất sản phẩm theo mã đơn hàng trong CSDL
- Đầu ra: Thông tin đơn hàng g Quản lý giỏ hàng
Xem danh sách giỏ hàng:
Hệ thống nhận yêu cầu;
Hệ thống chuyển hướng cho controller quản lý giỏ hàng xử lý;
Controller quản lý giỏ hàng kiểm tra quyền truy cập;
Controller tải khoản truy xuất dữ liệu giỏ hàng từ CSDL;
Cho phép truy cập: Danh sách giỏ hàng;
Không cho phép truy cập: Thông báo quyền bị giới hạn
Thêm sản phẩm vào giỏ hàng:
- Đầu vào: Form thêm giỏ hàng
Hệ thống nhận yêu cầu;
Hệ thống chuyển hướng cho controller quản lý giỏ hàng xử lý;
Controller quản lý giỏ hàng kiểm tra quyền truy cập;
Controller quản lý giỏ hàng kiểm tra đảm bảo form nhập đầy đủ thông tin và đúng kiểu dữ liệu;
Controller quản lý giỏ hàng thêm sản phẩm vào giỏ hàng
Cho phép thêm: Thông báo thêm thành công;
Không cho phép thêm: Thông báo lỗi thêm không thành công
Xóa sản phẩm khỏi giỏ hàng:
- Đầu vào: Id giỏ hàng
Hệ thống nhận yêu cầu;
Hệ thống chuyển hướng cho controller quản lý giỏ hàng xử lý;
Controller quản lý giỏ hàng kiểm tra quyền truy cập;
Controller quản lý giỏ hàng kiểm tra id giỏ hàng trong hệ thống;
Controller quản lý giỏ hàng xóa sản phẩm khỏi giỏ hàng
Cho phép xóa: Thông báo xóa thành công;
Không cho phép xóa: Thông báo lỗi xóa không thành công
- Đầu vào: Danh sách sản phẩm
Hệ thống nhận yêu cầu;
Hệ thống chuyển hướng cho controller quản lý giỏ hàng xử lý;
Controller quản lý giỏ hàng kiểm tra quyền truy cập;
Controller quản lý giỏ hàng kiểm tra đảm bảo form nhập đầy đủ thông tin và đúng kiểu dữ liệu;
Controller quản lý giỏ hàng thêm đơn hàng mới vào CSDL
Cho phép thêm: Thông báo thêm thành công;
Không cho phép thêm: Thông báo lỗi thêm không thành công h Quản lý dơn hàng
Xem danh sách đơn hàng:
Hệ thống nhận yêu cầu;
Hệ thống chuyển hướng cho controller quản lý đơn hàng xử lý;
Controller quản lý đơn hàng kiểm tra quyền truy cập;
Controller tải khoản truy xuất dữ liệu đơn hàng từ CSDL;
Cho phép truy cập: Danh sách đơn hàng;
Không cho phép truy cập: Thông báo quyền bị giới hạn
- Đầu vào: Id đơn hàng
Hệ thống nhận yêu cầu;
Hệ thống chuyển hướng cho controller quản lý đơn hàng xử lý;
Controller quản lý đơn hàng kiểm tra quyền truy cập;
Controller quản lý đơn hàng kiểm tra id đơn hàng trong hệ thống;
Controller quản lý đơn hàng xóa đơn hàng trong CSDL
Cho phép xóa: Thông báo xóa thành công;
Không cho phép xóa: Thông báo lỗi xóa không thành công
3.2.3 Phân tích chức năng của nhân viên a Xem danh sách đơn hàng
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý đơn hàng xử lý;
Controller quản lý đơn hàng truy xuất danh sách đơn hàng trong CSDL
Xác thực có quyền truy cập: Danh sách đơn hàng;
Xác thực không có quyền truy cập: Thông báo quyền truy cập bị hạn chế b Xác nhận đơn hàng
- Đầu vào: Id đơn hàng
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý đơn hàng xử lý;
Controller quản lý đơn hàng kiểm tra id trong CSDL;
Controller quản lý đơn hàng cập nhật đơn hàng trong CSDL
Xác nhận thành công: Thông báo xác nhận thành công;
Xác nhận không thành công: Thông báo xác nhận không thành công c Xác nhận đã giao hàng
- Đầu vào: Id đơn hàng
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý đơn hàng xử lý;
Controller quản lý đơn hàng kiểm tra id trong CSDL;
Controller quản lý đơn hàng cập nhật đơn hàng trong CSDL
Xác nhận thành công: Thông báo xác nhận thành công;
Xác nhận không thành công: Thông báo xác nhận không thành công d Hủy đơn hàng
- Đầu vào: Id đơn hàng
Hệ thống nhận yêu cầu;
Bộ xác thực kiểm tra quyền truy cập;
Hệ thống chuyển hướng cho Controller quản lý đơn hàng xử lý;
Controller quản lý đơn hàng kiểm tra id đơn hàng;
Controller quản lý xóa trong CSDL
Xóa thành công: Thông báo xóa đơn hàng mới thành công;
Xóa không thành công: Thông báo xóa đơn hàng không thành công.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.3.1 Sơ đồ usecase a Tác nhân và usecase
Bảng 3.3: Mô tả tác nhân và usecase
1 Khách hàng Đăng ký; Đăng nhập;
Xem chi tiết sản phẩm;
Xem danh sách sản phẩm;
2 Nhân viên Xem đơn hàng;
3 Admin Quản lý sản phẩm;
Hình 3.1: Sơ đồ usecase tổng quát 3.3.3 Đặc tả sơ đồ usecase
Bảng 3.4: Đặc tả sơ đồ usecase đăng nhập
Tên Đăng nhập Định nghĩa Người dùng muốn đăng nhập vào hệ thống website
Tác nhân Admin, Nhân viên, Khách hàng Điều kiện tiên quyết - Người dùng chưa đăng nhập vào hệ thống
Dòng sự kiện chính 1 Người dùng nhấn nút đăng nhập
2 Hệ thống hiển thị giao diện đăng nhập, người dùng nhập tên tài khoản và mật khẩu và nhấn nút đăng nhập
3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì cho phép đăng nhập, nếu không thì thông báo lỗi
Dòng sự kiện thay thế Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Đăng nhập vào hệ thống
Hình 3.2: Sơ đồ usecase đăng nhập
Bảng 3.5: Đặc tả sơ đồ usecase đăng ký tài khoản
Tên Đăng ký tài khoản Định nghĩa Khách hàng muốn đăng ký một tài khoản mới vào hệ thống
Tác nhân Khách hàng Điều kiện tiên quyết - Người dùng đã truy cập trang đăng nhập
Dòng sự kiện chính 1 Từ trang đăng nhập, người dùng nhấn nút đăng ký
2 Hệ thống hiển thị giao diện đăng ký tài khoản, người dùng nhập thông tin được yêu cầu và nhấn nút đăng ký tài khoản
3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì hệ thống sẽ thêm tài khoản mới vào CSDL và thông báo thành công, ngược lại thông báo thất bại
Dòng sự kiện thay thế Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Tài khoản đã được đăng ký thành công
Hình 3.3: Sơ đồ usecase đăng ký tài khoản
Hình 3.4: Sơ đồ usecase quản lý tài khoản
Bảng 3.6: Đặc tả sơ đồ usecase thêm tài khoản
Tên Thêm tài khoản Định nghĩa Admin muốn thêm một tài khoản mới vào hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
- Người dùng đã truy cập giao diện danh sách tài khoản Dòng sự kiện chính 1 Từ trang xem danh sách tài khoản, người dùng nhấn nút thêm tài khoản
2 Hệ thống hiển thị giao diện thêm tài khoản, người dùng nhập thông tin được yêu cầu và nhấn nút thêm tài khoản
3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì hệ thống sẽ thêm tài khoản mới vào CSDL và thông báo thành công, ngược lại thông báo thất bại
Dòng sự kiện thay thế Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Tài khoản đã được thêm thành công
Hình 3.5: Sơ đồ usecase thêm tài khoản Bảng 3.7: Đặc tả sơ đồ usecase chỉnh sửa tài khoản
Tên Chỉnh sửa tài khoản Định nghĩa Admin muốn chỉnh sửa thông tin tài khoản trên hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
Người dùng đã truy cập vào giao diện danh sách tài khoản và từ đó, họ nhấn nút chỉnh sửa để thực hiện các thay đổi cần thiết cho tài khoản mà họ muốn sửa.
2 Hệ thống hiển thị giao diện chỉnh sửa tài khoản, người dùng nhập thông tin được yêu cầu và nhấn nút chỉnh sửa tài khoản
3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì hệ thống sẽ chỉnh sửa tài khoản trên CSDL và thông báo thành công, ngược lại thông báo thất bại
Dòng sự kiện thay thế Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Tài khoản đã được chỉnh sửa thành công
Hình 3.6: Sơ đồ usecase chỉnh sửa tài khoản Bảng 3.8: Đặc tả sơ đồ usecase xóa tài khoản
Tên Xóa tài khoản Định nghĩa Admin muốn xóa tài khoản trên hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
Người dùng đã truy cập vào giao diện danh sách tài khoản và thực hiện thao tác xóa bằng cách nhấn nút xóa tài khoản mà họ muốn loại bỏ.
2 Hệ thống hiển thị giao diện xác nhận tài khoản, người dùng nhấn xác nhận xóa tài khoản
3 Hệ thống xóa tài khoản trong CSDL
Dòng sự kiện thay thế Hiển thị thông báo không thể xóa tài khoản Điều kiện sau Tài khoản đã được xóa thành công
Hình 3.7: Sơ đồ usecase xóa tài khoản
- Quản lý danh mục sản phẩm:
Hình 3.8: Sơ đồ usecase Bảng 3.9: Đặc tả sơ đồ usecase thêm danh mục sản phẩm
Tên Thêm danh mục sản phẩm Định nghĩa Admin muốn thêm một danh mục sản phẩm mới vào hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
- Người dùng đã truy cập giao diện danh sách danh mục sản phẩm
Dòng sự kiện chính 1 Từ trang xem danh sách danh mục sản phẩm, người dùng nhấn nút thêm danh mục sản phẩm
2 Hệ thống hiển thị giao diện thêm danh mục sản phẩm, người dùng nhập thông tin được yêu cầu và nhấn nút thêm danh mục sản phẩm
3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì hệ thống sẽ thêm danh mục sản phẩm mới vào CSDL và thông báo thành công, ngược lại thông báo thất bại
Dòng sự kiện thay thế Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Danh mục sản phẩm đã được thêm thành công
Hình 3.9: Sơ đồ usecase thêm danh mục sản phẩm Bảng 3.10: Đặc tả sơ đồ usecase chỉnh sửa danh mục sản phẩm
Tên Chỉnh sửa danh mục sản phẩm Định nghĩa Admin muốn chỉnh sửa thông tin danh mục sản phẩm trên hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
- Người dùng đã truy cập giao diện danh sách danh mục sản phẩm
Dòng sự kiện chính 1 Từ trang xem danh sách danh mục sản phẩm, người dùng nhấn nút chỉnh sửa danh mục sản phẩm cần sửa
2 Hệ thống hiển thị giao diện chỉnh sửa danh mục sản phẩm, người dùng nhập thông tin được yêu cầu và nhấn nút chỉnh sửa danh mục sản phẩm
3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì hệ thống sẽ chỉnh sửa danh mục sản phẩm trên CSDL và thông báo thành công, ngược lại thông báo thất bại
Dòng sự kiện thay thế Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Danh mục sản phẩm đã được chỉnh sửa thành công
Hình 3.10: Sơ đồ usecase chỉnh sửa danh mục sản phẩm Bảng 3.11: Đặc tả sơ đồ usecase xóa danh mục sản phẩm
Tên Xóa danh mục sản phẩm Định nghĩa Admin muốn xóa danh mục sản phẩm trên hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
- Người dùng đã truy cập giao diện danh sách danh mục sản phẩm
Dòng sự kiện chính 1 Từ trang xem danh sách danh mục sản phẩm, người dùng nhấn nút xóa danh mục sản phẩm cần xóa
2 Hệ thống hiển thị giao diện xác nhận danh mục sản phẩm, người dùng nhấn xác nhận xóa danh mục sản phẩm
3 Hệ thống xóa danh mục sản phẩm trong CSDL
Dòng sự kiện thay thế Hiển thị thông báo không thể xóa danh mục sản phẩm Điều kiện sau Danh mục sản phẩm đã được xóa thành công
Hình 3.11: Sơ đồ usecase xóa danh mục sản phẩm
- Quản lý thương hiệu sản phẩm:
Hình 3.12: Sơ đồ usecase quản lý thương hiệu Bảng 3.12: Đặc tả sơ đồ usecase thêm thương hiệu sản phẩm
Tên Thêm thương hiệu sản phẩm Định nghĩa Admin muốn thêm một thương hiệu sản phẩm mới vào hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
- Người dùng đã truy cập giao diện danh sách thương hiệu sản phẩm
Dòng sự kiện chính 1 Từ trang xem danh sách thương hiệu sản phẩm, người dùng nhấn nút thêm thương hiệu sản phẩm
2 Hệ thống hiển thị giao diện thêm thương hiệu sản phẩm, người dùng nhập thông tin được yêu cầu và nhấn nút thêm thương hiệu sản phẩm
3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì hệ thống sẽ thêm thương hiệu sản phẩm mới vào CSDL và thông báo thành công, ngược lại thông báo thất bại
Dòng sự kiện thay thế Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Thương hiệu sản phẩm đã được thêm thành công
Hình 3.13: Sơ đồ usecase thêm thương hiệu sản phẩm Bảng 3.13: Đặc tả sơ đồ usecase chỉnh sửa thương hiệu sản phẩm
Tên Chỉnh sửa thương hiệu sản phẩm Định nghĩa Admin muốn chỉnh sửa thông tin thương hiệu sản phẩm trên hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
- Người dùng đã truy cập giao diện danh sách thương hiệu sản phẩm
Dòng sự kiện chính 1 Từ trang xem danh sách thương hiệu sản phẩm, người dùng nhấn nút chỉnh sửa thương hiệu sản phẩm cần sửa
2 Hệ thống hiển thị giao diện chỉnh sửa thương hiệu sản phẩm, người dùng nhập thông tin được yêu cầu và nhấn nút chỉnh sửa thương hiệu sản phẩm
3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì hệ thống sẽ chỉnh sửa thương hiệu sản phẩm trên CSDL và thông báo thành công, ngược lại thông báo thất bại
Dòng sự kiện thay thế Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Thương hiệu sản phẩm đã được chỉnh sửa thành công
Hình 3.14: Sơ đồ usecase chỉnh sửa thương hiệu sản phẩm
Bảng 3.14: Đặc tả sơ đồ usecase xóa thương hiệu sản phẩm
Tên Xóa thương hiệu sản phẩm Định nghĩa Admin muốn xóa thương hiệu sản phẩm trên hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
- Người dùng đã truy cập giao diện danh sách thương hiệu sản phẩm
Dòng sự kiện chính 1 Từ trang xem danh sách thương hiệu sản phẩm, người dùng nhấn nút xóa thương hiệu sản phẩm cần xóa
2 Hệ thống hiển thị giao diện xác nhận thương hiệu sản phẩm, người dùng nhấn xác nhận xóa thương hiệu sản phẩm
3 Hệ thống xóa thương hiệu sản phẩm trong CSDL
Dòng sự kiện thay thế Hiển thị thông báo không thể xóa thương hiệu sản phẩm Điều kiện sau Thương hiệu sản phẩm đã được xóa thành công
Hình 3.15: Sơ đồ usecase xóa thương hiệu sản phẩm
Hình 3.16: Sơ đồ usecase quản lý sản phẩm Bảng 3.15: Đặc tả sơ đồ usecase thêm sản phẩm
Tên Thêm sản phẩm Định nghĩa Admin muốn thêm một sản phẩm mới vào hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
- Người dùng đã truy cập giao diện danh sách sản phẩm Dòng sự kiện chính 1 Từ trang xem danh sách sản phẩm, người dùng nhấn nút thêm sản phẩm
2 Hệ thống hiển thị giao diện thêm sản phẩm, người dùng nhập thông tin được yêu cầu và nhấn nút thêm sản phẩm
3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì hệ thống sẽ thêm sản phẩm mới vào CSDL và thông báo thành công, ngược lại thông báo thất bại
Dòng sự kiện thay thế Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Sản phẩm đã được thêm thành công
Hình 3.17: Sơ đồ usecase thêm sản phẩm Bảng 3.16: Đặc tả sơ đồ usecase chỉnh sửa sản phẩm
Tên Chỉnh sửa sản phẩm Định nghĩa Admin muốn chỉnh sửa thông tin sản phẩm trên hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
Người dùng đã truy cập vào giao diện danh sách sản phẩm và từ đây, họ có thể nhấn nút chỉnh sửa để thay đổi thông tin của sản phẩm cần sửa.
2 Hệ thống hiển thị giao diện chỉnh sửa sản phẩm, người dùng nhập thông tin được yêu cầu và nhấn nút chỉnh sửa sản phẩm
3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì hệ thống sẽ chỉnh sửa sản phẩm trên CSDL và thông báo thành công, ngược lại thông báo thất bại
Dòng sự kiện thay thế Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Sản phẩm đã được chỉnh sửa thành công
Hình 3.18: Sơ đồ usecase chỉnh sửa sản phẩm
Bảng 3.17: Đặc tả sơ đồ usecase xóa sản phẩm
Tên Xóa sản phẩm Định nghĩa Admin muốn xóa sản phẩm trên hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
Người dùng đã truy cập vào giao diện danh sách sản phẩm và từ đây, họ có thể xóa sản phẩm bằng cách nhấn nút xóa tương ứng với sản phẩm cần loại bỏ.
2 Hệ thống hiển thị giao diện xác nhận sản phẩm, người dùng nhấn xác nhận xóa sản phẩm
3 Hệ thống xóa sản phẩm trong CSDL
Dòng sự kiện thay thế Hiển thị thông báo không thể xóa sản phẩm Điều kiện sau Sản phẩm đã được xóa thành công
Hình 3.19: Sơ đồ usecase xóa sản phẩm
Hình 3.20: Sơ đồ usecase quản lý voucher Bảng 3.18: Đặc tả sơ đồ usecase thêm voucher
Tên Thêm voucher Định nghĩa Admin muốn thêm một voucher mới vào hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
- Người dùng đã truy cập giao diện danh sách voucher Dòng sự kiện chính 1 Từ trang xem danh sách voucher, người dùng nhấn nút thêm voucher
2 Hệ thống hiển thị giao diện thêm voucher, người dùng nhập thông tin được yêu cầu và nhấn nút thêm voucher
3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì hệ thống sẽ thêm voucher mới vào CSDL và thông báo thành công, ngược lại thông báo thất bại
Dòng sự kiện thay thế Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Voucher đã được thêm thành công
Hình 3.21: Sơ đồ usecase thêm voucher Bảng 3.19: Đặc tả sơ đồ usecase chỉnh sửa voucher
Tên Chỉnh sửa voucher Định nghĩa Admin muốn chỉnh sửa thông tin voucher trên hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
- Người dùng đã truy cập giao diện danh sách voucher Dòng sự kiện chính 1 Từ trang xem danh sách voucher, người dùng nhấn nút chỉnh sửa voucher cần sửa
2 Hệ thống hiển thị giao diện chỉnh sửa voucher, người dùng nhập thông tin được yêu cầu và nhấn nút chỉnh sửa voucher
3 Hệ thống kiểm tra thông tin, nếu thông tin hợp lệ thì hệ thống sẽ chỉnh sửa voucher trên CSDL và thông báo thành công, ngược lại thông báo thất bại
Dòng sự kiện thay thế Hiển thị thông báo thông tin không hợp lệ Điều kiện sau Voucher đã được chỉnh sửa thành công
Hình 3.22: Sơ đồ usecase chỉnh sửa voucher Bảng 3.20: Đặc tả sơ đồ usecase xóa voucher
Tên Xóa voucher Định nghĩa Admin muốn xóa voucher trên hệ thống
Tác nhân Admin Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin
- Người dùng đã truy cập giao diện danh sách voucher Dòng sự kiện chính 1 Từ trang xem danh sách voucher, người dùng nhấn nút xóa voucher cần xóa
2 Hệ thống hiển thị giao diện xác nhận voucher, người dùng nhấn xác nhận xóa voucher
3 Hệ thống xóa voucher trong CSDL
Dòng sự kiện thay thế Hiển thị thông báo không thể xóa voucher Điều kiện sau Voucher đã được xóa thành công
Hình 3.23: Sơ đồ usecase xóa voucher
Hình 3.24: Sơ đồ usecase quản lý đơn hàng Bảng 3.21: Đặc tả sơ đồ usecase xác nhận đơn hàng
Tên Xác nhận đơn hàng Định nghĩa Người dùng muốn xác nhận đơn hàng của khách hàng
Tác nhân Admin, Nhân viên Điều kiện tiên quyết - Người dùng đã đăng nhập bằng hệ thống với quyền Admin hoặc Nhân viên