CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1. Phân tích yêu cầu
3.1.1. Mô hình hóa chức năng
• Sơ đồ Usecase tổng quát
Hình 3.0 :Use case tổng quát các chức năng của hệ thống
Xác định các Actor của ứng dụng:
Khách hàng Đăng nhập
Quản lý thông tin cá nhân
Đặt món Cập nhật giỏ hàng
Yêu cầu tư vấn
Là những người ghé thăm website của cửa hàng.Tại đây khách hàng có thể tiến hàng đặt món ăn hoặc quản
lý thông tin cá nhân, thêm sản phẩm yêu thích vào giỏ
hàng bằng cách đăng nhập hoặc đăng kí nếu chưa có tài khoản. Trong quá trình truy cập vào trang web nếu có vướng mắt liên quan đến
đặt hàng, sản phẩm, thanh toán,....khách hàng có thể yêu cầu sự hỗ trợ từ nhân
viên tư vấn Nhân viên
Đăng nhập Quản lý menu Quản lý đặt món
Quản lý tài khoản khách
hàng Quản lý hóa đơn Chăm sóc khách hàng
Quản lý giỏ hàng Quản lý nhập hàng Chăm sóc khách hàng
Là người quản lý website bán hàng trực tuyến, họ là
người theo dõi sát tình trạng các đơn hàng được đặt qua web, từ khi khách hàng đặt mua cho đến khi đơn hàng được giao thành công. Họ cũng là người tiếp nhận và giải đáp trực tiếp các thắc mắc, phản hồi
từ phía khách hàng. Chịu trách nhiệm khởi động và đóng hệ thống website bán hàng, để đảm bảo rằng cửa hàng trực tuyến luôn hoạt
động liên tục và ổn định.
Xác định các Use case của ứng dụng
1. Đăng nhập
- Tác nhân: Nhân viên và khách hàng - Điều kiện:
Nhân viên: Đã có tài khoản trên ứng dụng do đội ngũ phát triển ứng dụng cung cấp và đã đăng nhập vào hệ thống
Khách hàng: Đã đăng kí thành công trên hệ thống.
- Mô tả:
Nhân viên sẽ sử dụng tài khoản đã được cung cấp để đăng nhập nhập vào ứng dụng.
Khách hàng dùng tài khoản đã đăng ký để đăng nhập vào ứng dụng.
2. Đăng ký
- Tác nhân: Khách hàng.
- Điều kiện: Chưa có tài khoản trên ứng dụng.
- Mô tả: Khách hàng cần phải đăng kí tài khoản nếu muốn mua hàng trên trang web
3. Quản lý thông tin cá nhân
- Tác nhân: Khách hàng.
- Điều kiện: Đã có tài khoản trên ứng dụng website đặt hàng trực tuyến
- Mô tả: Khách hàng có thể chỉnh sửa và cập nhật thông tin cá nhân của mình
4. Quên mật khẩu
- Tác nhân: Khách hàng - Điều kiện: Khách hàng đã đã đăng ký tài khoản trên ứng dụng.
- Mô tả: Khách hàng đã có tài khoản nhưng quên mật khẩu, cần nhập email đã đăng ký để đặt lại mật khẩu mới.
5. Menu
- Tác nhân: Nhân viên và khách hàng - Điều kiện:
Nhân viên: Đã có tài khoản trên ứng dụng do đội ngũ ứng dụng cung cấp và đã đăng nhập vào hệ thống.
Khách hàng: Đã đăng kí tài khoản thành công trên hệ thống.
- Mô tả:
Nhân viên sẽ sử dụng tài khoản đã được cung cấp để quản lý menu, cập nhật menu mới.
Khách hàng dùng tài khoản đã đăng ký để truy cập vào menu và tìm kiếm sản phẩm mong muốn.
6. Đặt món
- Tác nhân: Khách hàng.
- đăng nhập vào ứng dụng.
- Mô tả: Khách hàng có thể đặt món trên ứng dụng và tra cứu thông
- tin món ăn, nhà hàng.
7. Giỏ hàng
- Tác nhân: Khách hàng.
- Điều kiện: Đã có tài khoản trên ứng dụng sau khi đăng ký thành công trên hệ thống.
- Mô tả: Khách hàng có thể vào xem những món ăn mình đã lưu, có thể thêm món ăn yêu thích vào giỏ hàng và xóa sản phẩm khỏi giỏ hàng.
8. Đơn hàng
- Tác nhân: Khách hàng
- Điều kiện: Đã đăng kí tài khoản thành công trên hệ thống.
- Mô tả: Khách hàng có thể đặt hàng một món ăn hoặc nhiều món ăn cùng lúc trên hệ thống.
9. Chương trình khuyến mãi
- Tác nhân: Khách hàng.
- Điều kiện: Đã có tài khoản trên ứng dụng sau khi đăng ký thành công trên hệ thống.
- Mô tả: Khách hàng có thể xem các chương trình khuyến mãi trên hệ thống để có thể lựa chọn áp dụng vào đơn đặt hàng để giảm giá sản phẩm.
10. Hóa đơn
- Tác nhân: Nhân viên
- Điều kiện: Đã có tài khoản trên ứng dụng do đội ngũ phát triển ứng dụng cung cấp và đã đăng nhập vào hệ thống.
- Mô tả: Khi khách hàng đặt hàng thành công nhân viên sẽ tiến hành tạo lập hóa đơn và quản lý hóa đơn của khách hàng.
11. Quản lý kho
- Tác nhân: Nhân viên
- Điều kiện: Đã có tài khoản trên ứng dụng do đội ngũ phát triển ứng dụng cung cấp và đã đăng nhập vào hệ thống.
- Mô tả: Nhân viên có nhiệm vụ lập phiếu xuất kho và kiểm kê kho định kì để có thể bổ sung sản phẩm kịp thời, đáp ứng nhu cầu của khách hàng.
12. Tài khoản khách hàng
- Tác nhân: Nhân viên - Điều kiện: Đã có tài khoản trên ứng dụng do đội ngũ phát triển ứng dụng cung cấp và
đã đăng nhập vào hệ thống.
- Mô tả: Nhân viên có nhiệm vụ quản lý tài khoản khách hàng để thuận tiện kiểm soát đơn đặt hàng.
13. Chăm sóc khách hàng
- Tác nhân: Nhân viên - Điều kiện: Đã có tài khoản trên ứng dụng do đội ngũ phát triển ứng dụng cung cấp và
đã đăng nhập vào hệ thống.
- Mô tả: Khi khách hàng cần hỗ trợ, nhân viên sẽ xem xét nhu cầu sau đó nhân sẽ cung cấp thông tin và hướng dẫn chi tiết cho khách hàng.
14. Doanh thu
- Tác nhân: Nhân viên - Điều kiện: Đã có tài khoản trên ứng dụng do đội ngũ phát triển ứng dụng cung cấp và
đã đăng nhập vào hệ thống.
- Mô tả: Nhân viên có nhiệm vụ cập nhật doanh thu thực tế, ghi nhận kết quả thống kê để có thể báo cáo thống kê doanh thu định kì.
Phân rã và Đặc tả Usecase của hệ thống
Đăng nhập
Use case
Hình 3.1: Use case đăng nhập
Đặc tả:
Use Case ID UC1
Use Case Name
Đăng nhập
Description Cho phép người dùng(Khách hàng, nhân viên) đăng nhập vào trang web
Actors(s) Người dùng(nhân viên, khách hàng)
Trigger Khách hàng và nhân viên đăng nhập vào ứng dụng với tư cách là người
dùng
Precondition 1 Cài đặt ứng dụng
2. Cấu hình bảo mật 3. Chuẩn bị thông tin đăng nhập 4.Kết nối Internet ổn định
5. Đọc và hiểu các chính sách và điều khoản
Post- Condition
1. Người dùng đăng nhập vào ứng dụng thành công 2. Cập nhật thông tin cá nhân
3. Thiết lập tùy chỉnh cá nhân
Basic Flow 1.Người dùng truy cập vào trang web
2. Người dùng chọn đăng nhập bằng số điện thoại, nhập mật khẩu
3. Chọn đăng nhập bằng cách đăng nhập bằng tài khoản mới hoặc chọn lấy lại mật khẩu
4. Nhấn chọn đăng nhập
5. Hệ thống xác thực đăng nhập thành công và chuyển người dùng đến trang chủ phù hợp
Alternative Flow
1. Khách hàng cố gắng thêm sản phẩm vào giỏ hàng nhưng sản phẩm đã hết hàng.
2.Khách hàng cố gắng xác nhận đơn hàng mà chưa đăng nhập vào hệ thống
3.Khách hàng thực hiện thanh toán nhưng quá trình thanh toán không thành công (ví dụ: thẻ bị từ chối, không đủ số dư)
Exception Flow
1. Hệ thống hiển thị đăng nhập thất bại và yêu cầu đăng nhập lại
2.Hệ thống gặp sự cố kết nối mạng hoặc lỗi hệ thống khi khách hàng đặt hàng.
Activity Diagram
Hình 3.1.A: Activity Diagram đăng nhập
Đăng kí
Use case:
Hình 3.2: Use case đăng kí
Đặc tả:
Use Case ID UC2
Use Case Name
Đăng ký
Description Use Case này cho phép khách hàng mới đăng ký một tài khoản trên hệ
thống để có thể truy cập và sử dụng các tính năng của ứng dụng hoặc trang web.
Actor 1.Khách hàng
2.Hệ thống
Trigger Khách hàng chọn tùy chọn "Đăng ký" hoặc "Tạo tài khoản mới" trên giao
diện của ứng dụng hoặc trang web.
Precondition Khách hàng chưa có tài khoản
Post- Condition
Khách hàng đã đăng ký tài khoản thành công và họ có thể đăng nhập vào hệ thống bằng thông tin đăng nhập của mình.
Basic Flow 1. Khách hàng truy cập trang đăng ký
2. Chọn đăng ký tài khoản 3. Điền thông tin đăng ký 4. Nhập thông tin đăng ký 5. Kiểm tra thông tin 6. Xác nhận đăng ký thành công
Alternative Flow
1. Khách hàng nhập thông tin không hợp lệ và nhấn nút "Đăng ký"
2.Khách hàng không xác thực được email hoặc số điện thoại trong quá trình đăng ký.
Exception Flow
- Khách hàng nhập mật khẩu không đáp ứng các yêu cầu bảo mật của hệ thống (ví dụ: độ dài, ký tự đặc biệt, chữ hoa, chữ thường).
- Hệ thống gặp lỗi kết nối hoặc lỗi nội bộ khi khách hàng gửi yêu cầu đăng ký.
Hình 3.2.A: Activity Diagram đăng ký
Quản lý thông tin cá nhân
Use case:
Hình 3.3: Use case quản lý thông tin cá nhân
Đặc tả:
Use Case ID UC3
Use Case Name
Quản lý thông tin cá nhân
Description Quản lý thông tin cá nhân là quá trình bảo vệ và quản lý các thông tin
cá nhân của người dùng trong hệ thống, đảm bảo tính bảo mật và tuân thủ các quy định pháp luật về bảo vệ dữ liệu.
Actor(s) Khách hàng, hệ thống
Trigger
Precondition 1.Khách hàng cần phải đã đăng nhập vào tài khoản của mình trước
khi có thể quản lý thông tin cá nhân.
2.Thông tin cá nhân của khách hàng đã được lưu trữ trong hệ thống, bao gồm thông tin như tên, địa chỉ, số điện thoại, email,...
3.Khách hàng có quyền truy cập và sửa đổi thông tin cá nhân của mình.
Quyền này phải được hệ thống xác nhận và cho phép trước khi khách hàng có thể tiếp tục.
Post- Condition
1.Thông tin cá nhân của khách hàng đã được cập nhật thành công trong hệ thống.
2.Thông tin cá nhân của khách hàng được bảo vệ và chỉ có quyền truy cập được xác định
3.Hệ thống thông báo cho khách hàng biết rằng quá trình cập nhật thông tin cá nhân đã hoàn tất.
Basic Flow 1.Đăng nhập vào hệ thống
a.Người dùng truy cập vào hệ thống bằng tài khoản và mật khẩu của mình.
2.Truy cập vào mục Quản lý thông tin cá nhân a. Sau khi đăng nhập thành công, người dùng điều hướng đến mục
"Quản lý thông tin cá nhân" hoặc tương tự trong giao diện người dùng.
3. Xem thông tin cá nhân hiện tại a.Hệ thống hiển thị thông tin cá nhân hiện tại của người dùng như tên, địa chỉ, số điện thoại, email,..
4.Chỉnh sửa thông tin cá nhân a.Người dùng chọn chức năng "Chỉnh sửa" hoặc tương tự để bắt đầu quá trình cập nhật thông tin cá nhân.
b.Hệ thống cung cấp các trường dữ liệu cho phép người dùng nhập thông tin mới hoặc sửa đổi thông tin cũ
5.Lưu thay đổi thông tin a.Người dùng hoàn tất việc chỉnh sửa thông tin cá nhân và chọn chức năng "Lưu" để áp dụng các thay đổi.
Alternative Flow
1.Người dùng chọn hủy bỏ quá trình chỉnh sửa thông tin cá nhân 2.Người dùng muốn thay đổi mật khẩu khi đang chỉnh sửa thông tin cá nhân.
Exception Flow
1. Người dùng nhập liệu không đúng định dạng hoặc thiếu thông tin bắt buộc khi chỉnh sửa thông tin cá nhân.
2. Xảy ra lỗi không mong muốn từ phía hệ thống hoặc lỗi kỹ thuật trong quá trình chỉnh sửa thông tin cá nhân.
Activity Diagram:
Hình 3.3.A: Activity Diagram Quản lý thông tin cá nhân
Quên mật khẩu
Use case:
Hình 3.4: Use case quên mật khẩu
Đặc tả
Use Case ID UC4
Use Case Name
Quên mật khẩu
Description Người dùng quên mật khẩu và cần thực hiện các bước để khôi phục mật
khẩu truy cập vào website LauGo
Actor(s) Người dùng(Khách hàng, nhân viên), hệ thống
Trigger Người dùng chọn chức năng "Quên mật khẩu" trên giao diện đăng nhập.
Precondition 1. Người dùng cần phải đã đăng ký tài khoản trước đó trong hệ
thống.
2. Hệ thống phải lưu trữ thông tin liên quan đến email hoặc số điện thoại mà người dùng đã sử dụng để đăng ký.
Post- Condition
1. Mật khẩu mới được thiết lập và thông báo cho người dùng.
2. Người dùng có thể đăng nhập bằng mật khẩu mới để tiếp tục sử dụng hệ thống.
Basic Flow 1. Người dùng truy cập vào trang đăng nhập của hệ thống.
2. Người dùng chọn chức năng "Quên mật khẩu".
3. Hệ thống hiển thị một form yêu cầu người dùng nhập địa chỉ email đã đăng ký.
4. Người dùng nhập địa chỉ email và gửi yêu cầu khôi phục mật khẩu.
5. Hệ thống gửi một email chứa liên kết khôi phục mật khẩu đến địa chỉ email đã cung cấp.
6. Người dùng truy cập vào email và nhấp vào liên kết để đến trang thiết lập mật khẩu mới.
7. Người dùng nhập mật khẩu mới và xác nhận.
8. Hệ thống xác nhận và lưu trữ mật khẩu mới.
9. Hệ thống hiển thị thông báo cho người dùng biết rằng mật khẩu đã được cập nhật thành công.
Alternative Flow
1. Người dùng có thể chọn sử dụng số điện thoại đã đăng ký thay vì địa chỉ email để nhận mã xác nhận khôi phục mật khẩu.
Exception Flow
1.Không tìm thấy địa chỉ email 2. Lỗi gửi email
3.Đường dẫn khôi phục mật khẩu hết hạn
Activity Diagram:
Hình 3.4.A: Activity Diagram Quên mật khẩu
Menu
Usecase
Hình 3.5: Use case Menu
Đặc tả
Use Case ID UC5
Use Case Name
Menu
Description Use Case "Menu" liên quan đến việc điều hướng và tương tác với các
lựa chọn menu của website LauGo
Actor(s) Khách hàng, nhân viên
Trigger Kích hoạt để truy cập vào menu thường xảy ra khi người dùng bắt đầu
điều hướng hoặc muốn thực hiện các hành động cụ thể trong hệ thống.
Precondition 1. Người dùng phải đã đăng nhập vào hệ thống.
2. Các tùy chọn menu phải có thể truy cập và hiển thị đúng dựa trên vai trò hoặc quyền hạn của người dùng.
Post- Condition
1. Người dùng thành công trong việc điều hướng qua các tùy chọn menu.
2. Bất kỳ hành động hoặc lựa chọn nào được thực hiện trong menu đều được thực thi hoặc lưu lại một cách thích hợp.
Basic Flow Khách hàng:
1. Truy cập vào web site 2. Xem các tùy chọn Menu 3. Chọn các mục trong Menu 4. Đưa ra nhu cầu món ăn
Nhân viên:
1. Khảo sát nhu cầu món ăn 2. Lập báo cáo nhu cầu khách hàng 3. Đề xuất món ăn
4. Chọn món ăn cần xóa 5. Cập nhật menu mới 6. Điền thông tin món ăn mới
Alternative Flow
1.Khách hàng khám phá các cài đặt nâng cao hoặc các tính năng cá nhân hóa trong menu.
2.Nhân viên truy cập vào các công cụ quản trị hoặc các chức năng đặc biệt trong menu.
Exception Flow 1.Người dùng (khách hàng hoặc nhân viên) cố gắng truy cập vào các
tùy chọn menu vượt quá quyền hạn của mình.
2.Một số tùy chọn menu có thể tạm thời không có sẵn do bảo trì hệ thống hoặc sự cố kỹ thuật.
3.Xảy ra lỗi kỹ thuật trong khi người dùng điều hướng qua các tùy chọn menu.
Activity
Hình 3.5.A: Activity Diagram Menu
Đặt món
Use case
Hình 3.6: Use case Đặt món
Đặt tả
Use Case ID UC6
Use Case Name
Đặt Món Trực Tuyến
Description Use case này mô tả quy trình đặt món ăn trực tuyến thông qua hệ thống
website LauGo.
Actor(s) 1. Khách hàng
2. Nhân viên
Trigger 1. Khách hàng truy cập website LauGo và chọn nhà hàng.
2. Khách hàng xem thực đơn của nhà hàng và chọn món ăn.
3. Khách hàng thêm món ăn vào giỏ hàng.
4. Khách hàng xác nhận đơn hàng và thanh toán.
Pre- Condition(s)
1. Khách hàng có truy cập internet.
2. Khách hàng có tài khoản LauGo (tùy chọn).
3. Hệ thống website LauGo đang hoạt động bình thường.
4. Nhà hàng đang mở cửa và có món ăn mà khách hàng muốn đặt.
Post- Condition
1. Đơn hàng của khách hàng được đặt thành công.
2. Khách hàng nhận được thông báo xác nhận đơn hàng.
3. Nhà hàng nhận được thông báo về đơn hàng mới.
Basic Flow 1. Khách hàng truy cập website LauGo và chọn nhà hàng.
2. Hệ thống website LauGo hiển thị thực đơn của nhà hàng.
3. Khách hàng xem thực đơn và chọn món ăn.
4. Khách hàng thêm món ăn vào giỏ hàng.
5. Khách hàng xem giỏ hàng và có thể thay đổi số lượng món ăn hoặc xóa món ăn khỏi giỏ hàng.
6. Khách hàng xác nhận đơn hàng và chọn phương thức thanh toán.
7. Hệ thống website LauGo xử lý thanh toán của khách hàng.
8. Hệ thống website LauGo gửi thông báo xác nhận đơn hàng cho khách hàng.
9. Hệ thống website LauGo gửi thông báo về đơn hàng mới cho nhà hàng.
10. Nhà hàng chuẩn bị món ăn theo đơn hàng của khách hàng.
11. Khi món ăn đã sẵn sàng, nhà hàng sẽ thông báo cho khách hàng.
12. Khách hàng đến nhà hàng để nhận món ăn.
Alternative Flow
1. Khách hàng không có tài khoản LauGo. Trong trường hợp này, khách hàng có thể đặt món ăn mà không cần đăng ký tài khoản.
2. Khách hàng muốn đặt món ăn giao hàng. Trong trường hợp này, khách hàng cần chọn địa chỉ giao hàng và phương thức giao hàng.
3. Khách hàng muốn thanh toán bằng tiền mặt. Trong trường hợp này, khách hàng có thể thanh toán khi nhận món ăn.