- Theo dõi và kiểm soát quá trình bán hàng nông sản từ khi thu hoạch đến khi tiêu thụ, bao gồm các thông tin về nguồn gốc, số lượng, giá cả, chất lượng, an toàn thực phẩm, v.v.- Phân tíc
Trang 1ĐẠI HỌC DUY TÂNTRƯỜNG KHOA HỌC MÁY TÍNHThành viên 2: Nguyễn Thu Thủy – 27201201171Thành viên 3: Thái Anh Tài – 27211200814
Đà Nẵng, tháng 10 năm 2023
Trang 2TỔNG QUAN DỰ ÁN
Tên dự án Xây Dựng Website bán nông sản Ngày bắt đầu - kết thúc Từ 23/08/2023 đến 15/10/2023 Trường Đại học Duy Tân
Tên GVHD ThS.LÊ MINH THÁI
Trang 3Ý nghĩa của đề tài 4
ĐỐI TƯỢNG NGHIÊN CỨU 4
PHẠM VI NGHIÊN CỨU 5
PHƯƠNG PHÁP NGHIÊN CỨU 5
PHẦN 1: PHÂN TÍCH YÊU CẦU HỆ THỐNG 6
1, PHÂN TÍCH YÊU CẦU 6
1.1 Yêu cầu chức năng 6
1.2 Yêu cầu phi chức năng 8
2, XÁC ĐỊNH CÁC ĐỐI TƯỢNG 8
PHẦN II: DESIGN (PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG) 10
ĐẶC TẢ YÊU CẦU CHỨC NĂNG 10
1.1 Mô tả hệ thống 10
1.2 Môi trường phát triển 10
1.3 Các yêu cầu by trợ khác (nếu có) 11
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 11
2.1 Tác nhân của hệ thống 11
2.2 Biểu đồ ca sử dụng (Use Case Diagram) 11
2.2.1 Use case chi tiết đăng kí 12
2.2.2 Use case chi tiết đăng nhập 15
2.2.3 Use case quản lý tài khoản cá nhân 17
2.2.4 Use case quản lý danh mục 24
2.2.5 Use case quản lý chuyên mục 32
2.2.6 Use case quản lý hóa đơn bán hàng 40
2.2.7 Use case quản lý sản phẩm 43
2.2.8 Use case quản lý giỏ hàng 50
2.2.9 Use case quản lý đơn nhập hàng 54
Trang 42.2.10 Use case quản lý nhà cung cấp 62
2.2.11 Use case quản lý đánh giá 71
2.2.12 Use case quản lý đặt hàng 73
2.2.13 Use case xem sản phẩm 74
2.2.14 Use case xem bài viết 76
Trang 5LÝ DO CHỌN ĐỀ
Nông sản là nguồn cung cấp thực phẩm chính cho con người, đóng vai trò quan trọng trong nền kinh tế và xã hội Tuy nhiên, quản lý bán hàng nông sản vẫn còn nhiều khó khăn và thách thức, như sự biến động của thị trường, sự cạnh tranh của các nhà sản xuất, sự phức tạp của chuỗi cung ứng, sự thiếu minh bạch của thông tin, sự yếu kém của chất lượng và an toàn thực phẩm, v.v Do đó, việc nghiên cứu và ứng dụng các công nghệ thông tin hiện đại để quản lý bán hàng nông sản là một đề tài cần thiết và có tính khả thi cao.
MỤC ĐÍCH VÀ Ý NGHĨA CỦA ĐỀ TÀI
2.1 Mục đích của đề tài
Phân tích và thiết kế một hệ thống bán và quản lý nông sản phực phẩm - Theo dõi và kiểm soát quá trình bán hàng nông sản từ khi thu hoạch đến khi tiêu thụ, bao gồm các thông tin về nguồn gốc, số lượng, giá cả, chất lượng, an toàn thực phẩm, v.v.
- Phân tích và cải thiện hiệu quả của quá trình bán hàng nông sản, bao gồm các chỉ số về doanh thu, lợi nhuận, chi phí, tỷ lệ hao hụt, tỷ lệ hài lòng khách hàng, v.v.
- Tăng cường sự liên kết và hợp tác giữa các bên liên quan trong chuỗi cung ứng nông sản, như nông dân, nhà phân phối, nhà bán lẻ, người tiêu dùng, cơ quan quản lý nhà nước, v.v.
Ý nghĩa của đề tài
- Thúc đẩy sự phát triển của ngành công nghệ thông tin, bằng cách ứng dụng các công nghệ thông tin hiện đại để quản lý bán hàng nông sản, tạo ra những sản phẩm và dịch vụ mới, mang lại giá trị gia tăng cho người dùng.
- Góp phần phát triển thị trường nội địa và xuất khẩu, bằng cách giúp mở rộng và đa dạng hóa các kênh phân phối, tiếp cận được nhiều khách hàng tiềm năng, tạo được uy tín và niềm tin cho sản phẩm Việt Nam trên thị trường quốc tế.
- Góp phần nâng cao chất lượng và an toàn thực phẩm, bằng cách giúp kiểm soát được nguồn gốc, quy trình sản xuất và bảo quản của nông sản, đảm bảo tuân thủ các tiêu chuẩn và quy định về chất lượng và an toàn thực phẩm.
Trang 6ĐỐI TƯỢNG NGHIÊN CỨU
Người sản xuất nông sản như nhà nông, hợp tác xã, doanh nghiệp nông nghiệp, v.v.
Trang 7+ Quy trình tạo lập một website quản lý
PHƯƠNG PHÁP NGHIÊN CỨU
- Tìm hiểu các tài liệu liên quan - Phân tích và lựa chọn giải pháp.
- Tyng hợp các tài liệu liên quan đến xây dựng và phát triển phần mềm.
- Thu thập và phân tích các yêu cầu và nhu cầu của các bên liên quan trong quá trình bán hàng nông sản.
- Thiết kế và xây dựng một hệ thống quản lý bán hàng nông sản dựa trên các công nghệ thông tin hiện đại.
- Kiểm tra và đánh giá hiệu quả và tính ứng dụng của hệ thống quản lý bán hàng nông sản.
Trang 8PHẦN 1: PHÂN TÍCH YÊU CẦU HỆ THỐNG
1, PHÂN TÍCH YÊU CẦU1.1 Yêu cầu chức năng.
Trang 9+ Thêm hóa đơn nhập hàng + Xóa hóa đơn nhập hàng + Sửa hóa đơn nhập hàng + Tìm kiếm hóa đơn nhập hàng
+ Thêm vào giỏ hàng - Xem bài viết:
+ Xem những đánh giá về những sản phẩm đó + Xem số sao mà khách đánh giá
Trang 10- Xem sản phẩm: + Xem khuyến mãi + Xem chi tiết sản phẩm - Quản lý đánh giá:
+ Đăng nhập
+ Xem người dùng đánh giá + Xem số sao đánh giá được + Trả lời lại đánh giá của khách hàng + Phân loại từng mục
+ Xóa đánh giá
1.2 Yêu cầu phi chức năng.
- Giao diện người dùng thân thiện, dễ sử dụng - Bảo mật thông tin khách hàng và đơn hàng.
- Hỗ trợ đa ngôn ngữ và đa kênh bán hàng (ví dụ: cửa hàng trực tuyến, điện thoại di động).
- Hệ thống cần đáp ứng được số lượng lớn người dùng cùng một lúc và xử lý các giao dịch mua bán nhanh chóng và hiệu quả.
- Tích hợp hệ thống thanh toán trực tuyến - Hỗ trợ tương thích với các thiết bị di động.
2, XÁC ĐỊNH CÁC ĐỐI TƯỢNG
2.1 Sản phẩm (Product):
Thuộc tính: Tên, mô tả, giá, số lượng tồn kho, hình ảnh, loại sản phẩm, v.v Phương thức: Thêm sản phẩm, cập nhật thông tin sản phẩm, xóa sản phẩm, tìm kiếm sản phẩm, v.v.
2.2 Khách hàng (Customer):
Thuộc tính: Tên, địa chỉ, số điện thoại, email, loại khách hàng, v.v.
Trang 11Phương thức: Thêm khách hàng, cập nhật thông tin khách hàng, xóa khách hàng, tìm kiếm khách hàng, v.v.
2.3 Đơn hàng (Order):
Thuộc tính: Mã đơn hàng, ngày đặt hàng, khách hàng, sản phẩm được đặt, số lượng, trạng thái đơn hàng, v.v.
Phương thức: Tạo đơn hàng mới, cập nhật trạng thái đơn hàng, hủy đơn hàng, tìm kiếm đơn hàng, v.v.
2.4 Kho hàng (Warehouse):
Thuộc tính: Tên kho hàng, địa chỉ, sản phẩm trong kho, số lượng tồn kho, v.v Phương thức: Nhập hàng, xuất hàng, cập nhật số lượng tồn kho, tìm kiếm sản phẩm trong kho, v.v.
2.5 Báo cáo (Report):
Thuộc tính: Loại báo cáo, dữ liệu báo cáo, thời gian tạo báo cáo, v.v Phương thức: Tạo báo cáo, xuất báo cáo, tìm kiếm báo cáo, v.v 2.6 Giao diện người dùng (User Interface):
Thuộc tính: Các thành phần giao diện như nút, trường nhập liệu, danh sách, v.v Phương thức: Hiển thị thông tin, xử lý sự kiện người dùng, tương tác với các đối tượng khác, v.v.
Trang 12PHẦN II: DESIGN (PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG)ĐẶC TẢ YÊU CẦU CHỨC NĂNG Đăng ký tài khoản.
Thành viên (Người dùng đã có tài khoản)
1.2 Môi trường phát triển
Công cụ phân tích thiết kế: UML, Mockup, Drawable.
Công nghệ sử dụng: Java Spring Boot, HTML5, CSS3, Bootstrap 4, Thymeleaf, Fontawesome.
Trang 47Sơ đồ tuần tự thêm sản phẩm
Trang 48Sơ đồ tuần tự sửa sản phẩm
Trang 49Sơ đồ tuần tự xóa sản phẩm
Trang 50Sơ đồ hoạt động xem sản phẩm
Sơ đồ hoạt động thêm sản phẩm
Trang 51Sơ đồ hoạt động sửa sản phẩm
Trang 52Sơ đồ hoạt động xóa sản phẩm
2.2.8 Use case quản lý giỏ hàng
Trang 53Đặc tả luồng dữ liệu :
Tên UC Quản lý giỏ hàng
ĐK Không cần đăng nhập
Luồng sự kiện Kích vào giỏ hàng tìm sản phẩm cần mua và thanh toán
Luồng sự kiện Vào giỏ hàng kích vào săn mã khuyến mãi Tìm mã khuyến mãi của sản phẩm cần mua
Luồng sự kiện Vào giỏ hàng tìm sản phẩm cần hoặc không và sửa lại hoặc xóa
Luồng sự kiện Chọn phương thức muốn thanh toán
Nhập địa chỉ và số điện thoại vào để nhận hàng
Sơ đồ tuần tự:
Trang 54Sơ đồ tuần tự quản lý giỏ hàng
Sơ đồ hoạt động xem giỏ hàng
Trang 55Sơ đồ hoạt động cập nhật giỏ hàng
Trang 56Sơ đồ hoạt động mua sản phẩm
2.2.9 Use case quản lý đơn nhập hàng
Trang 57Đặc tả luồng dữ liệu :
Tên Use Case Hoá đơn nhập hàng
Tác nhân Admin
Mô tả Use case mô tả hệ thống cho phép admin thực hiện các thao tác quản lý hoá đơn nhập hàng, bao gồm thêm, sửa, xoá, tìm kiếm hoá đơn tạo hoá đơn
3.2 Sửa hoá đơn nhập hàng
3.1.4 Hệ thống thêm hoá đơn vừa nhập vào CSDL và thông báo thêm thành công
Trang 58xoá hoá đơn nhập hàng
3.4 Tìm kiếm hoá đơn nhập hoá đơn vừa chỉnh sửa vào CSDL và thông báo chỉnh sửa thành công.
3.3.2 Hệ thống xác nhận việc xoá hoá đơn nhập hàng từ admin
3.3.4 Hệ thống xoá hoá đơn
Trang 5958
Trang 60Sơ đồ tuần tự:
Sơ đồ tuần tự thêm hóa đơn nhập hàng
Trang 61Sơ đồ tuần tự xóa hóa đơn nhập hàng
Trang 62Sơ đồ tuần tự sửa hóa đơn nhập hàng
Trang 63Sơ đồ tuần tự tìm kiếm hóa đơn nhập hàng
Trang 64Sơ đồ hoạt động thêm xóa sửa hóa đơn nhập hàng
Trang 65Sơ đồ hoạt động tìm kiếm hóa đơn nhập hàng
2.2.10 Use case quản lý nhà cung cấp
Trang 66Đặc tả luồng dữ liệu :
Tên Use Case Quản lý nhà cung cấp
Tác nhân Admin
Mô tả Hệ thống cho phép admin thực hiện các thao tác quản lý nhà cung cấp, bao gồm thêm, sửa, xoá, tìm kiếm nhà cung cấp và yêu cầu đăng nhập
để truy cập chức năng này.
Tác nhânHệ thống
Trang 67diện để nhập thông nhà cung cấp
3.1.4 Hệ thống thêm thông tin nhà cung cấp vừa nhập vào CSDL và thông báo thêm thành công
3.2.2 Hệ thống hiển thị thông tin nhà cung cấp và cho phép admin chỉnh sửa
Trang 683.2.3 Admin chỉnh sửa thông tin cần thiết và xác nhận sửa đyi nhà cung cấp vừa chỉnh sửa vào CSDL và thông báo chỉnh sửa thành
Trang 69Sơ đồ tuần tự :
Sơ đồ tuần tự thêm nhà cung cấp
Trang 752.2.11 Use case quản lý đánh giá
Đặc tả luồng dữ liệu
Tên Use case Đánh giá
ĐK Phải đăng nhập được vào tài khoản User
Luồng sự kiện Thêm đánh giá mới Nhập đầy đủ nội dung tin
Nhấn vào đánh giá cần sửa, nhấn chỉnh sửa Nhập đánh giá cần chỉnh sủa, nhấn xác nhận
Luồng sự kiện Link của sản phẩm: kích vào hệ thống chuyển đến trang xem đơn hàng
Thông báo tình trạng đơn hàng đã được thêm vào giỏ Xem lại các đơn hàng mua thành công
Luồng sự kiện Chọn lại vào sản phẩm đã mua để sửa lại hoặc xóa đánh giá
Trang 76Sơ đồ tuần tự
Sơ đồ tuần tự hiển thị gửi đánh giá
Trang 772.2.12 Use case quản lý đặt hàng
Đặc tả luồng dữ liệu
Tên use case Đặt hàng
ĐK Phải đăng nhập được vào tài khoản User
Luồng sự kiện Mô tả các bước gửi đặt hàng Nhấn nút đặt hàng
Nhập lại địa chỉ giao hàng, sdt, chọn phương thức thanh toán Nhấn nút xác nhận đặt hàng
Luồng sự kiện Chọn sản phẩm đã mua Chọn vào xác nhận hủy đơn hàng
Luồng sự kiện Tìm kiếm sản phẩm cần mua thêm vào giỏ hàng
Trang 802.2.14 Use case xem bài viết
Đặc tả luồng dữ liệu
Tên use case Xem bài viết
Điều kiện Khôg cần đăng nhập
Luồng sự kiện Xem đánh giá về sản phẩm
Guest: Kích chuột vào bài viết cần xem đánh giá
Hệ thống: Hiển thị bài viết guest cần xem
Luồng sự kiện Xem số sao mà khách hàng đánh giá Guest: Kích chuột vào xem số sao được đánh giá
Hệ thống: Hiển thị số sao đã đc đánh giá và phân loại theo từng cấp bậc cho guest xem
Trang 81Sơ đồ tuần tự
Sơ đồ tuần tự hiển thị nội dung đánh giá
Sơ đồ tuần tự hiển thị số sao đánh giá
Trang 82Sơ đồ hoạt động hiển thị số sao đánh giá
Trang 83Sơ đồ hoạt động hiển thị nội dung đánh giá
Trang 842.3 Sơ đồ thực thể liên kết2.3.1 Bảng dữ liệu
2.3.1.1 Bảng danh mục
Name Type Null Chú Thích Khóa Id_danh_muc Varchar(10) Not null Id danh mục Khóa chính Slug_danh_muc Int Not null Số lượng danh mục
Tinh_trang Int Not null Tình trạng
Id_chuyen_muc Varchar(10) Not null Id chuyên mục Khóa phụ Ten_danh_muc Nvarchar(20) Not null Tên danh mục
2.3.1.2 Bảng chuyên mục
Name Type Null Chú Thích Khóa Id_chuyen_muc Varchar(10) Not Ten_chuyen_muc Nvarchar(20) Not
null Tên chuyên mục 2.3.1.3 Bảng hóa đơn bán hàng
Name Type Null Chú Thích Khóa
Trang 85Id_hoa_don_ban_hang Varchar(10) Not
null Id hóa đơn bánhàng Khóa chính Tong_tien int Not
null Tyng tiền Giam_gia int Not
Id nhân viên Khóa phụ Id_loai_thanh_toan Varchar(10) Not
null Id loại thanh toán Khóa phụ Ghi_chu_thanh_toan Nvarchar(Max) Not
null Ghi chú thanh toán Id_xac_nhan Varchar(10) Not
null Id xác nhận Khóa phụ Ngay_thanh_toan Datetime Not
null Ngày thanh toán Tinh_trang int Not
null Tình trạng 2.3.1.4 Bảng sản phẩm
Name Type Null Chú Thích Khóa Id_san_pham Varchar(10) Not null Id sản phẩm Khóa chính So_luong Int Not null Số lượng
Gia_ban Int Not null Giá bán Giam_gia Int Not null Giảm giá Hinh_anh Nvarchar(50) Not null Hình ảnh Tinh_trang Int Not null Tình trạng
Id_danh_muc Varchar(10) Not null Id danh mục Khóa phụ Id_nha_cung_cap Varchar(10) Not null Id nhà cung
cấp Khóa phụ 2.3.1.5 Bảng giỏ hàng
Name Type Null Chú thích Khoá Id_gio_hang Varchar(10) Not null Id giỏ hàng Khoá chính So_luong int Not null Số lượng
Tong_tien int Not null Tiỉng tiền Id_giam_gia i Varchar(10) Not null Id giảm giá List_hang Nvarchar(50) Not null Danh sách hàng Hinh_anh Nvarchar(50) Not null Hình ảnh Id_xac_nhan Varchar(10) Not null Id xác nhận
Id_hoa_don_ban_hang Varchar(10) Not null Id hoá đơn bán hàng Khoá phụ 2.3.1.6 Bảng hóa đơn nhập hàng
Trang 86Name Type Null Chú thích Khoá Id_hoa_don_nhap_hang Varchar(10) Not null Id hoá đơn nhập
hàng Khoá chính Id_nha_cung_cap Varchar(10) Not null Id nhà cung cấp Khoá phụ Tong_tien_nhap Int Not null Tyng tiền nhập
Ngay_nhap_hang DateTime Not null Ngày nhập hàng
Id_nhan_vien Varchar(10) Not null Id nhân viên Khoá phụ 2.3.1.7 Bảng nhà cung cấp
Name Type Null Chú thích Khoá Id_nha_cung_cap Varchar(10) Not null Id nhà cung cấp Khoá chính Ten_nha_cung_cap Nvarchar(50) Not null Tên nhà cung cấp
Ten_nguoi_dai_dien Nvarchar(50) Not null Tên người đại diện So_dien_thoai int Not null Số điện thoại Email Nvarchar(50) Not null Email Dia_chi Nvarchar(max) Not null Địa chỉ Tinh_trang Int Not null Tình trạng Ten_goi_nho Nvarchar(20) Not null Tên gợi nhớ
2.3.1.8 Bảng khách hàng
Name Type Null Chú thích Khoá Id_khach_hang Varchar(10) Not null Id khách hàng Khoá chính Ten_khach Nvarchar(20) Not null Tên khách hàng
Ho_lot Nvarchar(20) Not null Họ lót So_dien_thoai Int Not null Số điện thoại Email Nvarchar(50) Not null Email Ghi_chu Nvarchar(Max) Not null Ghi chú Ngay_sinh DateTime Not null Ngày sinh
Ma_so_thue Varchar(10) Not null Mã số thuế Khoá phụ 2.3.1.9 Bảng tài khoản
Name Type Null Chú Thích Khóa Id_tai_khoan Varchar(10) Not null Id tài khoản Khóa chính Email Nvarchar(30) Not null Email
So_dien_thoai Nvarchar(20) Not null Số điện thoại Ngay_sinh Datetime Not null Ngày sinh Password Nvarchar(30) Not null Mật khẩu
Id_quyen Varchar(10) Not null Id quyền Khóa phụ Ho_va_ten Nvarchar(50) Not null Họ và tên
2.3.1.10 Bảng quyền
Name Type Null Chú thích Khoá Id_quyen Varchar(10) Not null Id quyền Khoá chính List_id_quyen Nvarchar(30) Not null Danh sách id quyền
Ten_quyen Nvarchar(20) Not null Tên quyền
Trang 87KẾT LUẬN
1 NHỮNG VẤN ĐỀ ĐẠT ĐƯỢC
Biết phân tích và thiết kế hệ thống, thiết kế giao diện, xây dựng cơ sở dữ liệu Sử dụng thành thạo các công cụ Draw.io, Word, Mockup…
Tìm hiểu về các framework: Hibernate, Spring Security, Lombok,Spring Data Tìm hiểu về phân tích thiết kế hướng đối tượng
Áp dụng xây dựng ứng dụng thực nghiệm trang website Quản lý bán hàng.
2 NHỮNG VẤN ĐỀ CHƯA ĐẠT ĐƯỢC
Chưa phân tích sâu về vấn đề đặt ra.
Chưa hoàn thiện được tất cả các chức năng nêu ra như dự kiến ban đầu Chưa hoàn thiện được các chức năng như Quản lý tin tức, Quản lý báo cáo thông kê.
3 HƯỚNG PHÁT TRIỂN
Tìm hiểu về ngôn ngữ JAVA & MySQL để tạo dựng hệ thống vào thực tế Kết hợp ngôn ngữ JAVA với các hệ quản trị cơ sở dữ liệu lớn hơn: SQL Server, Oracle…
Tìm hiểu thêm một số ngôn ngữ, các phần mềm ứng dụng để nâng cao giao diện đồ họa đẹp mắt, thân thiện hơn…
Xây dựng trang Web quy mô lớn hơn với nhiều ứng dụng, chức năng
Trang 88TÀI LIỆU THAM KHẢO
Tham khảo về Spring Boot: Sách “Learning Spring Boot 2.0 -: Simplify the development of lightning fast applications based on microservices and reactive programming” của tác giả Greg L Turnquist
Tham khảo về Bootstrap: Sách “The Missing Bootstrap 5 Guide: Customize and extend Bootstrap 5 with Sass and JavaScript to create unique website designs” của tác giả Jeppe Schaumburg Jensen
Tham khảo về oracle DB: Sách “Oracle DB Hacks for Temenos T24: Performance Pocket book ” của tác giả Kudakwashe Tsomondo
Tham khảo về HTML, CSS & JAVASCRIPT: Sách “HTML, CSS and JavaScript All in One, Sams Teach Yourself: Covering HTML5, CSS3, and jQuery 2nd Edition, Kindle Edition” của tác giả Julie C Meloni