GIỚI THIỆU CHỨC NĂNG - HỆ THỐNG
Giới thiệu đề tài
Mua sắm làm đẹp là nhu cầu thiết yếu trong cuộc sống hiện đại, phản ánh sự năng động và giao tiếp của con người Nhu cầu này ngày càng đa dạng, từ nón, giày dép, quần áo cho đến trang sức Trong số đó, quần áo đang nhận được sự quan tâm đặc biệt hơn bao giờ hết.
Hình 1.1 Theo nguồn cuocsongomy.com
1.2 Những vấn đề khó khăn của thực trạng
Nhu cầu thời trang của người tiêu dùng đang gia tăng, dẫn đến sự cạnh tranh khốc liệt giữa các cửa hàng Việc chạy đua theo xu hướng khiến nhiều cửa hàng trở nên đơn điệu, dễ làm khách hàng cảm thấy nhàm chán và chuyển sang lựa chọn khác Trong thời đại công nghệ số, sự xuất hiện của nhiều thương hiệu thời trang và các trang web bán hàng trực tuyến đã làm cho việc kinh doanh trở nên khó khăn hơn bao giờ hết.
Với vốn ít và không cần chi phí thuê cửa hàng, việc bán quần áo online trở thành một cách kiếm tiền hiệu quả và ít rủi ro trong bối cảnh nhu cầu thị trường cao Thành công trong kinh doanh online phụ thuộc vào chiến lược và sản phẩm, đồng thời giúp dễ dàng cập nhật xu hướng thời trang Khách hàng có thể tự do chọn lựa quần áo và kích cỡ mà không cần tư vấn từ người bán, điều này dẫn đến lượng khách hàng mua sắm trực tuyến thường cao hơn so với cửa hàng truyền thống.
Hình1.4 tỉ lệ bán hàng online của từng mặt hàng năm 2019 nguồn ProjectMedia
Phân chia công việc
T Tên Thành Viên Nhiệm Vụ
1 Nguyễn Quang Huy Tester, coder
2 Kiều Thanh Tùng Coder, thiết kế Database,
3 Phan Đình Bình Thiết kế, làm Document
Các công cụ và công nghệ
3.1 Các công cụ phát triển sử dụng trong dự án
3.2 Các công nghệ sử dụng trong dự án
3.3 Yêu cầu về trình duyệt
CHỨC NĂNG CỦA CHƯƠNG TRÌNH
Các Tác Nhân Hê ̣ Thống
- Đăng Nhâ ̣p Với Quyền admin
- Xem Danh Sách Các Sản Phẩm
- Quản lý chỉnh sửa, thêm mới xóa sản phẩm
- Quản lý các thành viên
- Quản lý loại sản phẩm
- Quản lý event khuyễn mãi
- Xem các sản phẩm có trên trang web
- Xem chi tiết các sản phầm
- Thừa hưởng tất cả các chức năng của khách Hàng
- Quản lý thông tin cá nhân của khách hàng
- Tham gia các sự kiê ̣n của cửa hàng
Các UseCase
STT CODE TÊN NỘI DUNG
1 UC01 Login Đăng Nhâ ̣p Vào Hê ̣ Thống
2 UC02 Logout Đăng Xuất Hê ̣ Thống
3 UC03 Xem WebSite Xem các sản phẩm Được đăng trên website, thông tin về shop
4 UC04 Thêm vào sản phẩm cho giỏ hàng
Thực hiê ̣n thêm sản phẩm vào giỏi hàng
5 UC05 Xem giỏ hàng Thực hiê ̣n đưa ra các sản phẩm khách hàng đã thêm vào
6 UC06 Xóa sản phẩm trong giỏ hàng
Thực hiê ̣n xóa các sản phẩm trong giỏ hàng
7 UC07 Xem sản phẩm Thực hiê ̣n đưa ra thông tin sản phẩm, hình ảnh, chất liê ̣u….
8 UC08 Đă ̣t Hàng Tiến hành đă ̣t hàng, đưa ra form nhâ ̣p thông tin đăt hàng.
9 UC09 Đăng Kí Thực hiê ̣n mở form đăng kĩ cho khách hàng đăng kí thành viên
10 UC10 Chỉnh Sửa Thông Tin
Thành Viên Thực hiê ̣n chỉnh sửa các thông tin các nhân đối với các khách hàng đã là thành viên
11 UC11 Thêm sản phẩm Thực hiê ̣n thêm các sản phẩm mới
12 UC12 Sửa sản phẩm Thực hiê ̣n sửa các sản phẩm có trong kho hàng, giá ca ̉,thông tin chi tiết
13 UC13 Xóa Sản phẩm Thực hiê ̣n xóa các sản phẩm
14 UC14 Xem sản phẩm Xem chi tiết các sản phẩm
15 UC15 Xem danh sách các sản phẩm
Thực hiê ̣n liê ̣t kê các sản phẩm có trong data
16 UC16 Xem danh sách user Thực hiê ̣n liê ̣t kê các khánh hàng đã đang kí thành viên
17 UC17 Sửa thông tin user Thực hiê ̣n chỉnh sửa thông tin user
18 UC18 Xem Chi tiết user Thực hiê ̣n xem chi tiết thông tin user
19 UC19 Xóa thành viên Thực hiê ̣n xóa thành viên
20 UC20 Chỉnh sửa trạng thái Thực hiê ̣n chuyển trạng thái hóa đơn: giao, chưa giao, tiếp nhâ ̣n
21 UC21 Hủy Đơn hàng Thực hiê ̣n chuyển hủy hóa đơn
22 UC22 Xem chi tiết đơn hàng Thực hiê ̣n xem chi tiết đơn hàng
23 UC23 Liê ̣t kê đơn hàng Liê ̣t kê danh sách đơn hàng
24 UC24 Thêm mới event Thực hiê ̣n thêm các event khuyễn mãi
25 UC25 Sửa Event Thực hiê ̣n sửa các event
26 UC26 Thêm Event Thực hiê ̣n thêm event
27 UC27 Xem event khuyễn mãi Xem danh sách các khuyễn mãi trên website
Sơ Đồ UseCase
3.1 Sơ Đồ UseCase Hê ̣ Thống
Hình 2.1 Sơ đồ UseCase Hê ̣ Thống
3.2.1 Usecase Admin Quản Lý Sản Phẩm
Hình 2.2 Sơ dồ Usecase Quản Lý Sản Phẩm
3.2.2 Usecase Admin Quản Lý FQA
Hình 2.3 Sơ Đồ Usecase Quản Lý FQA
3.2.3 Usecase Admin Quản Lý Đơn Hàng
Hình 2.4 Sơ đồ Usecase Quản Lý Đơn Hàng
3.2.4 Usecase Admin Quản Lý Thành Viên
Hình 2.5 Sơ đồ Usercase Quản Lý Thành Viên
3.2.5 Usecase Admin Quản Lý Khuyễn Mãi, Event
Hình 2.6 Sơ đồ Usecase Khuyễn Mãi, Event
3.2.6 Usecase Khách Hàng
Hình 2.7 Sơ đồ Usecase khách hàng
Hình 2.8 Sơ dồ Usecase thành viên
3.3 Sơ đồ chi tiết UseCase Hệ Thống
3.3.1 Usecase Admin đăng nhập hê ̣ thống
Hình 4 1 Sơ đồ UseCase đăng nhập
Bảng 4 1 Mô tả use-case Login
Chức năng đăng nhập cho phép người dùng đăng nhập vào hệ thống để sử dụng các chức năng của hệ thống.
Trigger: Chức năng này sẽ được sử dụng khi người dùng truy cập vào website
Preconditions: Người dùng đã được cấp một tài khoản để đăng nhập
1 Hệ thống sẽ đưa ra các chức năng chính để người dùng lựa chọn chức năng làm việc.
2 Một phiên làm việc của người dùng bắt đầu từ lúc đăng nhập thành công cho đến khi đăng xuất.
1 Hệ thống sẽ đưa ra trang đăng nhập.
2 Người dùng nhập tên vào ô chữ có nhãn là
“Username” và nhập mật khẩu vào ô chữ có nhãn là “Password”.
3 Khi người dùng nhấn nút “Login” thì hệ thống sẽ tự động chuyển qua trang chính của website
4 Khi người dùng nhấn nút “Reset” thì hệ thống sẽ xóa hết các thông tin đăng nhập để người dùng nhập lại.
1 Nếu người dùng không nhập thông tin vào các ô chữ và nhấn nút “Ok” thì hệ thống sẽ đưa ra thông báo lỗi và đòi hỏi phải nhập thông tin vào các ô chữ đó.
2 Nếu người dùng nhập sai tên đăng nhập hoặc mật khẩu đăng nhập, khi nhấn nút “Login”, hệ thống sẽ đưa ra thông báo lỗi và yêu cầu đăng nhập lại.
Exceptions: Nếu tài khoản đăng nhập hiện đang được sử dụng, khi đăng nhập hệ thống sẽ đưa ra thông báo tài khoản hiện đang sử dụng.
3.3.2 Usecase khách hàng thêm sản phẩm vào giỏ
Hình 4 2 Sơ đồ UseCase thêm sản phẩm vào giỏ hàng
Bảng 4 2 Mô Tả UseCase Thêm Vào Sản Phẩm cho Giỏ hàng:
Use Case Name: Thêm Vào Sản Phẩm cho Giỏ hàng
Description: Chức năng thêm sản phẩm giúp cho người dùng có thể thêm sản phẩm mới.
Trigger: Chức năng này sẽ được sử dụng khi người dùng chọn vào mục “Buy Now”
Preconditions: Người khách hàng đang trong phiên làm việc.
Post Conditions: Một sản phẩm mới sẽ được thêm giỏ hàng.
Normal Flow: 1 Hê ̣ thống sẽ thêm mă ̣t hàng vào giỏ hàng
2 Người dùng có thể xem giỏ hàng xem mình đã đă ̣t bao nhiêu mă ̣t hàng
3.3.3 Usecase khách hàng xem giỏ hàng
Hình 4 3 Sơ đồ UseCase xem giỏ hàng
Bảng 4 3 Mô Tả UseCase Xem Giỏ Hàng
Use Case Name: Xem Giỏ Hàng
Description: Cho người dùng xem các mă ̣t hàng trong giỏ hàng
Trigger: Người dùng nhấp vào nút giỏ hàng được đă ̣t bên góc trên cùng bên phải
Preconditions: Người dùng đang trong phiên
Post Conditions: Hiển thị ra danh sách các mă ̣t hàng đã được thêm vào giỏ hàng
1 Nhấn vào nút giỏ hàng
2 Hiển thị tất cả các mă ̣t hàng đã được thêm vào giỏ hàng
3.3.4 Usecase khách hàng xóa sản phẩm trong giỏ hàng
Hình 4 4 Sơ đồ UseCase xóa sản phẩm khỏi giỏ hàng
Bảng 4 4 Mô Tả UseCase Xóa sản phẩm trong giỏ hàng
Use Case Name: Xóa sản phẩm trong giỏ hàng
Description: Chức năng xóa đơn hàng cho phép người dùng có thể xóa đơn hàng khỏi cơ sở dữ liệu.
Trigger: Chức năng này sẽ được sử dụng khi người dùng nhấn vào mục “Delete” trong form quản lý đặt hàng.
Preconditions: Người dùng đang trong phiên làm việc.
Post Conditions: Một mă ̣t hàng sẽ bị xóa khỏi giỏ hàng
1 Hệ thống sẽ đưa ra form giỏ hàng.
2 Danh sách các mă ̣t hàng sẽ được liệt kê ra để người dùng lựa chọn xóa.
3 Người dùng đánh dấu chọn mă ̣t hàng cần xóa và nhấn nút “Delete”.
4 Nếu chọn “Yes”, hệ thống sẽ đưa ra yêu cầu xác nhận có chắc chắn hay không Nếu chọn “Yes”, hệ thống sẽ xóa mă ̣t hàng đánh dấu khỏi giỏ hàng, nếu chọn “No”, mă ̣t hàng sẽ không bị xóa.
Nếu người dùng không chọn bất kỳ mặt hàng nào và nhấn nút "Delete", hệ thống sẽ hiển thị thông báo yêu cầu người dùng chọn mặt hàng cần xóa.
3.3.5.Usecase tìm kiếm sản phẩm
Hình 4 5 Sơ đồ tìm kiếm sản phẩm
Bảng 4 5 Mô tả UseCase Tìm Kiếm Sản Phẩm
Use Case Name: Tìm Kiếm sản phẩm
Chức năng xem sản phẩm cho phép người dùng có thể tìm kiếm một sản phẩm bất kỳ có trong cơ sở dữ liệu.
Trigger: Chức năng này sẽ sử dụng khi người dùng nhấn vào mục “View” trong form quản lý đặt hàng.
Preconditions: Người quản lý hóa đơn, người quản lý kho hoặc người bán hàng đang trong phiên làm việc.
Post Conditions: Hệ thống sẽ đưa ra thông tin của đơn hàng được tìm kiếm.
Normal Flow: 1 Hệ thống sẽ đưa ra form tìm kiếm sản phẩm.
2 Người dùng có thể lựa chọn tìm theo mã mã sản phẩm.
3 Khi người dùng nhấn nút “Find”, hệ thống sẽ đưa ra thông tin về sản phẩm được tìm kiếm.
4 Nếu tài khoản có quyền hạn AdminSystem, hệ thống sẽ đưa ra thông tin về đơn hàng cùng với các chức năng: sửa thông tin sản phẩm, sửa tình trạng sản phẩm.
5 Nếu tài khoản có quyền hạn admin, hệ thống sẽ đưa ra thông tin về sản phẩm cùng với chức năng: sửa thông tin sản phẩm.
6 Nếu tài khoản có quyền hạn adminSystem, hệ thống sẽ đưa ra thông tin về sản phẩm cùng với chức năng: sửa tình trạng sản phẩm.
1 Nếu người dùng không nhập thông tin vào ô tìm kiếm và nhấn nút “Find”, hệ thống sẽ đưa ra thông báo yêu cầu nhập thông tin tìm kiếm.
2 Nếu dữ liệu nhập vào ô tìm kiếm không hợp lệ, khi nhấn nút “Find”, hệ thống sẽ đưa ra thông báo dữ liệu nhập không hợp lệ và yêu cầu nhập lại.
3 Trường hợp không tìm thấy đơn hàng cần tìm kiếm, hệ thống sẽ đưa ra thông báo không tìm thấy đơn hàng đã yêu cầu.
Special Requirements: Dữ liệu nhập phải hợp lệ: thông tin trong ô tìm kiếm không được chứa ký tự đặc biệt.
3.3.6 Usecase khách hàng đặt hàng
Hình 4 6 Sơ đồ UseCase khách hàng đặt hàng
Bảng 4 6 Mô tả UseCase Đặt hàng
Use Case Name: Đặt hàng
Chức năng đặt hàng cho phép dùng có thể tạo và chỉnh sửa các đơn đặt hàng của mỗi khách hàng.
Trigger: Chức năng này sẽ được sử dụng khi người dùng chọn vào mục “Order”.
Preconditions: Khách hàng đã có tài khoản và Login thành công
Post Conditions: Hệ thống sẽ chuyển sang trang đặt hàng.
1 Nếu đăng nhập thành công, hệ thống sẽ đưa ra trang đặt hàng với đầy đủ các chức năng: thêm đơn hàng, sửa thông tin đơn hàng, xóa đơn hàng,
2 Nếu tài khoản có quyền hạn AdminSystem, hệ thống sẽ đưa ra form quản lý đặt hàng với các chức năng: thay đổi tình trạng đơn hàng, xem danh sách đơn hàng, tìm đơn hàng.
3.3.7 Usecase đăng kí thành viên
Hình 4 7 Sơ đồ UseCase khách hàng đăng kí thành viên
Bảng 4 7 Mô tả UseCase Đăng Ký
Use Case Name: Đăng ký
Chức năng tạo tài khoản giúp cho người quản lý hệ thống có thể tạo mới một tài khoản cho người dùng
Trigger: Chức năng này sẽ được sử dụng khi người dùng chọn vào mục “Add New Account” trong trang quản lý tài khoản.
Preconditions: Người quản lý hệ thống đang trong phiên làm việc của mình.
Post Conditions: Một tài khoản mới sẽ được thêm vào cơ sở dữ liệu.
1 Hệ thống sẽ đưa ra form tạo tài khoản.
2 Người dùng sẽ nhập tên tài khoản vào ô chữ có nhãn “Account name”, nhập mật khẩu vào ô chữ có nhãn “Password”, nhập mật khẩu xác nhận vào ô chữ có nhãn “Confirm password”.Nhâ ̣p địa chủ vào ô có nhãn ”Address” , Nhâ ̣p số điê ̣n thoại vào ô “PhoneNumber“
3 Khi người dùng nhấn vào nút “Create” hệ thống sẽ đưa ra yêu cầu xác nhận Nếu người dùng chọn
“Yes” thì hệ thống sẽ lưu tài khoản mới vào cơ sở dữ liệu, nếu người dùng chọn “No” hệ thống sẽ không lưu tài khoản đó.
4 Nếu người dùng nhấn nút “Clear”, hệ thống sẽ xóa thông tin trong các ô chữ để người dùng nhập lại.
1 Nếu người dùng không nhập thông tin và nhấn nút “Create” thì hệ thống sẽ đưa ra thông báo lỗi và yêu cầu người dùng nhập thông tin.
2 Nếu dữ liệu nhập vào không hợp lệ, khi nhấn nút “Create”, hệ thống sẽ đưa ra thông báo dữ liệu nhập không hợp lệ và yêu cầu nhập lai.
Exceptions: Nếu tài khoản mới trùng tên với một tài khoản có trong cơ sở dữ liệu, hệ thống sẽ đưa ra thông báo tài khoản đã tồn tại.
Special Requirements: Tên tài khoản không được phép để trống hoặc chứa ký tự đặc biệt, mật khẩu phải có 6 ký tự trở lên…
3.3.8 Usecase chỉnh sửa thông tin thành viên
Hình 4 8 Sơ đồ chỉnh sửa thông tin thành viên
Bảng 4 8 Mô tả UseCase Chỉnh Sửa Thông Tin Thành Viên
Use Case Name: Chỉnh Sửa Thông Tin Thành Viên
Chức năng sửa thông tin tài khoản giúp cho người dùng có thế thay đổi các thông tin của tài khoản trong cơ sở dữ liệu
Trigger: Chức năng này sẽ được sử dụng khi người dùng chọn vào mục “Edit account” trong form quản lý tài khoản.
Preconditions: Người quản lý hệ thống đang trong phiên làm việc của mình.
Post Conditions: Thông tin trong một tài khoản sẽ được thay đổi.
Normal Flow: 1 Hệ thống sẽ tự động đưa ra danh sách các tài khoản có trong cơ sở dữ liệu.
2 Người dùng sẽ đánh dấu vào tài khoản cần sửa, hệ thống chỉ cho phép sửa mỗi lần một tài khoản.
3 Nếu không tìm thấy tài khoản cần sửa, người dùng có thể sử dụng chức năng tìm kiếm tài khoản.
4 Khi người dùng nhấn vào nút “Edit” hệ thống sẽ đưa ra thông tin chi tiết về tài khoản được đánh dấu để người dùng có thể sửa chữa.
5 Sau khi thay đổi thông tin,nếu người dùng chọn
“Save”, hệ thống sẽ đưa ra yêu cầu xác nhận có lưu thông tin hay không còn nếu người dùng chọn
“Cancel”, hệ thống sẽ không thay đổi thông tin của tài khoản
6 Nếu người dùng chọn “Yes” thì hệ thống sẽ lưu thông tin mới vào tài khoản đó, nếu người dùng chọn “No” thì hệ thống sẽ giữ nguyên tình trạng của tài khoản.
1 Nếu người dùng không đánh dấu tài khoản nào và nhấn nút “Edit” thì hệ thống sẽ đưa ra yêu cầu dánh dấu vào tài khoản cần sửa chữa.
2 Nếu dữ liệu nhập vào không hợp lệ, khi nhấn nút “Save”, hệ thống sẽ đưa ra thông báo dữ liệu nhập không hợp lệ và yêu cầu nhập lại.
Special Requirements: Thông tin sửa phải hợp lệ: tên tài khoản không được để trống, mật khẩu phải có 6 ký tự trở lên …
Hình 4 9 Sơ đồ thêm sản phẩm
Bảng 4 9 Mô tả UseCase Thêm sản phẩm
Use Case Name: Thêm sản phẩm
Description: Chức năng thêm sản phẩm giúp cho người dùng có thể thêm sản phẩm mới.
Trigger: Chức năng này sẽ được sử dụng khi người dùng chọn vào mục “Add new product” trong form quản lý sản phẩm.
Preconditions: Người quản lý kho đang trong phiên làm việc.
Post Conditions: Một sản phẩm mới sẽ được thêm vào cơ sở dữ liệu.
1 Hệ thống sẽ hiển thị form thêm sản phẩm.
2 Người dùng sẽ điền các thông tin chi tiết về sản phẩm vào các ô chữ tương ứng trên form như: mã sản phẩm, tên sản phẩm, thời hạn bảo hành …
3 Khi người dùng nhấn nút “Add”, hệ thống sẽ đưa ra yêu cầu xác nhận Nếu chọn “Yes”, hệ thống sẽ lưu sản phẩm mới vào cơ sở dữ liệu, nếu chọn “No”, hệ thống sẽ không lưu sản phẩm đó.
4 Khi người dùng nhấn nút “Clear”, thông tin trong các ô nhập liệu sẽ được xóa trắng để người dùng nhập lại.
1 Nếu người dùng không nhập thông tin và nhấn nút “Add”, hệ thống sẽ đưa ra thông báo lỗi và yêu cầu nhập thông tin vào các ô chữ.
2 Nếu dữ liệu nhập vào không hợp lệ, khi nhấn nút “Add”, hệ thống sẽ đưa ra thông báo dữ liệu nhập không hợp lệ và yêu cầu nhập lại.
Thiết kế giao diện hệ thống
4.1.1 Màn hình đăng nhập
Hình 2.9 Mockup giao diện đăng nhập
4.1.2 Màn hình đăng ký
Hình 2.10 Mockup giao diện đăng ký
4.1.3 Màn hình đổi mật khẩu
Hình 1.11 Mockup giao diện đổi mật khẩu
4.1.4 Màn hình quên mật khẩu
Hình 1.12 Mockup giao diện quên mật khẩu
4.1.5 Màn hình trang chủ
Hình 1.13 Mockup giao diện trang chủ
4.1.6 Màn hình chi tiết mua hàng
Hình 1.14 Mockup chi tiết mua hàng
4.1.7 Màn hình quản lý đơn hàng
Hình 1.15 Mockup giao diện quản lý đơn hàng
4.1.8 Màn hình giỏ hàng
Hình 1.16 Mockup giao diện giỏ hàng
4.1.9 Màn hình hóa đơn chi tiết
Hình 1.17 Mockup giao diện hóa đơn chi tiết
Sơ đồ Class Diagram
Hình 2.1: Sơ đồ Class diagram
Mô tả chi tiết luồng chức năng
Hình 2.1: Sơ đồ Activity diagram chức năng đăng nhập
Hình 2.2: Sơ đồ Activity diagram chức năng đăng ký
Hình 2.3: Sơ đồ Activity diagram đặt hàng
Hình 2.4: Sơ đồ Activity diagram thêm mới mặt hàng
Hình 2.5: Sơ đồ Activity diagram xóa mặt hàng
Sơ Đồ ERD
Hình 2.6: Sơ Đồ ERD Diagram
Thiết Kế Dữ Liệu
8.1 Mô tả chi tiết về các quan hệ
Thực thể Thuộc tính Null Khóa chính
Những bảng có tham chiếu đến
Thực thể Thuộc tính Null Khóa chính
Những bảng có tham chiếu đến
MaLoai Varchar(10) Not null LoaiHang
Thực thể Thuộc tính Null Khóa chính
Những bảng có tham chiếu đến
Thực thể Thuộc tính Null Khóa chính
Những bảng có tham chiếu đến
MaDH Varchar(10) Not null * DonHang
Thực thể Thuộc tính Null Khóa chính
Những bảng có tham chiếu đến
Thực thể Thuộc tính Null Khóa chính
Những bảng có tham chiếu đến
MatKhau Varchar(50) Not null KhachHan g
MaQuyen Varchar(10) Not null Quyen
Thực thể Thuộc tính Null Khóa chính
Những bảng có tham chiếu đến
Thực thể Thuộc tính Null Khóa chính
Những bảng có tham chiếu đến
Thực thể Thuộc tính Null Khóa chính
Những bảng có tham chiếu đến
Những bảng có tham chiếu đến