Trang 12 Biểu đồ use case: Trang 13 2.1.1 Đặc tả usecaseUC1Đăng kíUC2Đăng nhậpUC3Tìm kiếm sản phẩmUC4Xem chi tiết sản phẩmUC5Đặt muaUC6Quản lý thông tin cá nhânUC7Quản lý giỏ hàngUC8Quả
Khảo sát bài toán
Khảo sát xác định yêu cầu
Cửa hàng bán đồ thể thao cần xây dựng một ứng dụng để quản lý thông tin kinh doanh của mình Trong hệ thống khách hàng có thể tìm kiếm sản phẩm, xem sản phẩm và mua sản phẩm, đăng kí và đăng nhập tài khoản, sửa thông tin cá nhân Quản trị viên có thể đăng nhập để quản lý tài khoản và bảo trì sản phẩm.
Các yêu cầu về dữ liệu của cửa hàng là:
- Mỗi sản phẩm được xác đinh bởi mã sản phẩm, tên sản phẩm, ảnh minh hoạ, kích thước, mô tả, giá, khuyến mãi, số lượng.
- Khách hàng được xác định bởi mã khách hàng, tên khách hàng, email, địa chỉ, SĐT, tên tài khoản, mật khẩu.
- Website có bao gồm nhiều danh mục Một danh mục có thể có một hoặc nhiều sản phẩm, mỗi sản phẩm chỉ thuộc về một và chỉ một danh mục Thông tin về danh mục bao gồm: mã danh mục, tên danh mục.
- Một khách hàng có thể đặt không, một hoặc nhiều đơn hàng Mỗi đơn hàng chỉ được đặt bởi một và chỉ một khách hàng Mỗi đơn hàng được xác định bởi số đơn hàng, địa chỉ giao hàng, tổng tiền Mỗi đơn hàng phải đặt một hoặc nhiều sản phẩm Mỗi sản phẩm có thể đặt trong không, một hoặc nhiều đơn hàng.
- Mỗi sản phẩm được đặt trong một đơn hàng cụ thể phải có số lượng yêu cầu và giá bán Tuỳ theo giá sale tại từng thời điểm mà một sản phẩm có thể được bán với giá khác nhau.
Xác định yêu cầu chức năng
- Chức năng đăng kí: Cho phép user đăng kí tài khoản
- Chức năng đăng nhập: Cho phép admin, user đăng kí tài khoản
- Quản lý thông tin tài khoản: Cho phép admin CRUD tài khoản
- Bảo trì sản phẩm: Cho phép admin CRUD sản phẩm
- Bảo trì danh mục: Cho phép admin CRUD danh mục
- Quản lý đơn hàng: Cho phép admin theo dõi, chỉnh sửa trạng thái đơn hàng
- Sửa thông tin cá nhân: Cho phép user cập nhật thông tin cá nhân
- Tìm kiếm sản phẩm: Cho phép user tìm kiếm sản phẩm
- Quản lý giỏ hàng: Cho phép user quản lý giỏ hàng
- Xem chi tiết sản phẩm: Cho phép user xem chi tiết sản phẩm
Yêu cầu phi chức năng
- Giao diện đơn giản, thân thiện, dễ sử dụng
- Truy xuất dữ liệu nhanh
- Tìm kiếm nhanh thuận tiện, chính xác
- Hệ thống phải có tính bảo mật cao
Downloaded by SAU SAU (saudinh1@gmail.com)
Phỏng vấn khách hàng
Dự án: Xây dựng ứng dụng web bán đồ thể thao adidas
Người được hỏi: Người hỏi:
Câu hỏi 1: Thông tin cần có để người dùng có thể thanh toán?
Trả lời:Họ tên, số điện thoại, email, địa chỉ nhận hàng
Câu hỏi 2: Những thông tin người dùng cần có khi đăng nhập và đăng ký?
Trả lời:Người dùng cần có email và số điện thoại để đăng ký và đăng nhập tên đăng nhập đã đăng ký
Câu hỏi 3: Những thông tin cần có trong hóa đơn?
Trả lời:Mã đơn hàng, mã sản phẩm, tên sản phẩm, giá tiền từng sản phẩm, tổng tiền hóa đơn, tên khách hàng, địa chỉ khách hàng, số điện thoại khách hàng
Câu hỏi 4: Giới tính và độ tuổi của người truy cập trang web ?
Trả lời:Mọi độ tuổi
Câu hỏi 5: Những chương trình khuyến mãi nào làm bạn thấy hài lòng nhất?
Trả lời: Sẽ có kế hoạch sau
Downloaded by SAU SAU (saudinh1@gmail.com)
Câu hỏi 6: Ví dụ bố cục trình bày, định hướng, hình ảnh đồ họa, phông chữ , thông tin bạn muốn website có?
Trả lời:Sẽ đưa sẵn bản thiết kế thô cho đội
Câu hỏi 7: Liệt kê sơ bộ các chức năng bạn muốn thực hiện
Phong cách thiết kế website bạn muốn?
(Ví dụ như hiện đại, cổ xưa, ấm áp, tươi sáng, vv.) Bạn có ý tưởng hay ghi chú đặc biệt nào muốn chúng tôi thực hiện trong dự án hay không?
Trả lời:các chức năng cơ bản của khách hàng gồm xem hàng, tìm kiếm hàng, đặt hàng và các chức năng cơ bản của admin quản lý
Câu hỏi 8: Ngôn ngữ chính là gì? gồm mấy ngôn ngữ.
Trả lời:HTML,CSS, Js ở Frontend và PHP ở backend
Câu hỏi 9: Các công cụ dùng cần thiết để bạn làm marketing online trên website
Trả lời:.Chạy facebook ads
Câu hỏi 10: Xu hướng tìm kiếm sản phẩm bạn ưa thích ( theo giá, theo loại, theo tên?)
Trả lời:tên sản phẩm, thương hiệu
Downloaded by SAU SAU (saudinh1@gmail.com)
Phân tích và khởi tạo CSDL
Mô tả chi tiết use case
Admin: Có thể đăng nhập để quản lý tài khoản, bảo trì sản phẩm, quản lý đơn hàng, comment.
Khách hàng: có thể đăng kí, đăng nhập, xem chi tiết sản phẩm, tìm kiếm sản phẩm theo tên(hoặc theo danh mục), quản lý thông tin cá nhân, lấy lại mật khẩu, đặt mua, quản lý giỏ hàng, comment.
Downloaded by SAU SAU (saudinh1@gmail.com)
UC3 Tìm kiếm sản phẩm
UC4 Xem chi tiết sản phẩm
UC6 Quản lý thông tin cá nhân
UC7 Quản lý giỏ hàng
UC8 Quản lý tài khoản
UC9 Bảo trì sản phẩm
UC10 Quản lý đơn hàng
UC12 Lấy lại mật khẩu
2.1.2 Mô tả use case đăng kí
Tên use case Đăng ký
Tác nhân chính Khách hàng
Người chịu trách nhiệm Khách hàng
Tiền điều kiện -Thiết bị của khách hàng được kết nối internet
-Khách hàng truy cập vào trang web Đảm bảo tối thiểu -Thông báo lỗi và yêu cầu nhập lại dữ liệu Đảm bảo thành công -Người dùng đăng ký thành công, tài khoản được thêm vào csdl
Kích hoạt Khách hàng kích nút “Đăng ký”
1 Khách hàng kích nút “Đăng ký”
2 Màn hình hiển thị form đăng ký
3 Khách hàng chọn liên kết với tài khoản google hoặc nhập thông tin trong form và kích nút “Đồng ý”
4 Màn hình hiển thị xác nhận mã
5 Khách hàng nhập mã OTP và kích nút “Gửi”
6 Thông tin khách hàng được thêm vào trong CSDL Hệ thống hiển thị thông báo đăng ký thành công
7 Màn hình quay lại màn hình đăng nhập
3.a: Hệ thống thông báo số điện thoại đã được đăng ký tài khoản khác
3.a.1: Hệ thống đưa ra thông báo số điện thoại đã được đăng ký
3.a.2: Khách hàng nhập lại số điện thoại
-Tại bất kỳ thời điểm nào trong quá trình thực hiện use case, nếu bị mất kết nối tới CSDL sẽ tự động thông báo lỗi, use case kết thúc.
2.1.3 Mô tả use case đăng nhập
Tên use case Đăng nhập
Tác nhân chính Khách hàng
Người chịu trách nhiệm Khách hàng
Tiền điều kiện -Khách hàng đã đăng ký tài khoản
Downloaded by SAU SAU (saudinh1@gmail.com)
-Thiết bị của khách hàng được kết nối internet Đảm bảo tối thiểu -Thông báo lỗi và quay lại bước trước Đảm bảo thành công -Người dùng đăng nhập thành công
Kích hoạt Khách hàng kích nút “Đăng nhập”
1 Khách hàng kích nút “Đăng nhập” trên màn hình trang chủ
2 Hệ thống hiển thị form đăng nhập
3 Khách hàng nhập số điện thoại, mật khẩu và kích nút “ĐĂNG NHẬP” trên form
4 Hệ thống kiểm tra thông tin tài khoản đã có trong CSDL chưa?
5 Đăng nhập thành công Màn hình hiển thị trang chủ hệ thống
4.a: Thông tin tài khoản đăng nhập không hợp lệ
4.a.1:Hệ thống yêu cầu nhập lại số điện thoại hoặc mật khẩu
4.a.2: Khách hàng nhập lại thông tin tài khoản để đăng nhập lại
- Tại bất kỳ thời điểm nào trong quá trình thực hiện use case, nếu bị mất kết nối tới CSDL sẽ tự động thông báo lỗi, use case kết thúc.
2.1.4 Mô tả use case tìm kiếm sản phẩm
Tên use case Tìm kiếm sản phẩm
Tác nhân chính Khách hàng
Người chịu trách nhiệm Khách hàng
Tiền điều kiện -Khách hàng truy cập vào trang web
-Thiết bị của khách hàng được kết nối internet Đảm bảo tối thiểu -Hệ thống sẽ cho nhập lại thông tin tìm kiếm khác Đảm bảo thành công -Thông tin sản phẩm tìm kiếm được hiển thị lên màn hình
Kích hoạt Khách hàng kích nút “Tìm kiếm”
1 Khách hàng nhấn vào ô “Tìm kiếm” để nhập thông tin sản phẩm cần tìm
2 Kích nút “Search” để tìm kiếm sản phẩm
3 Hệ thống truy vấn vào CSDL để kiểm tra sản phẩm có trong CSDL hay không?
4 Hệ thống hiển thị kết quả tìm kiếm lên màn hình
- Tại bất kỳ thời điểm nào trong quá trình thực hiện use case, nếu bị mất kết nối tới CSDL sẽ tự động thông báo lỗi, use case kết thúc.
2.1.5 Mô tả use case xem chi tiết sản phẩm
Tên use case Xem chi tiết sản phẩm
Tác nhân chính Khách hàng
Người chịu trách nhiệm Khách hàng
Tiền điều kiện -Khách hàng truy cập vào trang web
-Thiết bị của khách hàng được kết nối internet Đảm bảo tối thiểu -Thông báo lỗi và quay lại trang chủ Đảm bảo thành công -Thông tin về sản phẩm được hiển thị màn hình
Kích hoạt Khách hàng chọn vào một sản phẩm bất kỳ
1 Khách hàng truy cập vào trang web
2 Khách hàng đăng nhập vào tài khoản của mình
3 Khách hàng chọn chức năng xem hàng
4 Khách hàng chọn xem chi tiết hàng
3.1: Nếu sản phẩm không có trong CSDL thì sẽ có thông báo không tìm thấy sản phẩm
- Tại bất kỳ thời điểm nào trong quá trình thực hiện use case, nếu bị mất kết nối tới
CSDL sẽ tự động thông báo lỗi, use case kết thúc.
2.1.6 Mô tả use case đặt mua
Downloaded by SAU SAU (saudinh1@gmail.com)
Tên use case Đặt mua
Tác nhân chính Khách hàng
Người chịu trách nhiệm Khách hàng
Tiền điều kiện -Khách hàng đã đăng nhập
-Thiết bị của khách hàng được kết nối internet Đảm bảo tối thiểu -Hệ thống thông báo lỗi và quay về bước trước Đảm bảo thành công -Khách hàng đặt hàng thành công
Kích hoạt -Khách hàng chọn mục thanh toán và chọn sản phẩm cần thanh toán Chuỗi sự kiện chính:
2 Chọn sản phẩm cần mua
3 Kích vào nút “Thanh toán”
4 Hệ thống hiển thị form yêu cầu hoàn tất thông tin hóa đơn
5 Kích nút “Đặt hàng ngay”
6 Hệ thống thêm đơn hàng vào CSDL
7 Hệ thống hiển thị thông báo đặt hàng thành công
3.a: Hệ thống thông báo hết hàng
3.a.1: Khách hàng chọn sản phẩm khác
- Tại bất kỳ thời điểm nào trong quá trình thực hiện use case, nếu bị mất kết nối tới
CSDL sẽ tự động thông báo lỗi, use case kết thúc.
2.1.7 Mô tả use case quản lý thông tin cá nhân
Tên use case Cập nhật TT cá nhân
Tác nhân chính Khách hàng
Người chịu trách nhiệm Khách hàng
Tiền điều kiện -Khách hàng đã đăng nhập
-Thiết bị của khách hàng được kết nối internet Đảm bảo tối thiểu -Hệ thống loại bỏ các thông tin đã cập nhật và quay lại bước trước Đảm bảo thành công -Thông tin tài khoản được cập nhật thành công
Kích hoạt -Khách hàng kích nút “Cập nhật tài khoản”
1 Kích nút “Sửa thông tin cá nhân”
2 Màn hình hiển thị form thông tin tài khoản
3 Khách hàng cập nhật thông tin tài khoản mới
4 Thông tin cá nhân mới được sửa lại trong CSDL Hệ thống hiển thị thông báo cập nhật thành công
3.a Hệ thống thông báo thông tin cá nhân mới không hợp lệ
3.a.1: Hệ thống yêu cầu nhập lại những thông tin bị sai
3.a.2: Khách hàng nhập lại thông tin cá nhân
- Tại bất kỳ thời điểm nào trong quá trình thực hiện use case, nếu bị mất kết nối tới
CSDL sẽ tự động thông báo lỗi, use case kết thúc.
2.1.8 Mô tả use case quản lý giỏ hàng
Tên use case Quản lý giỏ hàng
Tác nhân chính Khách hàng
Người chịu trách nhiệm Khách hàng
Tiền điều kiện -Khách hàng đã đăng nhập
-Thiết bị của khách hàng được kết nối internet Đảm bảo tối thiểu - Hệ thống thông báo lỗi và quay về bước trước Đảm bảo thành công -Hệ thống hiển thị lên giỏ hàng cho khách hàng
Kích hoạt -Khách hàng kích nút “Giỏ hàng”
1 Hiển thị lên các sản phẩm có trong giỏ hàng
2 Nhấn vào sản phẩm để thay đổi kích thước hoặc màu sắc của sản phẩm
3 Kích nút “+” để tăng số lượng một sản phẩm thêm 1
4 Kích nút “-” để giảm số lượng một sản phẩm đi 1
5 Kích nút “Xóa” để xóa một sản phẩm
6 Kích nút “Xóa giỏ hàng” để xóa toàn bộ sản phẩm trong giỏ
7 Hệ thống hiển thị màn hình xác nhận xóa toàn bộ sản phẩm trong giỏ
8 Màn hình chuyển về trang chủ để tiếp tục xem sản phẩm
Downloaded by SAU SAU (saudinh1@gmail.com)
- Tại bất kỳ thời điểm nào trong quá trình thực hiện use case, nếu bị mất kết nối tới
CSDL sẽ tự động thông báo lỗi, use case kết thúc.
2.1.9 Mô tả use case quản lý tài khoản
Tên use case Quản lý tài khoản
Tác nhân chính Quản trị viên
Người chịu trách nhiệm Quản trị viên
Tiền điều kiện -Quản trị viên đã đăng nhập
-Thiết bị của quản trị viên được kết nối internet Đảm bảo tối thiểu - Hệ thống thông báo lỗi và quay về bước trước Đảm bảo thành công -Quản trị viên có thể thực hiện các thay đổi liên quan đến tài khoản của khách hàng
Kích hoạt -Quản trị viên chọn nút “Quản lý tài khoản”
1 Hệ thống hiển thị giao diện form quản lý tài khoản
2 Quản trị viên chọn chức năng muốn sử dụng
2.1.Quản trị viên chọn chức năng cập nhật tài khoản
2.1.1 Quản trị viên kích nút “Mở/Khóa” trên một dòng tài khoản.
2.1.2 Hệ thống hiển thị màn hình xác nhận mở/khóa tài khoản
2.1.3 Người quản trị kích nút “Đồng ý” Hệ thống sẽ lưu trạng thái mới của tài khoản trong CSDL Hệ thống hiển thị danh sách tài khoản đã cập nhật lên màn hình
2.2.Quản trị viên chọn chức năng xóa tài khoản
2.2.1 Quản trị viên kích nút “Xóa” trên một dòng tài khoản
2.2.2 Hệ thống hiển thị màn hình xác nhận xóa
2.2.3 Người quản trị kích nút “Đồng ý” Hệ thống sẽ xóa tài khoản trên CSDL Hệ thống hiển thị danh sách tài khoản đã cập nhật lên màn hình
- Tại bất kỳ thời điểm nào trong quá trình thực hiện use case, nếu bị mất kết nối tới CSDL sẽ tự động thông báo lỗi, use case kết thúc.
2.1.10 Mô tả use case bảo trì sản phẩm
Tên use case Bảo trì sản phẩm
Tác nhân chính Quản trị viên
Người chịu trách nhiệm Quản trị viên
Tiền điều kiện -Quản trị viên đã đăng nhập
-Thiết bị của quản trị viên được kết nối internet Đảm bảo tối thiểu - Hệ thống thông báo lỗi và quay về bước trước Đảm bảo thành công -Quản trị viên có thể thực hiện các thay đổi liên quan đến sản phẩm trong hệ thống
Kích hoạt -Quản trị viên chọn nút “Bảo trì sản phẩm”
1 Hệ thống hiển thị giao diện form bảo trì sản phẩm
2 Quản trị viên chọn chức năng muốn sử dụng
2.1.Quản trị viên chọn chức năng thêm sản phẩm
2.1.1 Quản trị viên kích nút “Thêm” để bắt đầu thêm sản phẩm mới.
2.1.2 Hệ thống hiển thị form điền thông tin sản phẩm mới
2.1.3 Quản trị viên điền thông tin sản phẩm mới
2.1.4 Hệ thống sẽ thêm sản phẩm mới vào bảng PRODUCTS trong CSDL Hệ thống hiển thị danh sách sản phẩm đã cập nhật lên màn hình
2.2.Quản trị viên chọn chức năng sửa sản phẩm
2.2.1 Quản trị viên kích nút “Sửa” trên một dòng sản phẩm.
2.2.2 Hệ thống hiển thị form sửa thông tin sản phẩm
2.2.3 Quản trị viên điền thông tin cần sửa đổi
Biểu đồ ERD
Yêu cầu nghiệp vụ: Từ những yêu cầu của khách hàng, đưa ra được những yêu cầu nghiệp vụ sau:
- Mỗi sản phẩm được xác đinh bởi mã sản phẩm, tên sản phẩm, ảnh minh hoạ, mô tả, giá, khuyến mãi, số lượng, kích thước.
- Khách hàng được xác định bởi mã khách hàng, tên khách hàng, email, địa chỉ, SĐT, tên tài khoản, mật khẩu,ảnh.
- Website có bao gồm nhiều danh mục Một danh mục có thể có một hoặc nhiều sản phẩm, mỗi sản phẩm chỉ thuộc về một và chỉ một danh mục Thông tin về danh mục bao gồm: mã danh mục, tên danh mục.
- Một khách hàng có thể đặt không, một hoặc nhiều đơn hàng Mỗi đơn hàng chỉ được đặt bởi một và chỉ một khách hàng Mỗi đơn hàng được xác định bởi số đơn hàng, tên người nhận, số điện thoại người nhận, địa chỉ giao hàng, tổng tiền, ngày lập Mỗi đơn hàng phải đặt một hoặc nhiều sản phẩm Mỗi sản phẩm có thể đặt trong không, một hoặc nhiều đơn hàng.
- Mỗi sản phẩm được đặt trong một đơn hàng cụ thể phải có số lượng yêu cầu và giá bán Tuỳ theo giá sale tại từng thời điểm mà một sản phẩm có thể được bán với giá khác nhau.
Downloaded by SAU SAU (saudinh1@gmail.com)
- Mỗi sản phẩm có thể có nhiều khách hàng comment và một khách hàng có thể comment trong không, một hoặc nhiều sản phẩm Thông tin về comment được lưu lại trong database gồm: mã, nội dung comment, thời gian comment, thời gian chỉnh sửa comment (nếu có).
- Một comment có thể có không,một hoặc nhiều replies và mỗi replies chỉ thuộc về một và chỉ một comment Thông tin về replies cũng bao gồm: mã, nội dung, thời gian rep, thời gian chỉnh sửa lại rep(nếu có).
Xây dựng ứng dụng
Xây dựng giao diện ứng dụng web
3.1.1 Giao diện cho khách hàng
Giao diện tất cả sản phẩm
Downloaded by SAU SAU (saudinh1@gmail.com)
Giao diện chi tiết sản phẩm
Downloaded by SAU SAU (saudinh1@gmail.com)
Giao diện tra cứu đơn hàng của khách hàng
Giao diện lấy lại mật khẩu
Giao diện sửa thông tin khách hàng
Downloaded by SAU SAU (saudinh1@gmail.com)
Giao diện thêm danh mục
Giao diện danh sách danh mục
Giao diện thêm sản phẩm
Giao diện danh sách sản phẩm
Downloaded by SAU SAU (saudinh1@gmail.com)
Giao diện quản lý đơn hàng
Giao diện chi tiết đơn hàng