Tổng quan về đề tài
Lý do chọn đề tài
Trong thời gian công nghệ ngày càng phát triển, chúng ta thường coi sức khỏe là ưu tiên sau cùng trong cuộc sống hằng ngày Vì thế em chọn đề tài này để mọi người có thể dễ dàng tăng cường sức khỏe của bản thân một cách nhanh chóng tiện lợi và hiệu quả.
Mục tiêu
- Tìm hiểu và nghiên cứu cách thiết kế một hệ thống NetCore.
- Sử dụng các nghiên cứu đó để xây dựng hệ thống với NetCore cho cho ứng dụng tư vấn thực phẩm chức năng.
Phạm vi nghiên cứu
● Phạm vi môi trường: o Triển khai ứng dụng trên môi trường web.
● Phạm vi chức năng: o Quản lý thông tin sản phẩm o Quản lý giỏ hàng o Tìm kiếm sản phẩm theo nhu cầu o Phân loại các sản phẩm o Đánh giá các sản phẩm
Đối tượng sử dụng
Phương pháp thực hiện
- Tìm hiểu về NetCore và một số thư viện khác.
- Khảo sát các website bán hàng có trên thị trường để xác định các yêu cầu, tính năng của ứng dụng.
- Nghiên cứu các công nghệ cần thiết để xây dựng hệ thống Backend.
- Xây dựng hệ thống Backend kết nối với cơ sở dữ liệu.
- Thiết kế giao diện website cho người dùng và cho quản trị viên
Công nghệ
- Front-end: Reactjs với Redux.
Công nghệ sử dụng
ASP.NET Core
ASP.NET Core là một framework đa nền tảng, mã nguồn mở của Microsoft để xây dựng các ứng dụng hiện đại, sử dụng điện toán đám mây và kết nối internet, đi kèm với rất nhiều tính năng phục vụ nhu cầu phát triển một ứng dụng web một hệ thống Backend cho các ứng dụng hiện đại Các tiện ích có được khi sử dụng ASP.NET Core là:
● Đa nền tảng: ASP.NET Core được thiết kế để có thể chạy trên Windows,
Linux và MacOs Cung cấp tính linh hoạt khi chọn môi trường xây dựng và triển khai ứng dụng.
● Mã nguồn mở: ASP.NET Core là mã nguồn mở, thúc đẩy sự cộng tác của cộng đồng và cho phép các nhà phát triển đóng góp vào việc cải tiến nó.
● Kiến trúc mô-đun và lightweight: Framework này bao gồm một thiết kế mô-đun, cho phép các nhà phát triển chỉ đưa vào các thành phần cần thiết cho ứng dụng của họ Kiến trúc lightweight này giúp cải thiện hiệu suất, khả năng mở rộng và dễ bảo trì.
● Hỗ trợ Container: ASP.NET Core hỗ trợ các công nghệ container hóa như Docker, cho phép các nhà phát triển đóng gói các ứng dụng cùng với các phần phụ thuộc của chúng Điều này giúp việc triển khai trở nên đơn giản hơn và nâng cao khả năng mở rộng cũng như tính nhất quán trên các môi trường khác nhau.
Razor Pages là một mô hình lập trình trang nhẹ và trực quan trong
ASP.NET Core giúp đơn giản hóa việc phát triển các trang web, đặc biệt đối với các tình huống có định tuyến và logic ít phức tạp hơn so với mô hình Model-View-Controller (MVC) Razor Pages được thiết kế để giúp các nhà phát triển xây dựng ứng dụng web dễ dàng hơn với trọng tâm là sự đơn giản và năng suất.
Trong Razor Pages, mỗi trang được liên kết với một tệp Razor (.cshtml) chứa cả đánh dấu HTML và mã C# để xử lý các yêu cầu và hiển thị trang Tệp này được cấu trúc theo cách kết hợp View và Controller thành một đơn vị độc lập, duy nhất.
Trang Razor tuân theo mô hình code-behind, trong đó mã C# liên kết với một trang được đặt trong một tệp riêng biệt có phần mở rộng
".cshtml.cs" Sự tách biệt này giúp duy trì cấu trúc mã rõ ràng và có tổ chức.
Trang Razor tích hợp liền mạch với các tính năng khác của ASP.NET Core, chẳng hạn như xác thực, ủy quyền và phần mềm trung gian Các nhà phát triển có thể tận dụng toàn bộ khả năng mà khung này cung cấp.
Razor Pages cung cấp một cách tiếp cận thực tế để phát triển web, đặc biệt đối với các tình huống trong đó sự phức tạp của mô hình MVC có thể là không cần thiết Mặc dù MVC vẫn là một lựa chọn mạnh mẽ cho các ứng dụng mở rộng hơn, Razor Pages cung cấp cách tiếp cận hợp lý và tập trung để xây dựng các trang web cụ thể với cấu trúc mã rõ ràng và có thể bảo trì Các nhà phát triển có thể lựa chọn giữa Razor Pages và MVC dựa trên yêu cầu và độ phức tạp của dự án của họ.
Dependency Injection (DI) là một mẫu thiết kế và một kỹ thuật được sử dụng trong phát triển phần mềm để đạt được loose coupling giữa các thành phần và tạo cho khả năng kiểm tra và bảo trì tốt hơn Trong ASP.NET Core, Dependency
Injection là một tính năng tích hợp giúp đơn giản hóa việc quản lý các phần phụ thuộc của đối tượng và thúc đẩy việc sử dụng các thành phần mô-đun, được liên kết lỏng lẻo.
ASP.NET Core đi kèm với một dependency injection container nhẹ và tích hợp sẵn để quản lý các dependency của các thành phần trong toàn bộ ứng dụng.
DI Container trong ASP.NET Core được ghi nhận và cấu hình trong lớp “Start up”, cụ thể là trong phương thức configureServices Phương thức này được gọi trong thời gian chạy để định cấu hình các services của ứng dụng.
Các services trong ASP.NET Core đại diện cho các dependency hoặc componenents có thể được đưa vào các phần khác của ứng dụng Các services thường được đăng ký trong vùng chứa DI trong quá trình khởi động ứng dụng.
Các services có thể thuộc một trong ba kiểu vòng đời sau:
● Transient: Một instance mới của services sẽ được tạo mỗi khi được yêu cầu.
● Scoped: Một instance duy nhất được tạo cho từng scope (thông thường, phạm vi đó tương đương với một yêu cầu web).
● Singleton: Một instance duy nhất được tạo và chia sẻ trên toàn bộ ứng dụng.
Middleware là một khái niệm cơ bản trong ASP.NET Core, đại diện cho một loạt các thành phần tạo thành một đường dẫn để xử lý các yêu cầu và phản hồi Các thành phần này có thể thực hiện nhiều tác vụ khác nhau như định tuyến, xác thực, ghi nhật ký, v.v Phần mềm trung gian được tổ chức theo một đường dẫn trong đó mỗi thành phần xử lý yêu cầu và chuyển nó đến thành phần phần mềm trung gian tiếp theo.
Các components của Middleware là các lớp triển khai giao diện
IMiddleware hoặc một đại biểu phù hợp với chữ ký của Func Mỗi thành phần trong quy trình có thể xử lý yêu cầu đến, sửa đổi phản hồi hoặc thực hiện các tác vụ khác.
ASP.NET Core bao gồm một tập hợp các thành phần phần mềm trung gian tích hợp sẵn để xử lý các tác vụ thông thường Một số ví dụ bao gồm:
● UseRouting: Thiết lập định tuyến cho ứng dụng.
● UseAuthentication và UseAuthorization: Cho phép xác thực và ủy quyền.
● UseStaticFiles: Cho phép phục vụ các tệp tĩnh.
● UseMvc: Thiết lập khung MVC.
Clean Architecture
Clean Architecture là một kiến trúc nhằm tạo ra các hệ thống phần mềm có thể mở rộng, có thể bảo trì và linh hoạt bằng cách tách biệt các mối quan hệ và tổ chức code theo cách giảm thiểu sự phụ thuộc sự phụ thuộc giữa các đối tượng và các layer, cho phép chúng ta khả năng cô lập kiểm thử.
Clean Architecture chỉ ra rằng sự phụ thuộc hướng về trung tâm dựa trên Nguyên tắc đảo ngược phụ thuộc (Dependency Inversion Principle Vòng tròn bên trong không hề biết gì về các vòng tròn bên ngoài Hơn nữa, khi chúng ta truyền dữ liệu qua một ranh giới (Boundary), nó luôn ở dạng thuận tiện nhất cho vòng tròn phía trong Trong Clean Architecture sẽ bao gồm 4 layer:
● Entities: Các Entities đại diện cho các đối tượng kinh doanh cốt lõi và chứa các quy tắc kinh doanh Chúng nằm ở trung tâm của kiến trúc và độc lập với các lớp bên ngoài.
● Use Cases: Các Use Cases sử dụng chứa các quy tắc kinh doanh dành riêng cho ứng dụng Chúng điều phối luồng dữ liệu giữa các thực thể và đảm bảo rằng các quy tắc kinh doanh được áp dụng phù hợp.
● Interface Adapters: Interface Adapters chuyển đổi dữ liệu giữa các Use
Cases và Entities Chúng chịu trách nhiệm liên lạc với các yếu tố bên ngoài, chẳng hạn như cơ sở dữ liệu hoặc giao diện người dùng.
● Frameworks và Drivers: Lớp ngoài cùng chứa các frameworks, công cụ và drivers bên ngoài như cơ sở dữ liệu, UI framworks hoặc web framworks Các yếu tố này có thể thay đổi mà không ảnh hưởng đến logic kinh doanh cốt lõi.
Docker là một nền tảng mã nguồn mở cho phép xây dựng, vận chuyển và chạy các ứng dụng trong các container Docker cho phép tách các ứng dụng khỏi cơ sở hạ tầng để có thể cung cấp phần mềm nhanh chóng Với Docker, ta có thể quản lý cơ sở hạ tầng của mình theo cách giống như ta quản lý các ứng dụng của mình.
Một số tính năng chính của Docker bao gồm:
● Mã nguồn mở: Docker cho phép cộng đồng đóng góp và cải tiến nó.
● Đóng gói ứng dụng: Docker cho phép đóng gói và vận chuyển các ứng dụng của mình một cách đơn giản, nhẹ và nhất quán.
● Vòng đời phát triển nhanh và hiệu quả: Docker giúp rút ngắn thời gian phát triển bằng cách cho phép các lập trình viên làm việc trong các môi trường giống nhau sử dụng các local container cung cấp các ứng dụng và dependency cần thiết.
● Phân tách trách nhiệm: Docker cho phép phân tách trách nhiệm giữa các nhóm khác nhau.
● Bảo mật: Docker cung cấp các tính năng bảo mật để bảo vệ các ứng dụng và dữ liệu của.
● Khả năng mở rộng: Docker cho phép mở rộng các ứng dụng của mình một cách linh hoạt thông qua việc cập nhật các image một cách nhanh chóng.
Quá trình đóng gói một ứng dụng thành một image trong Docker sẽ tạo ra một image chứa tất cả các thành phần cần thiết để chạy ứng dụng đó, bao gồm mã nguồn, thư viện, biến môi trường và các tệp cấu hình Điều này cho phép triển khai ứng dụng của mình một cách dễ dàng và nhất quán trên bất kỳ máy chủ nào có Docker được cài đặt. Để đóng gói một ứng dụng thành một image Docker, ta cần thực hiện các bước sau:
● Tạo một tệp Dockerfile trong thư mục chứa mã nguồn của ứng dụng Tệp Dockerfile này sẽ chứa các chỉ thị để xây dựng image Docker.
● Trong tệp Dockerfile, chỉ định image mà ta muốn sử dụng làm base cho image của cần build Image base này có thể là một image hệ điều hành hoặc một image có sẵn từ kho lưu trữ Docker Hub ( ASP.NET ).
● Sao chép mã nguồn và các tệp cấu hình của ứng dụng vào image.
● Cài đặt các thư viện cần thiết cho ứng dụng.
● Định nghĩa biến môi trường và các thông số khác cho ứng dụng.
● Khai báo lệnh để chạy ứng dụng khi container được khởi chạy từ image.
JSON Web Token
Hình 3.1.1.1 Sơ đồ kiến trúc hệ thống
Bảng 3.1.2.1 Kiến trúc hệ thống
1 Domain Đó là cốt lõi của kiến trúc, nơi logic nghiệp vụ được triển khai Ngoài ra, lớp này không phụ thuộc vào bất kỳ lớp và chức năng nào khác theo mã được viết bằng các lớp và giao diện.
Lớp ứng dụng nằm ở giữa lớp trình bày và lớp miền và có chức năng trung gian giữa chúng
Về cơ bản, nó duy trì dữ liệu giữa các lớp tương ứng nhưng độc lập với cơ sở hạ tầng và lớp trình bày.
Tất cả các hệ thống tệp và cơ sở dữ liệu được cấu hình ở lớp cơ sở hạ tầng Nó hỗ trợ ứng dụng tương tác với các thành phần bên ngoài để duy trì quy trình làm việc và xử lý dữ liệu.
4 Presentation Như tên đã xác định, lớp trình bày dùng để
Phân tích và thiết kế hệ thống
Xây dựng hệ thống
Hình 3.1.1.1 Sơ đồ kiến trúc hệ thống
Bảng 3.1.2.1 Kiến trúc hệ thống
1 Domain Đó là cốt lõi của kiến trúc, nơi logic nghiệp vụ được triển khai Ngoài ra, lớp này không phụ thuộc vào bất kỳ lớp và chức năng nào khác theo mã được viết bằng các lớp và giao diện.
Lớp ứng dụng nằm ở giữa lớp trình bày và lớp miền và có chức năng trung gian giữa chúng
Về cơ bản, nó duy trì dữ liệu giữa các lớp tương ứng nhưng độc lập với cơ sở hạ tầng và lớp trình bày.
Tất cả các hệ thống tệp và cơ sở dữ liệu được cấu hình ở lớp cơ sở hạ tầng Nó hỗ trợ ứng dụng tương tác với các thành phần bên ngoài để duy trì quy trình làm việc và xử lý dữ liệu.
4 Presentation Như tên đã xác định, lớp trình bày dùng để viết mã giao diện ASP.NET Core được sử dụng để xây dựng giao diện Bạn nên thuê một nhà phát triển NET chuyên dụng cho việc đó vì họ đảm bảo GUI hấp dẫn và mượt mà để mang lại tỷ lệ hài lòng cho người dùng tốt hơn.
Phân tích yêu cầu
Bảng 3.2.1.1 Yêu cầu chức năng
Nhóm chức năng Chức năng Mô tả
Người dùng Đăng ký Đăng ký tài khoản mới cho người dùng Đăng nhập Người dùng đăng nhập vào tài khoản
Tìm kiếm Người dùng nhập thông tin để tìm kiếm sản phẩm theo nhu cầu Xem tin tức Trang tin tức cho người dùng Đánh giá sản phẩm Người dùng cho đánh giá sản phẩm Thêm sản phẩm vào giỏ hàng
Người dùng thêm sản phẩm mới vào giỏ hàng Sửa sản phẩm trong giỏ hàng
Người dùng sửa thông tin sản phẩm trong giỏ hangf Xóa sản phẩm trong giỏ hàng
Người dùng xóa sản phẩm có trong giỏ hàng
Xử lý đơn hàng Quản lý tiến hành xử lý tình trạng đơn hàng Thêm sản phẩm Quản lý thêm sản phẩm mới Sửa sản phẩm Quản lý sửa sản phẩm được chọn Xóa sản phẩm Quản lý xóa sản phẩm được chọn Thêm tin tức Quản lý thêm tin tức mới
Sửa tin tức Quản lý sửa tin tức được chọnXóa tin tức Quản lý xóa tin tức được chọn
3.2.2 Yêu cầu phi chức năng
● Tính bảo mật: Phải đảm bảo an toàn thông tin dữ liệu của người dùng, ngăn chặn các cuộc tấn công từ bên ngoài, giảm thiểu tối đa rủi ro, rò rỉ thông tin tài khoản người dùng.
● Tính tiện dụng: Phần mềm thân thiện với người dùng, dễ sử dụng.
● Tính hiệu quả: Đảm bảo tốc độ xử lý ổn định, nhanh chóng.
● Tính tương thích: Ứng dụng có thể chạy ổn định và tương thích với nhiều nền tảng trên nhiều hệ điều hành khác nhau.
Sơ đồ use-case
Hình 3.2.2.1 Sơ đồ use-case
Hình 3.2.2.2 Sơ đồ phân rã use-case
1 Người dùng Là người dùng sử dụng website
2 Quản trị viên Là quản trị viên quản lý website admin
Bảng 3.3.2.1 Danh sách use-case
1 Đăng ký Đăng ký tài khoản mới cho người dùng
2 Đăng nhập Người dùng đăng nhập vào tài khoản
3 Tìm kiếm Người dùng nhập thông tin để tìm kiếm sản phẩm theo nhu cầu
4 Xem tin tức Trang tin tức cho người dùng
5 Đánh giá sản phẩm Người dùng cho đánh giá sản phẩm
6 Thêm sản phẩm vào giỏ hàng Người dùng thêm sản phẩm mới vào giỏ hàng
7 Sửa sản phẩm trong giỏ hàng
Người dùng sửa thông tin sản phẩm trong giỏ hangf
8 Xóa sản phẩm trong giỏ hàng Người dùng xóa sản phẩm có trong giỏ hàng
9 Xử lý đơn hàng Quản lý tiến hành xử lý tình trạng đơn hàng
10 Thêm sản phẩm Quản lý thêm sản phẩm mới
11 Sửa sản phẩm Quản lý sửa sản phẩm được chọn
12 Xóa sản phẩm Quản lý xóa sản phẩm được chọn
13 Thêm tin tức Quản lý thêm tin tức mới
14 Sửa tin tức Quản lý sửa tin tức được chọn
15 Xóa tin tức Quản lý xóa tin tức được chọn
Sơ đồ use-case
Bảng 3.4.1.1 Đặc tả use-case Đăng ký
Tên use-case Đăng ký
Mô tả Người dùng đăng ký tài khoản mới
Luồng chính 1 Người dùng nhấn vào nút đăng ký
2 Người dùng nhập thông tin để đăng ký tài khoản
3 Nhấn đăng ký để tiến hành đăng ký
4 Thông báo đăng ký thành công Luồng phụ Thông báo lỗi khi người dùng nhập sai định dạng
Không có Điều kiện trước Không có Điều kiện sau Tạo một tài khoản mới cho người dùng
Bảng 3.4.2.1 Đặc tả use-case Đăng nhập
Tên use-case Đăng nhập
Mô tả Người dùng đăng nhập vào tài khoản
Luồng chính 1 Người dùng nhấn vào nút đăng nhập
2 Người dùng nhập thông tin để đăng nhập tài khoản
3 Nhấn đăng nhập để tiến hành đăng nhập
4 Thông báo đăng nhập thành công Luồng phụ 3.1 Thông báo lỗi khi người dùng nhập sai định dạng
3.2 Thông báo lỗi khi tên tài khoản hoặc mật khẩu sai Yêu cầu đặc biệt
Không có Điều kiện trước Người dùng đã có một tài khoản trước đó Điều kiện sau Tạo một tài khoản mới cho người dùng
Bảng 3.4.3.1 Đặc tả use-case Tìm kiếm
Tên use-case Tìm kiếm
Mô tả Người dùng tiến hành tìm kiếm sản phẩm
Luồng chính 1 Người dùng nhập tên sản phẩm vào ô tìm kiếm
2 Người dùng chọn các bộ lọc, tùy chính
3 Hiển thị danh sách các sản phẩm sau khi được lọc Luồng phụ Không có
Không có Điều kiện trước Không có Điều kiện sau Dang sách các sản phẩm sau khi được lọc
Bảng 3.4.4.1 Đặc tả use-case Xem tin tức
Tên use-case Xem tin tức
Mô tả Người dùng xem tin tức từ hệ thống
Luồng chính 1 Người dùng nhấn vào nút tin tức
2 Người dùng nhấn vào tin tức để xem chi tiết Luồng phụ Không có
Không có Điều kiện trước Không có Điều kiện sau Không có
Bảng 3.4.5.1 Đặc tả use-case Đánh giá sản phẩm
Tên use-case Đánh giá sản phẩm
Mô tả Người dùng đánh giá sản phẩm được chọn
Luồng chính 1 Người dùng nhấn vào sản phẩm
2 Người dùng nhập vào phần đánh giá sản phẩm
3 Người dùng nhấn gửi Luồng phụ Không có
Không có Điều kiện trước Không có Điều kiện sau Không có
3.4.6 Thêm sản phẩm vào giỏ hàng
Bảng 3.4.6.1 Đặc tả use-case Thêm sản phẩm vào giỏ hàng
Tên use-case Thêm sản phẩm vào giỏ hàng
Mô tả Người dùng thêm sản phẩm vào giỏ hàng
Luồng chính 1 Người dùng nhấn vào sản phẩm
2 Người dùng nhấn vào nút thêm vào giỏ hàng
3 Nhấn thêm Luồng phụ Không có
Yêu cầu đặc Không có biệt Điều kiện trước Người dùng đã đăng nhập trước đó Điều kiện sau Thêm sản phẩm đã chọn vào giỏ hàng
3.4.7 Sửa sản phẩm trong giỏ hàng
Bảng 3.4.7.1 Đặc tả use-case Sửa sản phẩm trong giỏ hàng
Tên use-case Sửa sản phẩm trong giỏ hàng
Mô tả Người dùng sửa sản phẩm trong giỏ hàng
Luồng chính 1 Người dùng nhấn vào sản phẩm trong giỏ hàng
2 Người dùng điều chỉnh các tùy chỉnh theo nhu cầu Luồng phụ Thông báo lỗi khi người dùng nhập sai định dạng
Không có Điều kiện trước Người dùng đã đăng nhập trước đó Điều kiện sau Sửa một hồ sơ khám bệnh cho người dùng
3.4.8 Xóa sản phẩm trong giỏ hàng
Bảng 3.4.8.1 Đặc tả use-case Xóa sản phẩm trong giỏ hàng
Tên use-case Xóa sản phẩm trong giỏ hàng
Mô tả Người dùng xóa sản phẩm trong giỏ hàng
Luồng chính 1 Người dùng nhấn vào sản phẩm trong giỏ hàng
2 Người dùng nhấn vào nút xóa sản phẩm
3 Nhấn xác nhận Luồng phụ Không có
Không có Điều kiện trước Người dùng đã đăng nhập trước đó Điều kiện sau Xóa sản phẩm đã chọn khỏi giỏ hàng
Bảng 3.4.9.1 Đặc tả use-case Xử lý đơn hàng
Tên use-case Xử lý đơn hàng
Mô tả Quản lý xử lý đơn hàng
Luồng chính 1 Quản lý nhấn vào danh sách đơn hàng
2 Chọn đơn hàng để xử lý
3 Thông báo xử lý thành công Luồng phụ Không có
Không có Điều kiện trước Quản lý đăng nhập vào tài khoản quản lý Điều kiện sau Cập nhật đơn hàng ở hệ thống
Bảng 3.4.10.1 Đặc tả use-case Thêm sản phẩm
Tên use-case Thêm sản phẩm
Mô tả Quản lý thêm sản phẩm mới
Luồng chính 1 Quản lý nhấn vào thêm sản phẩm
2 Quản lý nhập những thông tin cần thiết
4 Thông báo thêm thành công Luồng phụ Thông báo lỗi khi người dùng nhập sai định dạng
Không có Điều kiện trước Quản lý đăng nhập vào tài khoản quản lý Điều kiện sau Thêm sản phẩm mới ở hệ thống
Bảng 3.4.11.1 Đặc tả use-case Sửa sản phẩm
Tên use-case Sửa sản phẩm
Mô tả Quản lý sửa sản phẩm được chọn
Luồng chính 1 Quản lý nhấn vào sản phẩm
2 Sửa thông tin sản phẩm được chọn
4 Thông báo sửa thành công Luồng phụ Thông báo lỗi khi người dùng nhập sai định dạng
Không có Điều kiện trước Quản lý đăng nhập vào tài khoản quản lý Điều kiện sau Sửa sản phẩm được chọn ở hệ thống
Bảng 3.4.12.1 Đặc tả use-case Xóa sản phẩm
Tên use-case Xóa sản phẩm
Mô tả Quản lý xóa sản phẩm
Luồng chính 1 Quản lý nhấn vào sản phẩm
2 Nhấn xóa sản phẩm được chọn
4 Thông báo xóa thành công Luồng phụ Không có
Không có Điều kiện trước Quản lý đăng nhập vào tài khoản quản lý Điều kiện sau Xóa sản phẩm được ở hệ thống
Bảng 3.4.13.1 Đặc tả use-case Thêm tin tức
Tên use-case Thêm tin tức
Mô tả Quản lý thêm tin tức mới
Luồng chính 1 Quản lý nhấn vào tin tức
3 Nhập cái thông tin cần thiết để thêm tin tức
4 Thông báo thêm thành công Luồng phụ Thông báo lỗi khi người dùng nhập sai định dạng
Không có Điều kiện trước Quản lý đăng nhập vào tài khoản quản lý Điều kiện sau Thêm tin tức mới ở hệ thống
Bảng 3.4.14.1 Đặc tả use-case Sửa tin tức
Tên use-case Sửa tin tức
Mô tả Quản lý sửa tin tức mới
Luồng chính 1 Quản lý nhấn vào tin tức
2 Sửa tin tức được chọn
3 Nhập cái thông tin cần thiết để sửa tin tức
4 Thông báo sửa thành công Luồng phụ Thông báo lỗi khi người dùng nhập sai định dạng
Không có Điều kiện trước Quản lý đăng nhập vào tài khoản quản lý Điều kiện sau Sửa tin tức được chọn ở hệ thống
Bảng 3.4.15.1 Đặc tả use-case Xóa tin tức
Tên use-case Xóa dịch vụ
Mô tả Quản lý xóa dịch vụ được chọn
Luồng chính 1 Quản lý nhấn vào dịch vụ
2 Nhân xóa dịch vụ được chọn
4 Thông báo xóa thành công Luồng phụ Không có
Không có Điều kiện trước Quản lý đăng nhập vào tài khoản quản lý Điều kiện sau Xóa dịch vụ được chọn ở hệ thống
Xây dựng website
Giao diện bên phía người dùng
Trang chủ là nơi giới thiệu tổng quan cửa hàng và trưng bày một số sản phẩm nổi bật của cửa hàng.
Hình 4.1.2.1 Màn hình đăng nhập
Người dùng tiến hành đăng nhập để có thể tiến hành thanh toán
Hình 4.1.3.1 Màn hình đăng ký
Người dùng nhập thông tin để tạo tài khoản mới
Hình 4.1.4.1 Màn hình tin tức
Người dùng có thể truy cập và xem những tin tức mới nhất của cửa hàng
Hình 4.1.5.1 Màn hình giỏ hàng
Người dùng có thể quản lý giỏ hàng của mình
Giao diện bên phía người dùng
Hình 4.2.1.1 Màn hình đăng nhập
Quản trị viên phải đăng nhập để tiếp tục
Hình 4.2.2.1 Màn hình tổng quan
Người quản trị hệ thống có thể xem tổng quan được các luồng đi của dữ liệu có trong hệ thống: Doanh số, các yêu cầu cần được xử lý và các biểu đồ liên quan đến bài toán doanh thu. Đồng thời ở mỗi số liệu / biểu đồ, đều có thể bấm vào để hiển thị danh sách liên quan đến những dữ liệu tương ứng.
Hình 4.2.4.1 Màn hình danh sách sản phẩm
Người quản trị hệ thống có thể quản lý: thêm / xóa / sửa các sản phẩm hiện có Sản phẩm có thể sửa mô tả bên trong, quản lý các comment và đánh giá của người dùng.