Đang tải... (xem toàn văn)
Bộ Giáo Dục Và Đào Tạo
Trường Đại Học Ngoại Ngữ - Tin Học Thành Phố Hồ Chí Minh
Khoa Công Nghệ Thông Tin
MÔN HỌC : PHÂN TÍCH THIẾT KẾ PHẦN MỀM ĐỀ TÀI : PHÂN TÍCH THIẾT KẾ HỆ THỐNG ĐẶT XE
Trang 2Bảng phân công công việc
Trang 31.4 So sánh tính năng của các đối thủ 11
2 Phân tích yêu cầu 12
2.1 Mô tả dự án 12
2.2 Actors và Use Cases 13
2.2.1 Các Use Case Diagram 13
2.2.2 Mô tả Actors 15
2.2.3 Mô tả Use Cases 15
2.3 Bảng phân quyền User vs Function 17
3 Yêu cầu chức năng 18
Trang 43.2.2 Activity Diagram: Quản lí đặt xe 47
3.2.3 Activity Diagram: Đổi mã khuyến mãi 47
3.2.4 Activity Diagram::Đánh giá tài xế 48
3.2.5 Activity Diagram: Xác nhận hoàn thành đơn 48
3.2.6 Activity Diagram: Hủy đặt xe 49
3.2.7 Activity Diagram: Thanh toán 49
3.2.8 Activity Diagram: Phân tài xế 50
3.2.9 Activity Diagram: Cập nhật thông tin cá nhân 50
3.2.10 Activity Diagram: Xem lịch sử đặt xe 51
3.2.11 Activity Diagram: Đặt xe 52
3.3 Sequence Diagram 53
3.3.1 Sequence Diagram: Quản lí đặt xe 53
3.3.2 Sequence Diagram: Quản lí profile 54
3.3.3 Sequence Diagram:Xem lịch sử đặt xe 55
3.3.4 Sequence Diagram: Đăng nhập 56
3.3.5 Sequence Diagram: Hủy đặt xe 57
3.3.6 Sequence Diagram: Phân tài xế 58
3.3.7 Sequence Diagram:Thanh toán 59
3.3.8 Sequence Diagram: Đặt xe 60
3.3.9 Sequence Diagram: Cập nhật thông tin cá nhân 61
3.3.10 Sequence Diagram: QnA 62
3.3.11 Sequence Diagram: Đăng xuất 63
3.3.12 Sequence Diagram: Xác nhận hoàn thành đơn 64
3.4 State Diagram 65
3.4.1 State Diagram: <User> 65
3.4.2 State Diagram: <UserIteration> 66
3.4.3 State Diagram: <Driver> 67
3.4.4 State Diagram: <Passenger> 68
4 Thiết kế hệ thống 69
4.1 Thiết kế dữ liệu 69
4.1.1 Class Diagram 69
Trang 51 Giới thiệu
1.1 Mục tiêu
Bản phân tích và thiết kế này cung cấp bản mô tả chi tiết về hệ thống “đặt xe qua ứng dụng Grab”,
bản phân tích các chức năng chủ yếu và bản thiết kế các chức năng thiết kế chính yếu của hệ thống
Giao diện:đơn giản dễ sử dụng, chủ đạo hai màu đen, trắng
Trang 6Đặt xe trực tuyến Người dùng đặt xe trong qua điện thoại và chọn địa điểm cần đến
Tìm tài xế nhanh
Hiển thị giá cước Cung cấp người dùng giá cước dựa trên khoảng cách và thời gian dự kiến của chuyến
Giá cước cao hơn các ứng dụng khác Định vị GPS Giúp người dùng chia sẻ vị trí và giúp
tài xế nhận biết khách hàng đang ở địa
Giao diện:sinh động, bắt mắt chủ yếu hai màu vàng trắng
Đặt xe trực tuyến Người dùng đặt xe trong qua điện thoại và chọn địa điểm cần đến
Tìm tài xế nhanh
Hiển thị giá cước Cung cấp người dùng giá cước dựa trên khoảng cách và thời gian dự kiến
Trang 7Định vị GPS Giúp người dùng chia sẻ vị trí và giúp tài xế nhận biết khách hàng đang ở địa điểm nào
Định vị khá tốt Đôi lúc không hiển thị địa chỉ chính xác Dịch vụ ngoài lĩnh vực Người dùng đặt thức ăn, giao hàng Phí ship rẻ
Trang 9Yêu cầu chức năng Chức năng Ưu điểm Nhược điểm Đặt xe trực tuyến Người dùng đặt xe trong qua điện
thoại và chọn địa điểm cần đến
Hiển thị giá cước Cung cấp người dùng giá cước dựa trên khoảng cách và thời gian dự kiến
Giờ cao điểm giá quá cao
Định vị GPS Giúp người dùng chia sẻ vị trí và giúp tài xế nhận biết khách hàng đang ở địa Dịch vụ ngoài lĩnh vực Người dùng đặt thức ăn, giao hàng Phí giao rẻ
Trang 101.3.4 <Xanh SM>
Giao diện:sinh động, bắt mắt chủ yếu hai màu xanh da trời, trắng,dễ sử dụng
Đặt xe trực tuyến Người dùng đặt xe trong qua điện thoại và chọn địa điểm cần đến
100% xe điện Tìm tài xế lâu Hiển thị giá cước Cung cấp người dùng giá cước dựa
trên khoảng cách và thời gian dự kiến Định vị GPS Giúp người dùng chia sẻ vị trí và giúp
tài xế nhận biết khách hàng đang ở địa
Trang 11Yêu cầu chức năng Chức năng Ưu điểm Nhược điểm Đặt xe trực tuyến Người dùng đặt xe trong qua điện
thoại và chọn địa điểm cần đến
Tìm tài xế lâu Hiển thị giá cước Cung cấp người dùng giá cước dựa
trên khoảng cách và thời gian dự kiến của chuyến
Giá cước rẻ
Định vị GPS Giúp người dùng chia sẻ vị trí và giúp tài xế nhận biết khách hàng đang ở địa điểm nào
Hiển thị địa chỉ không chính xác
Dịch vụ ngoài lĩnh vực Người dùng đặt thức ăn, giao hàng Phí giao rẻ
1.4 So sánh tính năng của các đối thủ
Đánh giá chất lượng từng yêu cầu A theo thang điểm từ (*) đến (*****), nếu chức năng đó không có thì để
Trang 12Dịch vụ ngoài lĩnh vực **** **** ***
Kết luận: Nếu quan tâm đến dịch vụ đa dạng, be và gojek là những đối thủ hấp dẫn Cả hai không chỉ cung cấp dịch vụ đặt xe mà còn cung cấp nhiều dịch vụ đa dạng khác nhau như giao hàng, giao món ăn,đặt vé máy bay Giúp người dùng tiết kiệm thời gian và tiện lợi khi có thể dùng một ứng dụng duy nhất để đáp ứng nhu cầu.Do nhu cầu ở các thành phố phát triển khá lớn nên ưu tiên dịch vụ như be và gojek
2 Phân tích yêu cầu
2.1 Mô tả dự án
Hệ thống đặt xe qua ứng dụng (Grab) là một nền tảng công nghệ được thế kế để kết nối giữa người dùng và tài xế cung cấp dịch vụ vận chuyển thông qua ứng dụng di động
➢ Ứng dụng có đặc điểm nổi bật
✓ Ứng dụng được triển khai trên nền tảng di động sử dụng được trên cả android và IOS, cho phép người dùng có thể truy cập hệ thống dù ở địa điểm nào ✓ Nền tảng đa chức năng, người dùng có thể đặt đồ ăn, giao hàng, đi chợ ✓ Tích hợp và liên kết nhiều doanh nghiệp, tiện lợi cho khách hàng thanh toán và
hỗ trợ ưu đãi doanh nghiệp
✓ Kết nối trực tiếp giữa người dùng và tài xế thông qua ứng dụng, tối ưu hóa thời quá trình đặt xe và thanh toán
✓ Kết nối trực tiếp giữa người dùng và tài xế thông qua ứng dụng, tối ưu hóa thời quá trình đặt xe và thanh toán
✓ Người dùng có thể đánh giá và xem xếp hạng tài xế hoặc nhà cung cấp dịch vụ khác trên nền tảng Grab, tạo ra một môi trường an toàn và đáng tin cậy cho tất cả mọi người
➢ User chính và chức năng từng user: ⚫ Passenger (Hành khách)
o Đặt xe với nhiều loại phương tiện có thể lựa chọn ( Grab Bike, Grab Car,…) o Tích điểm và đổi các ưu đãi, khuyến mãi đặc biệt cho các hành khách sử dụng
dịch vụ của Grab
o Thanh toán các đơn đặt xe bằng nhiều hình thức thanh toán được tích hợp với Grab
⚫ Tài xế (Driver)
o Nhận đơn đặt xe với 2 hình thức thủ công và tự động nhận đơn
o Thanh toán các đơn đặt xe bằng nhiều hình thức thanh toán được tích hợp với Grab
Trang 132.2 Actors và Use Cases 2.2.1 Các Use Case Diagram
UCD tổng quát
Trang 14UCD Quản lí thông tin cá nhân
UCD Quản lí đặt xe
Trang 15UCD Đổi mã khuyến mãi
2.2.2 Mô tả Actors
1 Người dùng (User) Là người sử dụng ứng dụng di động hoặc trang web để đặt xe
2 Tài xế (Driver) Là người nhận yêu cầu đặt xe từ người dùng và chở họ đến điểm đến mong muốn
3 Hệ thống (System) Là phần mềm hoặc nền tảng ứng dụng di động và web quản lý và xử lý yêu cầu đặt xe, hiển thị thông tin tài xế và quản lý thanh toán
2.2.3 Mô tả Use Cases
Mô tả tóm tắt mục đích sử dụng của usecase
2 UC02 Đăng ký Cho phép actor đăng ký một tài khoản cho hệ thống
Trang 163 UC03 Đặt xe Cho phép actor đặt 1 chuyến đi đến địa điểm mong muốn
4 UC04 Phân tài xế Hệ thống tìm tài xế cho đơn đơn mới được tạo 5 UC05 Định vị Hệ thống định vị vị trí của người dùng
6 UC06 Gọi điện Cho phép các actor gọi điện trong nội bộ app miễn phí
8 UC08 Thanh toán Cho phép actor thanh toán đơn đặt xe với nhiều hình thức 9 UC09 Cập nhật thông tin cá nhân Cho phép người dùng thay đổi thông tin cá nhân
10 UC10 Đăng xuất Cho phép actor đăng xuất khỏi hệ thống 11 UC11 Xem lịch sử đặt xe Cho phép actor xem lại các đơn đã đặt 12 UC12 Nhận đơn thủ công Cho phép actor nhận làm tài xế cho chuyến đi
13 UC13 Nhận đơn tự động Cho phép hệ thống chọn những tài xế để tự động nhận đơn 14 UC14 Xác nhận hoàn thành đơn Cho phép actor đặt trạng thái đơn thành đã hoàn thành 15 UC15 Nhắn tin Cho phép một actor nhắn tin với các actor khác
16 UC16 Đổi mã khuyến mãi Cho phép actor đổi mã khuyến mãi
17 UC17 Tính giá cước Hệ thống tính toán và hiển thị giá cước của chuyến đi 18 UC18 Đánh giá chuyến đi Cho phép actor phản hồi trải nghiệm về chuyến đi
19 UC19 Xem danh sách tài khoản Cho phép admin xem các tài khoản đã được đăng kí trên hệ thống
20 UC20 Thống kê đánh giá tài xế Hệ thống tự động điều chỉnh lại điểm đánh giá của tài xế khi có lượt đánh giá mới
21 UC21 Xếp mức ưu tiên tài xế Hệ thống tự động sắp xếp mức ưu tiên của tài xế dựa vào điểm đánh giá
22 UC22 Xem mức ưu tiên tài xế Cho phép actor xem danh sách mức ưu tiên của từng tài xế 23 UC23 Thống kê số đơn Hệ thống tự động tính tổng số đơn mà driver đã hoàn thành 24 UC24 Tính tiền thưởng Hệ thống tự động tính tiền thưởng cho driver
25 UC25 Tính điểm reward Hệ thống tự động tính điểm reward và gửi cho khách hàng 26 UC26 Nâng cấp bậc khách hàng Hệ thống tự động tăng cấp bậc khách hàng khi đủ điểm
reward
27 UC27 Thống kê tin nhắn Hệ thống thống kê số lượng tin nhắn
Trang 1728 UC28 Lọc số câu hỏi nhiều nhất Cho phép admin lọc ra những câu hỏi được các actor khác nhắn nhiều nhất
29 UC29 Trả lời câu hỏi Cho phép admin thêm các câu trả lời cho mục Các câu hỏi thường gặp
31 UC31 Khóa tài khoản Cho phép admin xóa tài khoản của những actor khác
Table 3: Use Case List
2.3 Bảng phân quyền User vs Function
Đưa bảng Ma trận actor và usecase vào đây
2.3.1 Admin
Actor chính Usecase
Admin Khóa tài khoản
Admin Xem danh sách tài khoản Admin Xem mức đánh giá tài xế
2.3.2 Passenger
Actor chính Usecase
Passenger Đặt xe
Passenger Đánh giá chuyến đi Passenger Thanh toán
Passenger Hủy đơn Passenger Đăng nhập Passenger Nhắn tin
Passenger Cập nhật thông tin cá nhân Passenger Đổi mã khuyến mãi
Passenger Đăng xuất Passenger Đăng ký
2.3.3 Driver
Actor chính Usecase
Driver Nhận đơn tự động Driver Nhận đơn thủ công
Driver Xác nhận hoàn thành đơn Driver Xem lịch sử đơn
Trang 18Driver Đăng ký Driver Đăng nhập
Driver Cập nhật thông tin cá nhân Driver Đăng xuất
3 Yêu cầu chức năng
(Viết description đầy đủ các Use cases nhưng chỉ vẽ đính kèm các Sequence/Activity/State Diagrams cần
thiết để minh họa cho các Use case chính yếu)
3.1 Đặc tả usecase
3.1.1 UC01: Đăng nhập
Description Cho phép actor đăng nhập vào hệ thống
Actor Passenger/ Driver Trigger Actor khi vừa khởi động app Nhấn
nút đăng nhập Pre-condition Actor đã đăng kí số điện thoại tương ứng trên hệ thống
Post condition Chuyển tới trang default với role tương ứng
Error situations 1 Hệ thống đang bảo trì 2.Mất kết nối internet
3.Số điện thoại chưa đăng ký với hệ thống
Trang 19System state in error situations
1 Hiển thị thông báo: MS01 2.Hiển thị thông báo: MS02 3.Hiển thị thông báo: MS03
Activities
Main Flow: Đăng nhập thành công bằng số điện thoại
1 Actor tại trang Đăng nhập nhập số điện thoại và nhấn vào button nhận OTP
2 Hệ thống gửi mã OTP tới sdt Actor đã nhập
3 Actor nhập mã OTP vào và nhấn nút đăng nhập
4 Hệ thống chuyển tới trang default với role tương ứng
Alternative Flow: Đăng nhập thành công bằng google
1 Actor nhấn vào nút Đăng nhập bằng
6 Hệ thống gửi mã OTP tới sdt Actor đã nhập
7 Actor nhập mã OTP vào và nhấn nút đăng nhập
8 Hệ thống xác nhận mã OTP là đúng và chuyển tới trang default với role tương ứng
Alternative Flow: Đăng nhập thành công bằng facebook
1 Actor nhấn vào nút Đăng nhập bằng
4 Hệ thống chuyển sang trang yêu cầu quyền cấp thông tin cho ứng dụng
Trang 205 Actor nhấn vào nút Cho phép 6 Hệ thống chuyển sang trang yêu cầu nhập số điện thoại
7 Actor nhập số điện thoại và nhấn vào button nhận OTP
8 Hệ thống gửi mã OTP tới sdt Actor đã nhập
9 Actor nhập mã OTP vào và nhấn nút đăng nhập
10 Hệ thống xác nhận mã OTP là đúng và chuyển tới trang default với role tương ứng
Alternative Flow: Đăng nhập không thành công do mã OTP không hợp lệ
1 Actor nhập mã OTP vào và nhấn nút đăng nhập
2 Hệ thống gửi thông báo MS12
Alternative Flow: Đăng nhập không thành công do số điện thoại chưa được đăng kí trên hệ thống
1 Actor nhập số điện thoại và nhấn vào nút nhận mã OTP
2 Hệ thống gửi thông báo MS03
3.1.2 UC02:Đăng ký
Description Cho phép actor đăng ký một tài khoản mới
Actor Passenger/ Driver Trigger Actor khi vừa khởi động app Nhấn
nút đăng ký Pre-condition Actor chưa đăng nhập & chấp nhận điều khoản và điều kiện
Post condition Có thông báo xác nhận: đăng ký thành công
Error situations 1 Hệ thống đang bảo trì
2.Số điện thoại đã được đăng ký với hệ thống 3.SĐT sai cú pháp
4 Mã OTP không hợp lệ
System state in error situations
1 Hiển thị thông báo: MS01 2.Hiển thị thông báo: MS04 3 Hiển thị thông báo: MS05
Trang 214 hiển thị thông báo: MS12
Activities
Main Flow: Đăng ký thành công
1 Actor tại trang đăng ký, nhập số điện thoại rồi nhấn nút nhận mã OTP
2 Hệ thống tiến hành gửi mã yêu cầu xác nhận tới số điện thoại của khách hàng
3 Tại trang xác thực mã OTP, khách hàng nhập mã OTP hợp lệ
4 Xác nhận đăng ký thành công và chuyển sang trang default với role tương ứng
Alternative Flow: Đăng ký không thành công khi nhập số điện thoại đã được đăng ký với hệ thống
1 Actor nhập số điện thoại đã được đăng ký
2 Hệ thống hiển thị thông báo lỗi MS04
Alternative Flow: Đăng ký không thành công khi nhập mã OTP không hợp lệ
1 Actor nhập mã OTP không hợp lệ ( Sai mã OTP/ Mã hết thời gian hiệu lực)
2 Hệ thống hiển thị thông báo lỗi MS12
3.1.3 UC03: Đặt xe
Description Cho phép actor đặt 1 chuyến đi đến địa điểm mong muốn
Actor Passenger Trigger Actor tại trang default, chọn nút Ô tô hoặc nút Xe máy
Actor đứng tại trang hoạt động, chọn nút đặt lại
Pre-condition Actor đã đăng nhập với role = Passenger
Post condition Có thông báo xác nhận: Đặt xe thành công – Hiển thị thông tin tài xế
Error situations 1 Hệ thống đang bảo trì 2.Mất kết nối internet
3 Người dùng chọn địa chỉ không tồn tại
Trang 22System state in error situations
1 Hiển thị thông báo: MS01 2.Hiển thị thông báo: MS02 3.Hiển thị thông báo: MS06
Activities
Main Flow: Đặt xe thành công với một chuyến đi hoàn toàn mới
1 Actor tại trang default, chọn nút Ô tô hoặc nút Xe máy
2 Hệ thống chuyển sang trang nhập điểm đón, đến
3 Actor nhập địa điểm đón, đến 4 Hệ thống hiển thị lên điểm đón để người dùng xác nhận
5 Actor nhấn vào nút xác nhận điểm đón
6 Hệ thống thực hiện theo UC17-Tính giá cước
7 Actor nhấn vào nút xác nhận đặt xe 8 Hệ thống thực hiện theo UC04-Phân tài xế + hiển
thị thông báo MS14 + thông tin tài xế
Alternative Flow: Đặt xe thành công bằng cách đặt lại chuyến đi cũ
1 Actor đứng tại trang hoạt động, chọn
nút đặt lại
2 Hệ thống thực hiện theo UC17-Tính giá cước
3 Actor nhấn vào nút xác nhận đặt xe 4 Hệ thống thực hiện theo UC04-Phân tài xế + hiển
thị thông báo MS14 + thông tin tài xế
Alternative Flow: Đặt xe không thành công
1 Actor nhấn vào nút xác nhận đặt xe 2 Hệ thống thực hiện theo UC04 + hiển thị thông
báo MS08
Alternative Flow: Đặt xe không thành công do có biến động trong việc tính giá cước
Trang 231 Actor nhấn vào nút xác nhận đặt xe 2 Hệ thống hiển thị thông báo MS10
3.1.4 UC04: Phân tài xế
Description Hệ thống tìm tài xế cho đơn đơn mới được tạo
Actor Hệ thống Trigger Sau khi UC03-Đặt xe thành công Pre-condition UC03 đã thực hiện thành công
Post condition Hiển thị thông tin tài xế
Error situations 1.Không có tài xế nào đang hoạt động
Main Flow: Đã tìm được tài xế
1 -Hệ thống tiến hành xác định tọa độ Điểm đón, Điểm đến
-Dựa trên danh sách những tài xế đang hoạt động, lọc ra những tài xế thỏa tiêu chí tọa độ Điểm đón
2 -Nếu danh sách có tài xế thực hiện theo UC13-Nhận đơn tự động thành công thì trả về thông báo MS14 cho UC03-Đặt xe
3 -Nếu danh sách không có tài xế thực hiện UC13-Nhận đơn tự động thì xét trong danh sách những tài xế thực hiện theo UC12-Nhận đơn thủ công với trả về kết quả trả về là “ACCEPTED”
-> Hiển thị thông báo MS14 + thông tin tài xế cho
UC03-Đặt xe
Trang 24Alternative Flow: Không tìm được tài xế
1 -Nếu danh sách không có tài xế thực hiện UC13-Nhận đơn tự động thì xét trong danh sách những tài xế thực hiện theo UC12-Nhận đơn thủ công với trả về kết quả trả về là “ACCEPTED”
-> Hiển thị thông báo MS14 + thông tin tài xế cho
UC03-Đặt xe
2 -Nếu kết quả cuối cùng trả về là NULL thì hiển thị
thông báo MS08 cho UC03-Đặt xe
3.1.5 UC05: Định vị
Description Hệ thống định vị vị trí của người dùng
Actor Hệ thống Trigger Actor nhấn vào nút cho phép truy cập vị trí
Pre-condition Actor đã bật tính năng gps của thiết bị
Post condition Hiển thị vị trí của khách hàng/ driver trên map
Error situations 1 Actor chưa bật gps của thiết bị
System state in error situations
1 Hiển thị thông báo: MS11
Main Flow: Định vị thành công
1 Actor nhấn vào nút cho phép truy cập vị trí
2 Hệ thống xác định vị trí của khách hàng dựa vào GPS
Alternative Flow: Định vị không thành công
1 Actor từ chối cho phép truy cập vị trí 2 Hệ thống hiển thị thông báo MS11
Trang 253.1.6 UC06: Gọi điện
Description Cho phép actor gọi điện trong nội bộ app miễn phí
Actor Passenger/ Driver Trigger Sau khi phân tài xế thành công, Actor nhấn vào biểu tượng hình
điện thoại Pre-condition Actor đã đặt xe thành công
Post condition Màn hình thông báo cuộc gọi đến/ cuộc gọi đi
Error situations 1.Lỗi kết nối 2.Lỗi hệ thống
System state in error situations
1.Hiển thị thông báo MS13 2.Hiển thị thông báo: MS15
Main Flow: Gọi điện thành công
1 Actor nhấn vào biểu tượng điện thoại ở phần thông tin của tài xế
2 Hệ thống tiến hành quay số + phát ra chuông reo liền mạch
Alternative Flow: Gọi điện không thành công
1 Actor nhấn vào biểu tượng điện thoại ở phần thông tin của tài xế
2 Hệ thống tiến hành quay số + phát ra âm thanh gián đoạn, sau đó hiển thị thông báo MS13
3.1.7 UC07: Hủy đặt xe
Description Cho phép actor hủy đơn đặt xe
Actor Passenger/ Driver Trigger Sau khi UC03-Đặt xe thành công, actor nhấn vào nút hủy đặt xe Pre-condition Actor đã đặt xe thành công
Trang 26Post condition Màn hình thông báo đơn đã bị hủy
Error situations 1.Lỗi kết nối
System state in error situations
1.Hiển thị thông báo MS13
Main Flow: Hủy đặt xe thành công
1 Sau khi UC03-Đặt xe thành công, actor
nhấn vào nút hủy đặt xe
2 Hệ thống hiển thị bảng lựa chọn lí do hủy đặt xe
3 Actor nhấn vào nút xác nhận hủy đặt xe
4 Hệ thống hiển thị đơn đã bị hủy và chuyển sang trang Hoạt động + gửi thông báo tới driver/ passenger
Alternative Flow: Hủy đặt xe không thành công
1 Actor nhấn vào nút xác nhận hủy đặt xe
2 Hệ thống hiển thị thông báo MS13
3.1.8 UC08: Thanh toán
Description Cho phép actor thanh toán đơn đặt xe với nhiều hình thức
Actor Passenger Trigger Actor tại trang đơn đặt xe hiện tại,
nhấn vào nút thanh toán Pre-condition Trạng thái đơn là “đã hoàn thành”
Post condition Hệ thống hiển thị đơn đã thanh toán
Error situations 1 Actor chưa liên kết tài khoản ngân hàng/ ví điện tử 2 Lỗi kết nối
System state in error situations
1 Hiển thị thông báo: MS17 2.Hiển thị thông báo: MS15
Trang 27Actor System Main Flow: Thanh toán thành công bằng ví grab
1 Actor tại trang đơn đặt xe hiện tại, nhấn vào nút thanh toán
2 Hệ thống chuyển sang màn hình chọn hình thức thanh toán
3 Chọn hình thức thanh toán bằng ví grab
4 Hệ thống hiển thị trang xác nhận thanh toán với số tiền cần thanh toán
5 Nhấn vào nút xác nhận thanh toán 6 Hiển thị thông báo MS24
Main Flow: Thanh toán thành công bằng third-party payment method
1 Chọn hình thức thanh toán bằng 1 ứng dụng thứ 3
2 Hệ thống hiển thị trang xác nhận thanh toán với số tiền cần thanh toán
3 Nhấn vào nút xác nhận thanh toán 4 Hiển thị thông báo MS24 3 Chọn hình thức thanh toán bằng ví
grab
4 Hệ thống hiển thị trang xác nhận thanh toán với số tiền cần thanh toán
5 Nhấn vào nút xác nhận thanh toán 6 Hiển thị thông báo MS24
Alternative Flow: Thanh toán không thành công
1 Nhấn vào nút xác nhận thanh toán 2 Hệ thống hiển thị thông báo MS25
3.1.9 UC09: Cập nhật thông tin cá nhân
Name Cập nhật thông tin cá nhân Code UC09
Description Cho phép người dùng thay đổi thông tin cá nhân
Actor Passenger/ Driver Trigger Actor tại trang default, chọn giao diện tài khoản, sau đó bấm nút hình cây bút cạnh ảnh đại diện Pre-condition Actor đã đăng nhập với role tương ứng
Post condition Có thông báo xác nhận: đã lưu thông tin cá nhân + hiển thị thông tin mới
Error situations 1 Lỗi kết nối
Trang 282.Mất kết nối internet
3 Người dùng điền thông tin không phù hợp
System state in error situations
1 Hiển thị thông báo: MS15 2.Hiển thị thông báo: MS02 3.Hiển thị thông báo: MS07
Main Flow: Cập nhật thông tin cá nhân thành công
1 Actor tại trang default, chọn giao diện tài khoản, sau đó bấm nút hình cây
4 Hệ thống trở lại trang Tài khoản và hiển thị thông tin mới được thay đổi
Main Flow: Cập nhật thông tin cá nhân thất bại
1 Actor nhập thông tin muốn thay đổi và nhấn nút lưu
4 Hệ thống hiển thị thông báo MS16
3.1.10 UC10: Đăng xuất
Description Cho phép actor đăng xuất khỏi hệ thống
Actor Passenger/ Driver Trigger Actor tại trang default, chọn giao diện tài khoản, sau đó bấm nút đăng xuất
Pre-condition Actor đã đăng nhập với role tương ứng
Post condition Trở lại giao diện đăng nhập
Error situations 1 Hệ thống đang bảo trì 2.Mất kết nối internet
System state in error situations
1 Hiển thị thông báo: MS01 2.Hiển thị thông báo: MS02
Trang 29Activities
Main Flow: Đăng xuất thành công
1 Tại trang chỉnh sửa thông tin cá nhân, bấm vào nút đăng xuất
2 Hệ thống chuyển sang màn hình đăng nhập
Alternative Flow: Đăng xuất không thành công
1 Tại trang chỉnh sửa thông tin cá nhân, bấm vào nút đăng xuất
2 Hệ thống hiển thị thông báo lỗi MS15
3.1.11 UC11: Xem lịch sử đặt xe
Description Cho phép actor xem lại các đơn đã đặt
Actor Passenger Trigger Actor tại trang default, nhấn vào
trang Hoạt động Pre-condition Actor đã đăng nhập với role tương ứng
Post condition Hiển thị đầy đủ thông tin đơn đặt
Error situations 1 Lỗi kết nối
Main Flow: Xem lịch sử đặt xe thành công
1 Tại trang default, Actor nhấn vào trang
Hoạt động
2 Hệ thống chuyển sang trang Hoạt động và hiển
thị Lịch sử đặt xe của Actor
Trang 30Alternative Flow: Xem lịch sử đặt xe thất bại
1 Tại trang default, Actor nhấn vào trang
Hoạt động
2 Hệ thống hiển thị thông tin báo MS15
3.1.12 UC12: Nhận đơn thủ công
Description Cho phép actor nhận làm tài xế cho chuyến đi
Actor Driver Trigger Actor tại trang danh sách các đơn
hiện tại, nhấn vào nút nhận đơn Pre-condition Actor đã đăng nhập với role tương ứng
Post condition Hiển thị thông tin đơn đặt
Error situations 1 Đơn đã bị hủy 2 Lỗi kết nối
System state in error situations
1 Hiển thị thông báo: MS17 2.Hiển thị thông báo: MS15
Activities
Main Flow: Nhận đơn thủ công thành công
1 Tại trang các đơn hiện tại, Actor nhấn vào nút nhận đơn
2 Hệ thống trả về giá trị “ACCEPTED” cho UC04-Phân tài xế và trả về thông tin chuyến đi
Main Flow: Nhận đơn thất bại do đơn đã bị hủy
1 Tại trang các đơn hiện tại, Actor nhấn vào nút nhận đơn
2 Hệ thống hiển thị thông báo MS17
3.1.13 UC13: Nhận đơn tự động
Description Cho phép actor nhận làm tài xế cho chuyến đi
Trang 31Actor Driver Trigger Actor bật chế độ nhận đơn tự động
Pre-condition Actor đã đăng nhập với role tương ứng
Post condition Hiển thị thông tin đơn đặt và thông báo tới tài xế
Alternative Flow: Nhận đơn tự động thành công
1 Actor bật chế độ nhận đơn tự động 1 Hệ thống thực hiện theo UC04-Phân tài xế và trả
về thông tin chuyến đi
3.1.14 UC14: Xác nhận hoàn thành đơn
Name Xác nhận hoàn thành đơn Code UC14
Description Cho phép actor đặt trạng thái đơn thành đã hoàn thành
Actor Driver Trigger Sau khi UC04-Phân tài xế thực hiện
thành công, actor nhấn vào nút xác nhận hoàn thành đơn
Pre-condition Actor đã được phân làm tài xế cho một đơn
Post condition Hệ thống hiển thị thông tin đơn là “đã hoàn thành”
Error situations 1 Đơn đã bị hủy bởi khách hàng
Trang 321 Sau khi UC04-Phân tài xế thực hiện
thành công, actor nhấn vào nút xác nhận hoàn thành đơn
2 Hệ thống chuyển sang trang hiển thị thông tin đơn đã hoàn thành ở giao diện của driver + gửi thông báo MS18 ở giao diện của passenger
Alternative Flow: Xác nhận hoàn thành đơn thất bại
1 Sau khi UC04-Phân tài xế thực hiện
thành công, actor nhấn vào nút xác nhận hoàn thành đơn
2 Hệ thống hiển thị thông báo MS17
3.1.15 UC15: Nhắn tin
Description Cho phép một actor nhắn tin với các actor khác
Actor Passenger, Driver Trigger Sau khi hệ thống thực hiện thành
công UC03-Đặt xe, actor chọn mục
nhắn tin
Pre-condition Actor đã đăng nhập với role tương ứng
Post condition Tin nhắn được đánh dấu là đã gửi
Error situations 1 Tin nhắn không hợp lệ
2 Tin nhắn vượt quá kí tự cho phép
System state in error situations
1 Hiển thị thông báo: MS20 2 Hiển thị thông báo: MS21
Activities
Main Flow: Nhắn tin thành công
1 Sau khi hệ thống thực hiện thành công
UC03-Đặt xe, actor chọn mục nhắn tin
với tài xế
2 Hệ thống chuyển sang phiên trò chuyện riêng
3 Actor nhập nội dung muốn gửi đi và nhấn gửi
4 Hệ thống hiển thị tin nhắn đã được gửi đi
Trang 33Actor System Alternative Flow: Nhắn tin thất bại do tin nhắn vượt quá kí tự cho phép
1 Actor nhập nội dung muốn gửi đi và nhấn gửi
2 Hệ thống hiển thị thông báo MS21
Alternative Flow: Nhắn tin thất bại do tin nhắn không hợp lệ
1 Actor nhập nội dung muốn gửi đi và nhấn gửi
2 Hệ thống hiển thị thông báo MS20
3.1.16 UC16: Đổi mã khuyến mãi
Description Cho phép một actor nhắn tin với các actor khác
Actor Passenger Trigger Actor tại trang default, nhấn chọn mục Grab Reward
Pre-condition Actor đã đăng nhập với role tương ứng
Post condition Hiển thị thông báo đổi mã thành công
Error situations 1 Đổi mã không thành công
Main Flow: Đổi mã thành công
1 Actor tại trang default, nhấn chọn mục Grab Reward
2 Hệ thống chuyển sang trang đổi mã khuyến mãi
3 Actor chọn mã khuyến mãi mong
Trang 341 Actor chọn mã khuyến mãi mong muốn và nhấn nút đổi
2 Hệ thống hiển thị thông báo MS22
3.1.17 UC17: Tính giá cước
Description Hệ thống tính toán và hiển thị giá cước của chuyến đi
Pre-condition Passenger đã nhập đầy đủ điếm đón, điểm đến
Post condition Hiển thị giá tiền của đơn đặt
Error situations 1 Passenger nhập địa chỉ hệ thống không hỗ trợ
Main Flow: Tính giá cước thành công
1 Hệ thống tính giá cước dựa trên Điểm đến, điểm
đón từ UC03-Đặt xe và BR01-Cách tính giá cước
2 Hệ thống hiển thị cước, điểm đón, điểm đến lên trang xác nhận đặt xe
Main Flow: Tính giá cước thất bại
1 Hệ thống tính giá cước dựa trên Điểm đến, điểm
đón từ UC03-Đặt xe và BR01-Tính giá cước
2 Hệ thống hiển thị thông báo MS23
3.1.18 UC18: Đánh giá chuyến đi
Description Cho phép actor phản hồi trải nghiệm về chuyến đi