Thẩm mỹ: Hệ thống phải có thiết kế thẩm mỹ tốt để thu hút khách hàng và tạo niềm tin với đối tác Độ phân giải: Hệ thống phải có khả năng hiển thị ảnh và nội dung sản phẩm ở độ p
Mô hình phát triển phần mềm
Agile là một phương pháp phát triển phần mềm linh hoạt và thích nghi, tập trung vào tạo ra sản phẩm chất lượng và đáp ứng nhu cầu của khách hàng một cách hiệu quả.
- Linh Hoạt và Tương Tác
Trong Agile, linh hoạt đề cập đến khả năng thay đổi yêu cầu dự án trong quá trình phát triển.
Tương tác thường xuyên giữa các thành viên trong nhóm phát triển và khách hàng giúp đảm bảo sự hiểu biết chung và thích ứng nhanh chóng. -Phân Chia Dự Án thành Sprint
Sprint là một giai đoạn phát triển ngắn hạn, thường kéo dài từ 1 đến 4 tuần, giúp quản lý tiến độ và đảm bảo sự thích ứng nhanh chóng.
Việc phân chia dự án thành Sprint cho phép tạo ra sản phẩm có thể sử dụng được từng bước và thu được phản hồi sớm.
-Ưu Tiên Hóa Giá Trị
Agile giúp đảm bảo rằng các tính năng quan trọng nhất và mang lại giá trị cao nhất cho khách hàng được ưu tiên và phát triển trước.
Sự ưu tiên hóa giá trị đảm bảo rằng sản phẩm cuối cùng đáp ứng nhu cầu chính của khách hàng.
Tích hợp liên tục và kiểm thử thường xuyên trong Agile giúp phát hiện và sửa lỗi sớm hơn trong quá trình phát triển.
Điều này đảm bảo rằng sản phẩm luôn ổn định và có chất lượng cao.
- Ứng Dụng Agile trong Xây Dựng Trang Web Bán Đồ Nội Thất
Áp dụng Agile vào việc xây dựng trang web bán đồ nội thất cho phép thích nghi với sự biến đổi nhanh chóng trong ngành nội thất.
Sự linh hoạt và khả năng thay đổi yêu cầu giúp đảm bảo rằng trang web sẽ đáp ứng nhu cầu thị trường và khách hàng một cách hiệu quả.
Agile là một phương pháp phát triển phần mềm mạnh mẽ cho việc xây dựng trang web bán đồ nội thất.
Sự thích nghi, tương tác, và ưu tiên hóa giá trị giúp đảm bảo rằng sản phẩm cuối cùng sẽ đáp ứng nhu cầu của khách hàng và thị trường một cách tốt nhất.
Tổng quan về Web bán đồ nội thất
Yêu cầu phi chức năng
HÀNG NỘI THẤT 2.1 Biểu đồ use case
2.1.1 Biểu đồ use case tổng quát
Trên cơ sở phân tích yêu cầu hệ thống web bán hàng nội thất ở chương 1, ta thấy hệ thống có hai tác nhân là: Người quản trị và Khách hàng cùng với các chức năng chính được biểu diễn như hình 2.1
Hình 2.1: Biểu đồ use case tổng quát
2.1.2 Phân rã biểu đồ use case
2.1.2.1 Phân rã biểu đồ đăng kí
PHÂN TÍCH, THIẾT KẾ HỆ THÔNG WEB BÁN HÀNG NỘI THẤT
Biểu đồ use case
2.1.1 Biểu đồ use case tổng quát
Trên cơ sở phân tích yêu cầu hệ thống web bán hàng nội thất ở chương 1, ta thấy hệ thống có hai tác nhân là: Người quản trị và Khách hàng cùng với các chức năng chính được biểu diễn như hình 2.1
Hình 2.1: Biểu đồ use case tổng quát
2.1.2 Phân rã biểu đồ use case
2.1.2.1 Phân rã biểu đồ đăng kí
Use case đăng ký trong web bán hàng nội thất có thể được phân rã thành các use case con như sau: o Xác minh thông tin đăng ký: Hệ thống kiểm tra tính hợp lệ của thông tin và xác nhận tài khoản
Thông báo đăng kí thành công: Người dùng nhận được thông báo đăng ký thành công.
Thông báo đăng kí thất bại: Người dùng nhận được thông báo đăng ký thất bại nếu có lỗi trong quá trình đăng ký. o Lưu trữ thông tin đăng ký: Hệ thống lưu trữ thông tin đăng ký hợp lệ
Hình 2.2: Phân rã biểu đồ đăng kí
2.1.2.2 Phân rã biểu đồ đăng nhập
Phân rã use case đăng nhập có thể phân rã thành các use case dưới đây: o Nhập tên đăng nhập: Người dùng nhập tên đăng nhập của mình vào hệ thống. o Nhập mật khẩu: Người dùng nhập mật khẩu của mình vào hệ thống. o Quên mật khẩu: Người dùng khôi phục mật khẩu của mình nếu họ quên mật khẩu. o Xác thực tên đăng nhập và mật khẩu: Use case này sẽ tập trung vào việc xác thực tên đăng nhập và mật khẩu của người dùng để đảm bảo rằng họ có quyền truy cập vào hệ thống. o Đăng nhập thành công: Người dùng truy cập vào hệ thống sau khi đăng nhập thành công. o Đăng nhập thất bại: Người dùng đăng nhập thất bại và yêu cầu đăng nhập lại.
Hình 2.3: Phân rã biểu đồ đăng nhập
2.1.2.3 Phân rã biểu đồ quản lí danh mục sản phẩm
Phân rã biểu đồ use case quản lý danh mục sản phẩm thành: o Hiển thị các danh mục sản phẩm: Người quản trị có thể xem các danh mục sản phẩm được đăng tải trên website.
Xem chi tiết danh mục sản phẩm: Người quản trị có thể xem chi tiết các danh mục sản phẩm
Chỉnh sửa danh mục sản phẩm: Người quản trị có thể chỉnh sửa danh mục sản phẩm cho phù hợp với các sản phẩm
Xóa danh mục sản phẩm: Người quản trị có thể xóa các danh mục sản phẩm khi không cần thiết o Tạo danh mục sản phẩm mới: Quản trị viên có thể tạo thêm danh mục sản phẩm mới vào danh sách.
Hình 2.4: Phân rã biểu đồ quản lí danh mục sản phẩm
2.1.2.4 Phân rã biểu đồ quản lí sản phẩm
Phân rã biểu đồ use case quản lý sản phẩm thành: o Xem danh sách các sản phẩm: Người quản trị có thể xem danh sách các sản phẩm được đăng tải trên website.
Xem chi tiết sản phẩm: Người quản trị có thể xem chi tiết sản phẩm trong danh sách.
Chỉnh sửa sản phẩm: Người quản trị có thể chỉnh sửa thông tin của sản phẩm trong danh sách.
Xóa sản phẩm: Người quản trị có thể xóa sản phẩm khỏi danh sách. o Thêm sản phẩm: Người quản trị có thể thêm các sản phẩm vào danh sách
Hình 2.5: Phân rã biểu đồ quản lí sản phẩm
2.1.2.5 Phân rã biểu đồ tìm kiếm sản phẩm
Phân rã use case tìm kiếm sản phẩm: o Use case tìm kiếm sản phẩm theo tên: người dùng cần nhập tên sản phẩm vào trường tìm kiếm trên trang web, và hệ thống sẽ truy vấn cơ sở dữ liệu để tìm kiếm sản phẩm phù hợp o Use case tìm kiếm theo danh mục sản phẩm: người dùng cần truy cập vào mục danh mục sản phẩm và chọn loại sản phẩm cần tìm, và hệ thống sẽ truy vấn cơ sở dữ liệu để tìm kiếm sản phẩm phù hợp.
Hình 2.6: Phân rã biểu đồ tìm kiếm sản phẩm
2.1.2.6 Phân rã biểu đồ quản lí giỏ hàng
Use case quản lí giỏ hàng có thể được phân rã thành các use case con là: o Xem sản phẩm có trong giỏ hàng: xem các sản phẩm mà khách hàng đã thêm vào o Xóa sản phẩm khỏi giỏ hàng: khách hàng có thể xóa đi những sản phẩm không mong muốn mua o Điều chỉnh số lượng sản phẩm có trong giỏ hàng: theo nhu cầu mua mà khách hàng có thể tùy chỉnh số lượng o Thanh toán sản phẩm trong giỏ hàng: Khách hàng có thể thanh toán sản phẩm trong giỏ hàng
Hình 2.7: Phân rã biểu đồ quản lí giỏ hàng
2.1.2.7 Phân rã biểu đồ quản lí thông tin khách hàng
Phân rã use case quản lý khách hàng: o Xem thông tin khách hàng: Người quản trị có thể xem thông tin chi tiết của từng tài khoản khách hàng o Sửa thông tin khách hàng: Người quản trị có thể sửa thông tin khách hàng đã đăng kí trên hệ thống o Tìm kiếm khách hàng: Người quản trị có thể tìm kiếm tên tài khoản theo từ khóa o Xóa khách hàng: Người quản trị có thể xóa khách hàng khỏi danh sách
Mô tả: Use case cho phép quản trị viên thực hiện các thao tác thống kê và quản lý khách hàng trên website bán hàng nội thất.
Hình 2.8: Phân rã biểu đồ quản lí thông tin khách hàng
2.1.2.8 Phân rã biểu đồ quản lí nhà cung cấp
Phân rã biểu đồ use case quản lý nhà cung cấp thành: o Xem thông tin nhà cung cấp: Người quản trị có thể xem thông tin nhà cung cấp trên hệ thống o Thêm nhà cung cấp: Người quản trị có thể thêm mới một nhà cung cấp vào hệ thống. o Chỉnh sửa thông tin nhà cung cấp: Người quản trị có thể chỉnh sửa thông tin của một nhà cung cấp trên hệ thống. o Xóa nhà cung cấp: Người quản trị có thể xóa một nhà cung cấp khỏi hệ thống.
Hình 2.9: Phân rã biểu đồ quản lí nhà cung cấp
2.1.2.9 Phân rã biểu đồ quản lý đơn đặt hàng
Use case Quản lý Đơn đặt hàng mô tả quá trình quản lý thông tin về các đơn đặt hàng trong hệ thống, use case Quản lý đơn hàng có thể phân rã thành các use case sau: o Xác nhận đơn hàng: Người quản trị có thể duyệt đơn hàng đã đủ điều kiện o Xem chi tiết đơn hàng: Người quản trị có thể xem chi tiết đơn hàng đã được đặt o Xóa đơn đặt hàng: Người quản trị có thể hủy đơn hàng nếu có yêu cầu báo hủy o Báo cáo tình trạng đơn: Người quản trị có thể xem tình trạng đơn hàng
Hình 2.10: Phân rã biểu đồ quản lý đơn đặt hàng
2.1.2.10 Phân rã biểu đồ quản lý khuyến mãi
Use case quản lý khuyến mãi mô tả quá trình quản lý thông tin về các chương trình khuyến mãi và ưu đãi trong hệ thống, use case quản lý khuyến mãi có thể phân rã thành các use case sau: o Sửa khuyến mãi: Người quản trị có thể chỉnh sửa thông tin và thuộc tính của khuyến mãi đã có o Xóa khuyến mãi: Người quản trị có thể xóa khuyến mãi không cần thiết o Thêm khuyến mãi: Người quản trị có thể tạo mới một khuyến mãi với các thông tin như tên, mô tả, ngày tháng
Hình 2.11: Phân rã biểu đồ quản lý khuyến mãi
Các biểu đồ tuần tự
2.2.1 Biểu đồ tuần tự chức năng đăng kí
Biểu đồ tuần tự chức năng đăng ký mô tả quy trình các bước trong quá trình đăng ký của khách hàng trên trang web Thể hiện luồng thông tin giữa khách hàng, trang đăng ký và hệ thống, từ nhập thông tin đến kiểm tra, lưu trữ và xác nhận đăng ký.
Hình 2.12: Biểu đồ tuần tự chức năng đăng kí
2.2.2 Biểu đồ tuần tự chức năng đăng nhập
Biểu đồ tuần tự chức năng đăng nhập mô tả quy trình các bước trong quá trình đăng nhập của khách hàng trên trang web Nó thể hiện luồng thông tin giữa khách hàng, trang đăng nhập và hệ thống, từ nhập thông tin đăng nhập đến xác thực và kiểm tra tính hợp lệ của thông tin đăng nhập.
Hình 2.13: Biểu đồ tuần tự chức năng đăng nhập
2.2.3 Biểu đồ tuần tự chức năng quản lí danh mục sản phẩm
Biểu đồ tuần tự quản lí danh mục sản phẩm mô tả quy trình các bước trong quá trình người quản trị thêm, sửa, xóa các danh mục sản phẩm vào hệ thống Nó thể hiện luồng thông tin giữa người quản trị,trang quản lí danh mục sản phẩm và hệ thống.
Hình 2.14: Biểu đồ tuần tự chức năng quản lí danh mục sản phẩm
2.2.4 Biểu đồ tuần tự chức năng quản lí sản phẩm
Biểu đồ tuần tự quản lí sản phẩm mô tả quy trình các bước trong quá trình người quản trị thêm, sửa, xóa sản phẩm vào hệ thống Nó thể hiện luồng thông tin giữa người quản trị, trang quản lí sản phẩm và hệ thống.
Hình 2.15: Biểu đồ tuần tự chức năng quản lí sản phẩm
2.2.5 Biểu đồ tuần tự chức năng tìm kiếm sản phẩm
Biểu đồ tuần tự chức năng tìm kiếm sản phẩm mô tả quy trình các bước trong quá trình khách hàng tìm kiếm sản phẩm trên trang web Nó thể hiện luồng thông tin giữa khách hàng và hệ thống, từ tìm kiếm bằng từ khóa, tìm kiếm theo danh mục, hệ thống xử lý và hiển thị sản phẩm cần tìm kiếm.
Hình 2.16: Biểu đồ tuần tự chức năng tìm kiếm sản phẩm
2.2.6 Biểu đồ tuần tự chức năng quản lí giỏ hàng
Biểu đồ tuần tự chức năng quản lí giỏ hàng mô tả quy trình các bước trong quá trình khách hàng mua sản phẩm trên trang web Nó thể hiện luồng thông tin giữa khách hàng, trang sản phẩm, giỏ hàng, trang thanh toán và hệ thống, từ xem sản phẩm, thêm vào giỏ hàng, tiến hành thanh toán, xử lý thanh toán và hiển thị thông báo thành công.
Hình 2.17: Biểu đồ tuần tự chức năng quản lí giỏ hàng
2.2.7 Biểu đồ tuần tự quản lí thông tin khách hàng
Biểu đồ tuần tự quản lý thông tin khách hàng mô tả quy trình các bước trong quá trình người quản trị quản lý thông tin khách hàng trên trang quản lý Nó thể hiện luồng thông tin giữa người quản trị, trang quản lý và cơ sở dữ liệu, từ truy cập trang quản lý, hiển thị danh sách khách hàng, chọn và hiển thị thông tin chi tiết khách hàng, chỉnh sửa và cập nhật thông tin khách hàng, và hiển thị thông báo thành công.
Hình 2.18: Biểu đồ tuần tự quản lí thông tin khách hàng
2.2.8 Biểu đồ tuần tự chức năng quản lí nhà cung cấp
Biểu đồ tuần tự quản lý nhà cung cấp mô tả quy trình các bước trong quá trình người quản trị quản lý thông tin nhà cung cấp trên trang quản lý Nó thể hiện luồng thông tin giữa người quản trị, trang quản lý và cơ sở dữ liệu, từ truy cập trang quản lý, hiển thị danh sách nhà cung cấp, chọn và hiển thị thông tin nhà cung cấp, chỉnh sửa và thêm, xóa nhà cung cấp, và hiển thị thông báo thành công
Hình 2.19: Biểu đồ tuần tự chức năng quản lí nhà cung cấp
2.2.9 Biểu đồ tuần tự chức năng quản lí đơn đặt hàng
Biểu đồ tuần tự quản lý đơn đặt hàng mô tả quy trình các bước trong quá trình người quản trị quản lý đơn hàng trên trang quản lý Nó thể hiện luồng thông tin giữa người quản trị, trang quản lý đơn đặt hàng và cơ sở dữ liệu, từ truy cập trang quản lý, hiển thị giao diện xem, xóa đơn đặt hàng, duyệt đơn hàng Gửi yêu cầu đến hệ thống và hệ thống phản hồi thông tin lại.
Hình 2.20: Biểu đồ tuần tự chức năng quản lí đơn đặt hàng
2.2.10 Biểu đồ tuần tự chức năng thanh toán
Biều đồ tuần tự chức năng thanh toán của ứng dụng web nội thất
Hình 2.21: Biểu đồ tuần tự chức năng thanh toán
Thiết kế cơ sở dữ liệu
2.3.1 Mô hình cơ sở dữ liệu quan hệ :
Hình 2.22: Sơ đồ kết nối các bảng
Bảng sản phẩm được hiển thị trên trang web để khách hàng xem và tìm kiếm thông tin về các sản phẩm có sẵn để mua
STT Tên trường Kiểu dữ liệu Mô tả
1 MaSanPham int Mã sản phẩm
2 TenSanPham Nvarchar Tên sản phẩm
3 Gia int Đơn giá sản phẩm
4 KhuyenMai Nvarchar(250) Khuyến mãi sản phẩm
5 SoLuong int Số lương sản phẩm còn tồn
6 HinhAnh Nvarchar Đường link hình ảnh sản phẩm
7 MoTa Nvarchar Mô tả sản phẩm
8 TinhTrang int Thể hiện tình trạng của sản phẩm
9 MaDanhMuc int Mã danh mục sản phẩm
2.3.2.2 Bảng danh mục sản phẩm
Bảng danh mục sản phẩm được hiển thị trên trang web bán hàng nội thất để giúp khách hàng dễ dàng tìm kiếm và truy cập vào danh mục sản phẩm cụ thể mà họ quan tâm.
Bảng 2.2: Bảng danh mục sản phẩm
STT Tên trường Kiểu dữ liệu Mô tả
1 MaDanhMuc int Mã danh mục sản phẩm
2 TenDanhmuc Nvarchar Tên danh mục sản phẩm
Bảng đơn đặt hàng thường được sử dụng để hiển thị thông tin và theo dõi trạng thái của các đơn đặt hàng trong hệ thống.
Bảng 2.3: Bảng đơn đặt hàng
STT Tên trường Kiểu dữ liệu Mô tả
1 MaDonDatHan g int Mã đơn đặt hàng
2 MaKhachHang int Mã khách hàng
3 NgayGiao datetime Ngày giao hàng
2.3.2.4 Bảng chi tiết đơn đặt hàng
Bảng chi tiết đơn đặt hàng được sử dụng để hiển thị thông tin chi tiết về từng sản phẩm trong một đơn đặt hàng cụ thể Nó cung cấp các thông tin về số lượng, giá và tổng tiền của từng sản phẩm, giúp người dùng và quản lý có cái nhìn rõ ràng về nội dung của đơn hàng.
Bảng 2.4: Bảng chi tiết đơn đặt hàng
STT Tên trường Kiểu dữ liệu Mô tả
1 MaDonHang nt Mã đơn hàng
2 MaDonDatHan g int Mã đơn đặt hàng
3 MaKhachHang int Mã khách hàng
4 MaSanPham int Mã sản phẩm
6 TongDonGia int Tổng đơn giá
Bảng khách hàng thường được sử dụng để hiển thị thông tin và quản lý danh sách khách hàng trong hệ thống Nó cung cấp các thông tin cơ bản về tên, thông tin liên lạc và địa chỉ của khách hàng để hỗ trợ quản lý, liên lạc và thực hiện các hoạt động kinh doanh liên quan đến khách hàng.
STT Tên trường Kiểu dữ liệu Mô tả
1 MaKhachhang Int Mã khách hàng
2 TenKhachHan g Nvarchar Tên khách hàng
Bảng thanh toán được sử dụng để lưu thông tin về trạng thái thanh toán của một đơn hàng Và được sử dụng để gửi thông tin cho bên cung cấp dịch vụ thanh toán thông tin về khách hàng, mã đơn hàng, thành tiền để tạo hóa đơn
STT Tên trường Kiểu dữ liệu Mô tả
1 MaThanhToán Int Mã sản phẩm bán
2 MaDonHang Int Mã đơn hàng thanh toán
3 MaKhachHang Int Mã khách hàng
4 TongTien Double Tổng tiền thanh toán
5 MaTrangThaiThanhToa n Int Trạng thái thanh toán
6 MaGiaoDich Int Mã giao dịch thanh toán
8 MaNganHang Nvarchar Mã ngân hàng
9 NgayThanhToan Date Ngày thanh toán
- Bảng admin được sử dụng để lưu thông tin về các tài khoản có thể đăng nhập vào trang admin
STT Tên trường Kiểu dữ liệu Mô tả
1 Id_admin int Mã admin
2 Username Varchar Tên đăng nhập
4 Admin_status int Trạng Thái của tài khoản
- Lưu thông tin về tất cả nhân viên của hệ thống , làm việc trong cửa hàng
STT Tên trường Kiểu dữ liệu Mô tả
1 MaNhanVien Int Mã nhân viên
2 TenNhanVien Nvarchar Tên nhân viên
5 HinhAnh Nvarchar Chứa đường dẫn để hình ảnh của nhân viên
6 ChucVu nvarchar Chức vụ của nhân viên
TRIỂN KHAI HỆ THỐNG XÂY DỰNG ỨNG DỤNG
Giao diện người dùng cuối
- Giao diện đăng nhập: đây là nơi người dùng cung cấp thông tin cá nhân để truy cập vào tài khoản của họ Trang này sẽ hiển thị các trường dữ liệu cho email và mật khẩu, sau khi người dùng bấm đăng nhập sẽ được truy cập vào tài khoản cá nhân và trải nghiệm trang web.
3.1.2 Giao diện đăng kí tài khoản:
- Trang page giao diện dăng ký: Khách hàng có thể đăng ký tài khoản để trở thành thành viên của cửa hàng, để nhận được ưu đãi
3.1.3 Giao diện danh mục sản phẩm
- Trang page hiện danh mục sản phẩm: Đây là nơi người dùng có thể duyệt và lựa chọng sản phẩm theo danh mục Tại đây sẽ hiển thị các danh mục sản phẩm, mỗi danh mục có thể chứa nhiều sản phẩm con. Người dùng có thể chọn một danh mục cụ thể để xem chi tiết các sản phẩm đó để có thể dễ dàng khám phá các sản phẩm nội thất dựa trên sở thích và nhu cầu của họ.
3.1.4 Giao diện thông tin chi tiết sản phẩm:
- Trang page hiện thông tin chi tiết sản phẩm: Khách hàng có thể xem được chi tiết về sản phẩm mình quan tâm, hoặc có thể thêm vào giỏ hàng và thanh toán
- Trang page giao diện giỏ hàng: Giao diện giỏ hàng của trang web bao gồm một danh sách các sản phẩm đã được thêm vào giỏ hàng của người dùng Mỗi sản phẩm được hiển thị với hình ảnh, tên sản phẩm, số lượng, giá tiền và các tùy chọn để chỉnh sửa hoặc xóa sản phẩm. Người dùng có thể điều chỉnh số lượng sản phẩm hoặc thực hiện thanh toán tại đây Ở đây giỏ hàng cũng sẽ hiển thị tổng giá trị của đơn hàng và cung cấp liên kết để tiếp tục mua sắm hoặc tiến hành thanh toán.
- Giao diện tìm kiếm sản phẩm: