Mỗi con người đã không ít lần phải suy nghĩ, băn khoăn khimuốn tặng cho ai đó một món quà sao cho độc đáo mới lạ và quan trọng làphải mang nhiều ý nghĩa, các bạn sẽ nghĩ đến những bó hoa
KHẢO SÁT BÀI TOÁN
Mô tả
Cửa hàng ngoài việc cung cấp phong phú các loại hoa còn cung cấp đầy đủ các dịch vụ về hoa tươi từ hoa tặng người thân yêu, hoa cưới, tới hoa văn phòng, hoa chúc mừng, hoa sinh nhật. Nhu cầu hoa tươi của bạn sẽ được cửa hàng phục vụ một cách hoàn hảo nhất.
Khách hàng, từ một máy tính tại một nơi nào đó, điền những thông tin thanh toán và địa chỉ liên hệ vào đơn đặt hàng trên Web bán hàng của cửa hàng Khi nhận được yêu cầu mua hàng khách hàng và hệ thống tóm tắt lại những thông tin cần thiết những mặt hàng đã chọn, hình thức thanh toán, địa chỉ giao nhận và số phiếu đặt hàng…Khách hàng kiểm tra lại các thông tin và kích vào nút “đặt hàng” gửi thông tin trả về cho hệ thống.
Khảo sát
1.2.1 Hoạt động của khách hàng
- Một khách hàng khi tham quan cửa hàng, họ sẽ đặt vấn đề cửa hàng bán những gì, thông tin gì về những mặt hàng được bán, giá cả và hình thức thanh toán Do đó để đáp ứng những nhu cầu tối thiểu trên, cửa hàng trên Internet phải đảm bảo cung cấp những thông tin cần thiết, có giá trị và hơn thế nữa là dễ thao tác Hoa khi bán phải có tên, hình ảnh, có giá cả, mô tả và số lượng còn.
- Khi cần mua hoa, khách hàng truy cập vào website để tìm kiếm hoa cần mua và đặt hàng.
- Khách hàng có thể tiến hành đăng ký tài khoản nếu chưa có tài khoản ở trên hệ thống Khi đăng ký khách hàng nhập đầu đủ thông tin bao gồm tên khách hàng, email, địa chỉ, số điện thoại, mật khẩu.
- Khách hàng sẽ cảm thấy thoải mái khi duyệt qua toàn bộ cửa hàng trực tuyến mà không bị gián đoạn ở bất kỳ đâu vì phải lo quyết định xem có mua một mặt hàng nào đó không,cho tới khi kết thúc việc mua hàng Mỗi khách hàng được cung cấp một giỏ hàng tương ứng Khi khách hàng thêm những mặt hàng vào giỏ hàng thì một trang đăng nhập sẽ xuất hiện nếu khách hàng chưa tiến hành đăng nhập Khách hàng có thể cập nhật số lượng của mặt hàng mà mình muốn mua hoặc xóa bỏ mặt hàng hiện có trong giỏ của mình.
- Khách hàng vẫn có thể quay trở lại trang sản phẩm để xem và chọn tiếp, các sản phẩm đã chọn sẽ được lưu vào trong giỏ hàng.
- Khi khách hàng đã sẵn sàng hoàn thành đơn đặt hàng của mình thì khách hàng tiến hành chọn phương thức thanh toán và đặt hàng Thông tin về đặt hàng sẽ được lưu vào cơ sở dữ liệu và chờ người quản trị xử lý Thông tin về hóa đơn bao gồm mã hóa đơn, mã khách hàng, ngày đặt, trạng thái, tổng tiền.
- Sau khi khách hàng đã đặt hàng trên cửa hàng rồi, họ có thể theo dõi đơn đặt hàng của mình để trực tiếp kiểm tra đơn đặt hàng tại trang web của cửa hàng khi có những băn khoăn.
1.2.2 Hoạt động của người quản trị
- Người quản trị ngoài việc nhận thông tin từ khách hàng còn phải đưa thông tin về loại mặt hàng mà mình bán trên trang web.
- Quản lý mặt hàng: người quản trị có thể bổ sung, loại bỏ và cập nhật mặt hàng để phù hợp với tình hình hoạt động của cửa hàng và nhu cầu thị yếu của khách hàng…
- Quản lý khách hàng: quản lý thông tin cá nhân của khách hàng Người quản trị tiến hành xóa tài khoản của khách hàng nếu cần thiết.
- Quản lý và xử lý đơn đặt hàng:
Hiển thị danh sách các đơn đặt hàng đã giao hay chưa giao. Đánh dấu tình trạng giao hàng ứng với đơn đặt hàng đã giao.
- Mỗi khi có thông tin mới về loại hoa, hoạt động của cửa hàng,… người quản trị tiến hành đăng tin tức bao gồm tên tin tức, nội dung, hình, thời gian.
- Cho phép người quản trị thay đổi slider, logo, quảng cáo của trang web.
- Người quản trị có thể tiến hành thống kê doanh thu theo ngày, tháng, năm, số lượng bán, loại hoa bán nhiều nhất.
- Website có thêm phần liên hệ ở cuối trang, là nơi tiếp nhận ý kiến phản hồi của khách hàng Mỗi khi có ý kiến phản hồi của khách hàng, người quản trị tiến hành trả lời và có thể xóa ý kiến phản hồi.
Yêu cầu chức năng và phi chức năng
Downloaded by MON HOANG (monmon3@gmail.com)
Website đáp ứng các chức năng cơ bản của một web bán hàng online, được thiết kế để phù hợp với khách hàng không có tài khoản (Guess) hoặc khách hàng có tài khoản (Customer) hoặc người quản lý (Admin).
1.3.2 Yêu cầu phi chức năng
Phải có một giao diện thân thiện dễ sử dụng:
Màu sắc hài hoà làm nổi bật hình ảnh của sản phẩm, font chữ thống nhất, tiện lợi khi sử dụng.
Giới thiệu những thông tin về cửa hàng: Địa chỉ liên hệ của cửa hàng hoặc các đại lý trực thuộc, các số điện thoại liên hệ, email liên hệ.
Sản phẩm của cửa hàng: sản phẩm đang có, sản phẩm bán chạy, sản phẩm mới nhất, sản phẩm sắp ra mắt…
Giao diện người quản trị:
- Giao diện đơn giản, dễ quản lý dữ liệu.
- Phải được bảo vệ bằng User & Password riêng của Admin.
Kết luận
Từ việc khảo sát ta thấy để làm được một website bán hoa phải đạt được những mục tiêu sau:
- Khách hàng có thể xem, mua bất cứ sản phẩm nào trong kho
- Có hướng dẫn cụ thể về mua hàng, phương thức thanh toán và giao nhận vận chuyển hàng
- Giao diện thân thiện và dễ sử dụng
- Có hỗ trợ để khách hàng có thể trao đổi các thông tin, thắc mắc
- Có sự phân loại các sản phẩm theo danh mục và quản lý có thể thay đổi được
- Các sản phẩm đều được mô tả chi tiết, luôn được cập nhật mới nhất và phong phú nhất
- Có ô tìm kiếm để có thể tìm kiếm mặt hàng nhanh nhất
Một số biểu mẫu
Downloaded by MON HOANG (monmon3@gmail.com)
PHÂN TÍCH VÀ KHỞI TẠO CƠ SỞ DỮ LIỆU
Biểu đồ usecase
2.2.1 Biểu đồ usecase mức tổng quát
Hình 1 Biểu đồ usecase mức tổng quát
Downloaded by MON HOANG (monmon3@gmail.com)
2.2.2 Biểu đồ usecase phân rã
Hình 2 Phân rã usecase của Admin
Hình 3 Phân rã usecase của khách hàng
Downloaded by MON HOANG (monmon3@gmail.com)
Mô tả chi tiết các usecase
Tên use case Đăng nhập
Tác nhân chính Khách hàng, Admin
Tiền điều kiện Tài khoản người dùng đã tồn tại trong hệ thống
1 Người dùng kích vào nút “Đăng nhập” trên trang web
2 Hệ thống hiển thị form đăng nhập
3 Người dùng nhập thông tin tài khoản và chọn “Đăng nhập”
4 Hệ thống xác nhận thông tin đăng nhập, thông báo kết quả và quay lại trang chủ
3a Người dùng không nhập email không đúng định dạng
3.a.1 Hệ thống thông báo: “Email không hợp lệ”
3.a.2 Người dùng nhập lại email
3b Người dùng không nhập mật khẩu
3.b.1 Hệ thống thông báo: “Mật khẩu không được để trống”
3.b.2 Người dùng nhập lại mật khẩu
4a Hệ thống xác minh thông tin đăng nhập không thành công, hiển thị thông báo, quay lại bước 2
- Nếu trong quá trình thực hiện hệ thống bị mất kết nối: Hệ thống thông báo mất kết nối và trở lại giao diện trước đó
Hậu điều kiện - Người dùng đăng nhập hệ thống website thành công.
- Mở phiên làm việc cho người dùng
- Cho phép người dùng thực hiện các chức năng theo role của tài khoản.
Tên use case Đăng ký
Tác nhân chính Khách hàng
Tiền điều kiện Tài khoản người dùng chưa tồn tại trong hệ thống Chuỗi sự kiện chính:
1 Người dùng kích vào nút “Đăng ký” trên trang web
2 Hệ thống hiển thị form đăng ký bao gồm thông tin cá nhân (Họ tên, giới tính, địa chỉ, điện thoại) và thông tin đăng nhập(Email, mật khẩu, nhập lại mật khẩu)
3 Người dùng nhập thông tin tài khoản và chọn “Đăng ký”
4 Hệ thống kiểm tra điều kiện hợp lệ của thông tin nhập
5 Hệ thống thông báo đăng ký thành công và thông báo về tài khoản kèm gửi email thông tin tài khoản Đồng thời lưu thông tin tài khoản vào CSDL Ngoại lệ:
4a Người dùng không nhập 1 trong các thông tin ở trên form
4.a.1 Hệ thống hiển thị thông báo “Không được để trống”
4.a.2 Người dùng tiến hành nhập thông tin vào form
4b Người dùng nhập định dạng Email không đúng
4.b.1 Hệ thống hiển thị thống báo “Email không hợp lệ”
4.b.2 Người dùng tiến hành nhập lại email
4c Người dùng nhập lại ô xác nhận mật khẩu không đúng
4.c.1 Hệ thống hiển thị thông báo “Mật khẩu không trùng khớp”
4.c.2 Người dùng nhập lại vào ô xác nhận mật khẩu
- Nếu trong quá trình thực hiện hệ thống bị mất kết nối: Hệ thống thông báo mất kết nối và trở lại giao diện trước đó
Hậu điều kiện Một tài khoản mới với các thông tin đăng nhập được tạo ra và lưu trữ CSDL.
2.3.3 Usecase Thay đổi thông tin cá nhân
Tên use case Thay đổi thông tin cá nhân
Tác nhân chính Khách hàng
Tiền điều kiện Khách hàng đã đăng nhập vào hệ thống
1 Khách hàng kích vào avatar hoặc tên trên màn hình
2 Hệ thống lấy thông tin của khách hàng trong CSDL và hiển thị ra màn hình
3 Khách hàng nhập thông tin cần sửa.
4 Khách hàng chọn cập nhật để xác nhận thay đổi thông tin
5 Hệ thống tự cập nhật lại dữ liệu và thông báo cập nhật thành công
4a Hệ thống hiển thị không hợp lệ Quay lại bước 3
- Nếu trong quá trình thực hiện hệ thống bị mất kết nối: Hệ thống thông báo mất kết nối và trở lại giao diện trước đó
Hậu điều kiện Thông tin tài khoản của khách hàng được cập nhật lại trong CSDL
Tên use case Xem hàng
Downloaded by MON HOANG (monmon3@gmail.com)
Tác nhân chính Khách hàng
Tiền điều kiện Người dùng đang ở trang có chứa sản phẩm
1 Người dùng chọn một sản phẩm trong danh sách sản phẩm
2 Hệ thống kiểm tra và truy vấn dữ liệu từ CSDL
3 Hệ thống hiển thị trang chi tiết sản phẩm
2a Hệ thống hiển thị thông báo lỗi nếu truy vấn không thành công
- Nếu trong quá trình thực hiện hệ thống bị mất kết nối: Hệ thống thông báo mất kết nối và trở lại giao diện trước đó
Hậu điều kiện Hệ thống hiển thị chi tiết sản phẩm đã chọn
2.3.5 Usecase Thêm hàng vào giỏ
Tên use case Thêm hàng vào giỏ
Tác nhân chính Khách hàng
Tiền điều kiện Người dùng đang ở trang sản phẩm hoặc trang chi tiết sản phẩm Chuỗi sự kiện chính:
1 Người dùng nhấn vào biểu tượng thêm giỏ hàng.
2 Hệ thống kiểm tra số lượng chọn mua với số lượng trong kho.
3 Hệ thống kiểm tra xem sản phẩm đã tồn tại trong giỏ hàng hay chưa
4 Hệ thống thêm sản phẩm vào giỏ hàng và cập nhật số lượng
5 Hệ thống thông báo "Thêm vào giỏ hàng thành công!"
2.a.1 Số lượng của phân loại hàng mà người dùng chọn đã hết.
2.a.2 Hệ thống hiển thị thông báo “Số lượng không được lớn hơn số lượng trong kho”
- Nếu trong quá trình thực hiện hệ thống bị mất kết nối: Hệ thống thông báo mất kết nối và trở lại giao diện trước đó
Hậu điều kiện Sản phẩm sau khi chọn mua sẽ được đưa vào trong giỏ hàng, nếu chọn sản phẩm đã có trong giỏ hàng, hệ thống sẽ cập nhật số lượng
Tác nhân chính Khách hàng
Tiền điều kiện Khách hàng đã đăng nhập hệ thống, Sản phẩm đã tồn tại trong giỏ hàng.
Luồng sự kiện chính Đặt hàng
Khách hàng click vào nút “Đặt hàng” trong giỏ hàng Hệ thống lấy thông tin danh sách sản phẩm trong bảng “GioHang”, thông tin khách hàng trong bảng “TaiKhoan” và lưu thông tin chi tiết các sản phẩm vào bảng “DonHang”.
Khách hàng tiến hành thay đổi số lượng có sản phẩm trong giỏ hàng bằng cách chọn dấu + sẽ tăng số lượng thêm 1 hoặc trừ để giảm số lượng đi 1 và cập nhật thành tiền.
Khách hàng chọn “Xóa” bên cảnh sản phẩm cần xóa Hệ thống sẽ tiến hành xóa sản phẩm khỏi giỏ hàng và cập nhật lại thành tiền.
Nếu khách hàng chưa đăng nhập thì hệ thống yêu cầu khách hàng cần phải đăng nhập hệ thống, sau đó hiển thị màn hình đăng nhập
Không kết nối được với cơ sở dữ liệu : tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc Hậu điều kiện Số lượng sản phẩm trong giỏ hàng được cập nhật trong CSDL
Tác nhân chính Khách hàng
Tiền điều kiện Khách hàng đã đăng nhập hệ thống, Đơn hàng đã được tạo.
Use case này bắt đầu khi khách hàng click vào nút “Thanh toán” trong đơn hàng Hệ thống lấy thông tin danh sách sản phẩm, thông tin khách hàng trong bảng “DonHang” Và lưu thông tin chia tiết đơn hàng vào bảng “ChiTietDonHang” Use case kết thúc
Không kết nối được với cơ sở dữ liệu : tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
Hậu điều kiện Nếu use case thành công thì thông tin về đơn hàng sẽ được cập nhật trong cơ sở dữ liệu và hiển thị thông tin chi tiết đơn đặt hàng cho khách
Downloaded by MON HOANG (monmon3@gmail.com) hàng.
Người thực hiện Người quản trị
Tiền điều kiện Đăng nhập vào hệ thống với quyền quản trị
Use case này bắt đầu khi người quản trị kích vào nút “Quản lý sản phẩm” trên thanh menu quản trị
Hệ thống sẽ lấy danh sách thông tin sản phẩm và hiển thị lên màn hình.
1 Người quản trị kích vào nút “Thêm Mới” trên cửa sổ danh sách sản phẩm Hệ thống hiển thị màn hình yêu cầu nhập thông tin chi tiết cho sản phẩm
2 Người quản trị nhập thông tin cho sản phẩm mới và kích vào nút “Thêm Mới” Hệ thống sẽ tạo một bản ghi mới trong bảng SANPHAM và hiển thị danh sách các sản phẩm được cập nhật ra màn hình.
1 Người quản trị kích vào nút “Sửa” trên một dòng sản phẩm bất kỳ Hệ thống lấy thông tin cũ của sản phẩm và hiển thị lên màn hình trong các Textbox
2 Người quản trị nhập thông tin mới của sản phẩm và kích vào nút “Cập Nhật” Hệ thống sẽ lưu thông tin mới vào bảng SANPHAM và hiển thị danh sách đã cập nhật ra màn hình.
1 Người quản trị ấn vào nút “Xóa” trên một dòng sản phẩm, hệ thống sẽ hiển thị một yêu cầu xác nhận xóa
2 Người quản trị ấn vào nút “Đồng Ý” Hệ thống xóa sản phẩm ra khỏi bảng SanPham và hiện danh sách sản phẩm đã cập nhật Use case kết thúc.
Luồng rẽ nhánh Nếu nhập không hợp lệ một trong các trường dữ liệu thì hệ thống hiển thị thông báo lỗi, người quản trị có thể nhập lại trường dữ liệu đó
Khi sản phẩm có tồn tại trong các hóa đơn thì hệ thống hiển thị thông báo lỗi khi xóa sản phẩm
Tại bước 1 của Xóa sản phẩm Nếu người quản trị chọn “Hủy” hệ thống trở lại trang quản lý sản phẩm ban đầu
Không kết nối được cơ sở dữ liệu: tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc. Hậu điều kiện Nếu use case kết thúc thành công thì thông tin về sản phẩm sẽ được cập nhật trong cơ sở dữ liệu.
2.3.9 Usecase Quản lý khách hàng
Tác nhân chính Người quản trị
Tiền điều kiện Đăng nhập vào hệ thống với quyền quản trị
Biểu đồ thực thể quan hệ
Hình 4 Biểu đồ thực thể quan hệ
Downloaded by MON HOANG (monmon3@gmail.com)
XÂY DỰNG ỨNG DỤNG
Giao diện trang web
3.1.1 Giao diện phía người dùng
Hình 4 Giao diện trang chủ
Hình 5 Giao diện trang giới thiệu
Downloaded by MON HOANG (monmon3@gmail.com)
Hình 6 Giao diện trang danh sách sản phẩm
Hình 7 Giao diện trang tin tức
Hình 8 Giao diện trang check hóa đơn
Downloaded by MON HOANG (monmon3@gmail.com)
Hình 9 Giao diện trang liên hệ
Hình 10 Giao diện đăng nhập
Hình 11 Giao diện đăng ký
3.1.2 Giao diện phía người quản trị
Hình 12 Giao diện đăng nhập
Downloaded by MON HOANG (monmon3@gmail.com)
Hình 13 Giao diện trang tổng quan
Hình 14 Giao diện trang quản lý sản phẩm
Hình 15 Giao diện trang quản lý đơn hàng đã duyệt
Hình 16 Giao diện trang quản lý đơn hàng chưa duyệt
Downloaded by MON HOANG (monmon3@gmail.com)
Hình 17 Giao diện quản lý tin tức
Hình 18 Giao diện thống kê