CHƯƠNG III: PHÂN TÍCH & THIẾT KẾ
4. Mô tả và biểu đồ Use Case
USE CASE ĐĂNG NHẬP
No. UC01
Name Đăng nhập
Description Cách Actor đăng nhập vào hệ thống thông qua tài khoản của mình.
Actor Quản trị, Nhân viên, Khách hàng.
Preconditions Actor đã có tài khoản trong hệ thống và chưa đăng nhập vào hệ thống.
Post
Conditions Actor đã đăng nhập vào hệ thống.
Main flow
1. Actor nhập vào Tên đăng nhập và Mật khẩu.
2. Actor chọn nút Đăng nhập.
3. Hệ thống kiểm tra Tên đăng nhập và Mật khẩu ở DB.
4. Đăng nhập thành công, hệ thống chuyển về trang chủ.
Exception 3.1. Tên đăng nhập hoặc Mật khẩu sai: hệ thống thông báo đăng nhập không thành công và yêu cầu nhập lại.
Hình 3: Biểu đồ Tuần tự cho Use case Đăng nhập
14
USE CASE PHỤC HỒI MẬT KHẨU
No. UC02
Name Phục hồi mật khẩu
Description Cách Actor phục hồi mật khẩu của mình.
Actor Khách hàng
Preconditions Actor đã có tài khoản trong hệ thống và chưa đăng nhập.
Post
Conditions Actor nhận được email chứa mật khẩu mới từ hệ thống.
Main flow
1. Actor nhập Tên đăng nhập hoặc Email.
2. Hệ thống kiểm tra Tên đăng nhập hoặc Email phải được nhập vào. Tên đăng nhập không chứa ký tự đặc biệt, Email đúng cú pháp.
3. Hệ thống kiểm tra Tên đăng nhập hoặc Email ở DB.
Exception
3.1 Tên đăng nhập hoặc Email tồn tại trong hệ thống, hệ thống tự động gửi Email chứa mật khẩu mới tới địa chỉ mail đã đăng ký.
3.2 Tên đăng nhập hoặc Email không tồn tại trong hệ thống, thông báo không tồn tại tài khoản và kết thúc Use Case.
Hình 4: Biểu đồ Tuần tự cho Use case Phục hồi mật khẩu
15
USE CASE ĐĂNG XUẤT
No. UC03
Name Đăng xuất
Description Cách Actor đăng xuất khỏi hệ thống.
Actor Quản trị, Nhân viên, Khách hàng.
Preconditions Actor đang đăng nhập hệ thống.
Post
Conditions Actor đã đăng xuất ra khỏi hệ thống.
Main flow
1. Actor chọn chức năng Đăng xuất.
2. Hệ thống hủy phiên làm việc hiện tại và tự động chuyển về trang chủ.
Exception
USE CASE QUẢN LÝ TÀI KHOẢN
Hình 5: Use Case Quản Lý Tài khoản
16
Hình 6: Biểu đồ Hoạt động của Use Case Quản lý Tài khoản
17
USE CASE ĐĂNG KÝ TÀI KHOẢN MỚI
No. UC04
Name Đăng ký Tài khoản mới.
Description Use case mô tả cách Actor đăng ký tài khoản mới.
Actor Khách viếng thăm.
Preconditions Actor chưa có tài khoản trong hệ thống.
Post
Conditions
Actor đăng ký tài khoản thành công.
Main flow 1. Use case sẽ được thực hiện khi Actor chọn chức năng Đăng ký.
2. Hệ thống hiển thị trang Đăng ký.
3. Actor nhập vào các thông tin: tên đăng nhập, mật khẩu, xác nhận mật khẩu, họ tên, email, điện thoại, giới tính, ngày sinh, chứng minh thư, địa chỉ, mã xác nhận. Sau đó click nút Đăng ký.
4. Hệ thống kiểm tra thông tin Actor nhập vào.
5. Hệ thống lưu thông tin tài khoản mới xuống DB.
6. Chuyển qua trang thông báo tạo tài khoản mới thành công và tự động đăng nhập vào hệ thống, chuyển tới trang Thông báo đăng ký tài khoản mới thành công.
Exception 4.1 Kiểm tra tên đăng nhập bắt buộc phải nhập, không chứa ký tự đặc biệt, chưa được đăng ký, nếu không yêu cầu Actor chọn tên đăng nhập khác.
4.2 Kiểm tra độ dài mật khẩu phải lớn hơn hoặc bằng 6 ký tự, không chứa ký tự đặc biệt và xác nhận mật khẩu phải giống với mật khẩu, nếu không yêu cầu nhập lại.
4.3 Kiểm tra email phải đúng cú pháp, chưa tồn tại, nếu không yêu cầu nhập lại.
4.4 Kiểm tra số điện thoại chỉ chứa số, chưa tồn tại, nếu không yêu cầu nhập lại.
18
Hình 7: Biểu đồ Tuần tự cho Use case Đăng ký Tài khoản mới.
USE CASE SỬA THÔNG TIN TÀI KHOẢN
No. UC05
Name Sửa Thông tin Tài khoản.
Description Use case mô tả cách Actor Sửa Thông tin tài khoản của mình.
Actor Khách hàng, Nhân viên, Quản trị.
Preconditions Actor đã đăng nhập vào hệ thống.
Post
Conditions
Actor thay đổi thông tin tài khoản thành công.
Main flow 1. Use case sẽ được thực hiện khi Actor chọn chức năng Sửa Thông tin Cá nhân.
2. Hệ thống hiển thị trang Sửa Thông tin Cá nhân.
3. Actor chỉ được phép sửa các thông tin sau: mật khẩu, email, họ tên, điện thoại, địa chỉ. Sau đó click nút Lưu.
4. Hệ thống kiểm tra thông tin Actor nhập vào.
19
5. Hệ thống cập nhật lại thông tin tài khoản xuống DB.
6. Thông báo cập nhật thành công.
Exception 4.5 Kiểm tra độ dài mật khẩu có nhỏ hơn 6 ký tự, có chứa ký tự đặc biệt và không giống với xác nhận mật khẩu, yêu cầu nhập lại.
Nếu bỏ trống thì không cập nhật lại mật khẩu.
4.6 Kiểm tra email chưa đúng cú pháp, đã tồn tại và không giống với xác nhận địa chỉ email, yêu cầu nhập lại.
4.7 Kiểm tra số điện thoại chưa đúng cú pháp, đã tồn tại, yêu cầu nhập lại.
4.8 Kiểm tra họ tên, địa chỉ chưa được nhập, yêu cầu nhập đầy đủ.
Hình 8: Biểu đồ Tuần tự cho Use case Sửa Thông tin Tài khoản
20 USE CASE TRA CỨU VÉ
No. UC06
Name Tra cứu vé.
Description Use case mô tả cách Actor tra cứu vé để đặt vé xe.
Actor Khách hàng, nhân viên, quản trị.
Preconditions Actor đã đăng nhập.
Post
Conditions
Actor tìm được vé thích hợp để đặt vé.
Main flow 1. Use case sẽ thực hiện khi Actor chọn chức năng Đặt vé trực tuyến.
2. Actor chọn điểm đi, điểm đến, ngày đi và nhấn nút tìm kiếm.
3. Hệ thống truy vấn dữ liệu thỏa mãn yêu cầu tìm kiếm và hiển thị ra danh sách các xe, giờ chạy, số lượng chỗ còn trống.
4. Actor chọn xe còn chỗ trống có giờ chạy mà mình muốn.
5. Hệ thống hiển thị sơ đồ chỗ của xe được chọn.
Exception 4.1 Nếu Actor không chọn được chỗ ở xe có giờ chạy mình muốn, thì có thể chọn chức năng Đặt chờ vé ở xe có giờ chạy mình muốn. Để được đưa vào danh sách chờ bắt buộc Actor phải đăng nhập vào hệ thống. Kết thúc Use case..
Hình 9: Biểu đồ Tuần tự cho Use case Tra cứu vé
21 USE CASE ĐẶT VÉ XE
No. UC07
Name Đặt vé xe
Description Cách Actor đặt vé xe.
Actor Khách hàng, Nhân viên, Quản trị Preconditions Actor đã đăng nhập.
Post
Conditions
Actor tạo được Giỏ vé đặt.
Main flow 1. Actor chọn điểm đi, điểm đến, ngày đi và nhấn nút Tìm kiếm.
2. Hệ thống truy vấn dữ liệu thỏa mãn yêu cầu tìm kiếm và hiển thị ra danh sách các xe, giờ chạy, số lượng chỗ còn trống.
3. Actor chọn xe còn chỗ trống có giờ chạy mà mình muốn.
4. Hệ thống hiển thị sơ đồ chỗ của xe được chọn.
5. Actor chọn chỗ còn trống muốn đặt, có thể chọn nhiều chỗ trống trong một lần đặt. Chọn xong nhấn nút Đưa vào Giỏ vé, để có thể chọn chỗ trống ở xe khác trong cùng điểm đi, điểm đến, ngày đi và giờ đi.
6. Chọn xong Giỏ vé, Actor chọn thanh toán giỏ vé, hệ thống chuyển tới trang hình thức thanh toán và chuyển sang Use case thanh toán. Use case kết thúc.
Exception 3.1. Nếu Actor không chọn được chỗ ở xe có giờ chạy mình muốn, thì có thể chọn chức năng Đặt chờ vé ở xe có giờ chạy mình muốn. Để được đưa vào danh sách chờ bắt buộc Actor phải đăng nhập vào hệ thống. Kết thúc Use case.
22
Hình 10: Biểu đồ Tuần tự cho Use case Đặt vé xe
23 USE CASE THANH TOÁN
No. UC08
Name Thanh toán.
Description Mô tả các hình thức và cách thanh toán tiền vé xe đã đặt.
Actor Khách hàng, Nhân viên, Quản trị
Preconditions Actor đã đăng nhập vào hệ thống và giỏ vé đã có.
Post
Conditions
Actor thanh toán vé thành công.
Main flow Hệ thống hiển thị trang hình thức thanh toán với 3 hình thức thanh toán sau khi Actor chọn thanh toán giỏ vé. Actor sẽ chọn 1 trong 3 hình thức thanh toán sau:
- Trực tiếp khi lấy vé.
- Chuyển khoản qua ngân hàng.
- Thanh toán trực tuyến bằng Paypal.
1. Actor chọn hình thức thanh toán trực tiếp khi lấy vé.
1.1. Hệ thống hiển thị Thông tin Khách hàng, quy định về điều kiện vận chuyển và thanh toán, yêu cầu nhập thông tin tên người sẽ thanh toán tiền, số điện thoại và mã bảo mật của hệ thống.
1.2. Actor nhập thông tin, mã bảo mật và xác nhận đặt vé.
1.3. Hệ thống ghi nhận thông tin đặt vé vào DB.
1.4. Hệ thống thực hiện gửi email thông báo đặt vé và hiển thị mẫu phiếu giữ chỗ. Actor có thể in phiếu này để thực hiện thanh toán tại phòng vé.
2. Actor chọn hình thức thanh toán chuyển khoản qua ngân hàng.
2.1. Hệ thống hiển thị danh sách các tài khoản ngân hàng mà Actor có thể chuyển khoản thanh toán tiền vé của mình, hệ thống yêu cầu chọn Ngân hàng và nhập họ tên, số tài khoản của Actor và mã bảo mật.
2.2. Actor nhập thông tin, mã bảo mật và xác nhận đặt vé.
2.3. Hệ thống ghi nhận thông tin đặt vé vào DB.
2.4. Hệ thống thực hiện gửi email thông báo đặt vé và hiển thị
24
mẫu phiếu giữ chỗ. Actor có thể in phiếu này để nhận vé tại phòng vé.
3. Actor chọn hình thức thanh toán trực tuyến bằng Tài khoản Paypal.
3.1. Hệ thống thực hiện chuyển tiếp thông tin phiếu đặt (hóa đơn) đến trang website của dịch vụ thanh toán.
3.2. Actor thực hiện thanh toán với dịch vụ thanh toán.
Exception 1.2.1. Actor nhập mã bảo mật bị sai, yêu cầu nhập lại.
1.2.2. Actor không thực hiện xác nhận đặt vé, hệ thống hủy quá trình đặt vé.
2.2.1. Actor nhập mã bảo mật bị sai, yêu cầu nhập lại.
2.2.2. Actor không thực hiện xác nhận đặt vé, hệ thống hủy quá trình đặt vé.
Hình 11: Biểu đồ Tuần tự cho Use case Thanh toán (Thanh toán trực tiếp)
25
Hình 12: Biểu đồ Tuần tự cho Use case Thanh toán (Thanh toán qua Ngân hàng)
Hình 13: Biểu đồ Tuần tự cho Use case Thanh toán (Thanh toán Paypal)
26 USE CASE HỦY VÉ XE
No. UC09
Name Hủy vé xe.
Description Use case mô tả cách Actor hủy vé xe đã đặt.
Actor Khách hàng, nhân viên, quản trị.
Preconditions Actor đã đăng nhập vào hệ thống.
Post
Conditions
Actor hủy vé xe thành công.
Main flow A. Actor chọn hủy vé.
1. Use case sẽ thực hiện khi Actor chọn hành động hủy vé của vé cần hủy từ danh sách vé đã đặt.
2. Hệ thống xác nhận hành động hủy vé của Actor.
3. Actor xác nhận hành động hủy của mình.
4. Thông báo thành công.
B. Hệ thống tự động hủy vé.
Nếu khách hàng không thanh toán vé trước thời gian quy định thì hệ thống sẽ tự động hủy vé (tức là chuyển tình trạng của vé sang trạng thái hủy).
Exception 3.1 Xác nhận Hủy vé, hệ thống sẽ cập nhật lại tình trạng của Vé về trạng thái hủy.
3.2 Hủy hành động Hủy vé, và kết thúc Use case.
27
Hình 14: Biểu đồ Tuần tự cho Use case Hủy Vé USE CASE XÁC NHẬN VÉ ĐÃ THANH TOÁN
No. UC10
Name Xác nhận vé đã thanh toán.
Description Use case mô tả cách Actor xác nhận vé được đặt đã thanh toán.
Actor Nhân viên, quản trị.
Preconditions Actor đã đăng nhập vào hệ thống.
Post
Conditions
Actor xác nhận vé được đặt đã thanh toán thành công.
Main flow 1. Use case sẽ thực hiện khi Actor chọn chức năng Xác nhận vé đã thanh toán.
2. Hệ thống hiển thị danh sách vé đã được đặt, có cho phép tìm
28
kiếm theo các điều kiện như: ngày đặt, ngày đi, tên tuyến, tên khách hàng, số điện thoại của khách hàng.
3. Actor chọn Xem Chi tiết vé đặt từ danh sách để thực hiện xác nhận thanh toán.
4. Hệ thống hiển thị Chi tiết vé đã được chọn.
5. Actor chọn nút Xác nhận để thực hiện Xác nhận thanh toán.
6. Hệ thống cập nhật lại tình trạng cho vé là đã thanh toán.
Exception
Hình 15: Biểu đồ Tuần tự cho Use case Xác nhận Vé đã Thanh toán
29 USE CASE XỬ LÝ KHÁCH CHỜ
No. UC11
Name Xử Lý Khách Chờ
Description Use case mô tả cách Actor Xử Lý Khách Chờ.
Actor Nhân viên, quản trị.
Preconditions Actor đã đăng nhập vào hệ thống.
Post
Conditions
Main flow 1. Use case sẽ thực hiện khi Actor chọn chức năng Xử Lý Khách Chờ trên menu Quản lý.
2. Hệ thống hiển thị Danh sách Khách Chờ.
3. Actor chọn Tạo Vé Đặt cho khách chờ sau khi có xác nhận đặt vé từ khách chờ này.
4. Hệ thống thực hiện Tạo Vé Đặt.
5. Hệ thống cập nhật lại tình trạng đã xử lý cho khách chờ được chọn và thông báo xử lý thành công.
Exception 4.1 Hệ thống không tạo được vé đặt, thông báo lỗi và quay lại trang Danh sách Khách Chờ.
Hình 16: Biểu đồ tuần tự cho Use Case Xử lý Khách chờ
30
USE CASE QUẢN LÝ DANH MỤC ĐỊA ĐIỂM
Hình 17: Biểu đồ Hoạt động của Use case Quản lý Danh mục địa điểm
31 USE CASE TẠO MỚI ĐỊA ĐIỂM
No. UC12
Name Tạo Địa Điểm.
Description Use case mô tả cách Actor tạo Địa Điểm.
Actor Nhân viên, quản trị.
Preconditions Actor đã đăng nhập vào hệ thống và có quyền là Quản trị.
Post
Conditions
Actor tạo mới Địa Điểm thành công.
Main flow 1. Use case sẽ thực hiện khi Actor chọn Chức năng Tạo mới Địa Điểm.
2. Hệ thống hiển thị trang tạo mới Địa Điểm.
3. Actor nhập các thông tin: Tên địa điểm, ghi chú. Sau đó click nút Lưu.
4. Hệ thống kiểm tra thông tin Actor nhập vào.
5. Hệ thống lưu thông tin Địa Điểm mới vào DB.
6. Chuyển tới trang Danh sách Địa Điểm.
Exception 4.1 Kiểm tra Tên Địa Điểm chưa được nhập vào, đã tồn tại, yêu cầu nhập lại và không quá 50 ký tự.
4.2 Kiểm tra Ghi Chú phải được nhập không quá 50 ký tự.
Hình 18: Biểu đồ tuần tự cho Use Case Tạo mới Địa điểm
32 USE CASE SỬA THÔNG TIN ĐỊA ĐIỂM
No. UC13
Name Sửa thông tin Địa Điểm.
Description Use case mô tả cách Actor sửa thông tin Địa Điểm.
Actor Nhân viên, quản trị.
Preconditions Actor đã đăng nhập vào hệ thống và có quyền là Quản trị.
Post
Conditions
Actor cập nhật lại thông tin Địa Điểm thành công.
Main flow 1. Use case sẽ thực hiện khi Actor chọn Chức năng Sửa thông tin Địa Điểm.
2. Hệ thống hiển thị trang Sửa thông tin Địa Điểm.
3. Actor chỉ được phép sửa các thông tin: Tên địa điểm và ghi chú. Sau đó click nút Cập nhật.
4. Hệ thống kiểm tra thông tin sửa đổi.
5. Hệ thống cập nhật thông tin Địa Điểm vào DB.
6. Chuyển tới trang chi tiết thông tin địa điểm.
Exception 5.1 Kiểm tra Tên Địa Điểm chưa được nhập vào, đã tồn tại, yêu cầu nhập lại và không quá 50 ký tự.
5.2 Kiểm tra Ghi Chú nhập không quá 50 ký tự.
Hình 19: Biểu đồ tuần tự cho Use Case Sửa thông tin Địa điểm
33 USE CASE XÓA THÔNG TIN ĐỊA ĐIỂM
No. UC14
Name Xóa thông tin Địa Điểm.
Description Use case mô tả cách Actor Xóa thông tin của Địa Điểm.
Actor Nhân viên, quản trị.
Preconditions Actor đã đăng nhập vào hệ thống và có quyền là Quản trị.
Post
Conditions
Actor xóa thông tin Địa Điểm thành công.
Main flow 1. Use case sẽ thực hiện khi Actor chọn chức năng Xóa thông tin Địa Điểm.
2. Hệ thống hiển thị trang xác nhận hành động xóa thông tin Địa Điểm của Actor.
3. Actor xác nhận hành động Xóa của mình.
4. Chuyển tới trang danh sách địa điểm.
Exception 3.1 Xác nhận Xóa, hệ thống sẽ cập nhật lại trường Đã xóa của Địa Điểm trong DB là True.
3.2 Hủy hành động Xóa, quay về trang danh mục Danh Mục Địa Điểm và kết thúc Use case.
Hình 20: Biểu đồ tuần tự cho Use Case Xóa thông tin Địa điểm
34
USE CASE QUẢN LÝ TUYẾN
Hình 21: Biểu đồ hoạt động của Use Case Quản lý Tuyến
35 USE CASE TẠO MỚI TUYẾN
No. UC15
Name Tạo Tuyến.
Description Use case mô tả cách Actor tạo Tuyến.
Actor Nhân viên, quản trị.
Preconditions Actor đã đăng nhập vào hệ thống và có quyền là Quản trị.
Post
Conditions
Actor tạo mới Tuyến thành công.
Main flow 7. Use case sẽ thực hiện khi Actor chọn Chức năng Tạo mới Tuyến.
8. Hệ thống hiển thị trang tạo mới Tuyến.
9. Actor nhập các thông tin: tên tuyến, địa điểm đi, địa điểm đến và ghi chú. Sau đó click nút Lưu
10. Hệ thống kiểm tra thông tin Actor nhập vào.
11. Hệ thống lưu thông tin Tuyến mới vào DB.
12. Chuyển tới trang Danh sách Tuyến.
Exception 4.1 Kiểm tra Tên Tuyến chưa được nhập vào, đã tồn tại, yêu cầu nhập lại.
4.2 Kiểm tra địa điểm đi, địa điểm đến phải được chọn, nếu chưa yêu cầu chọn đầy đủ, địa điểm đi và địa điểm đến không được trùng nhau.
Hình 22: Biểu đồ tuần tự cho Use Case Tạo mới Tuyến
36 USE CASE SỬA THÔNG TIN TUYẾN
No. UC16
Name Sửa thông tin Tuyến.
Description Use case mô tả cách Actor sửa thông tin Tuyến.
Actor Nhân viên, quản trị.
Preconditions Actor đã đăng nhập vào hệ thống và có quyền là Quản trị.
Post
Conditions
Actor cập nhật lại thông tin Tuyến thành công.
Main flow 7. Use case sẽ thực hiện khi Actor chọn Chức năng Sửa thông tin Tuyến.
8. Hệ thống hiển thị trang Sửa thông tin Tuyến.
9. Actor chỉ được phép sửa các thông tin: tên tuyến, địa điểm đi, địa điểm đến và ghi chú. Sau đó click nút Cập nhật.
10. Hệ thống kiểm tra thông tin sửa đổi.
11. Hệ thống cập nhật thông tin Tuyến vào DB.
12. Chuyển tới trang chi tiết tuyến.
Exception 5.1 Kiểm tra Tên Tuyến chưa được nhập vào, đã tồn tại, yêu cầu nhập lại.
5.2 Kiểm tra địa điểm đi, địa điểm đến phải được chọn, nếu chưa yêu cầu chọn đầy đủ, địa điểm đi và địa điểm đến không được trùng nhau.
Hình 23: Biểu đồ tuần tự cho Use Case Sửa thông tin Tuyến.