Professional Documents
Culture Documents
0502-G11 - TravelGrab
0502-G11 - TravelGrab
Trường Đại Học Ngoại Ngữ - Tin Học Thành Phố Hồ Chí Minh
Khoa Công Nghệ Thông Tin
Thành Viên :
1. Lê Quốc Cường-MSSV:22DH110457
2. Huỳnh Nhật Hoàng-MSSV:22DH111132
3. Cuột Văn Phong – MSSV: 22DH114677
4. Nguyễn Trần Thảo Vy – MSSV: 22DH114365
2|Page
2.2. Actors và Use Cases............................................................................................ 12
2.2.1. Các Use Case Diagram ................................................................................... 12
2.2.2. Mô tả Actors ................................................................................................. 14
2.2.3. Mô tả Use Cases ........................................................................................... 14
2.3. Bảng phân quyền User vs. Function ...................................................................... 16
3. Yêu cầu chức năng .................................................................................................... 17
3.1. Đặc tả usecase ................................................................................................... 17
3.1.1. UC01: Đăng nhập ......................................................................................... 17
3.2. Activity Diagram ................................................................................................. 44
3.2.1. Activity Diagram: Quản lí thông tin cá nhân ..................................................... 44
3.2.2. Activity Diagram: Quản lí đặt xe ..................................................................... 45
3.2.3. Activity Diagram: Đổi mã khuyến mãi .............................................................. 46
3.2.4. Activity Diagram: Đặt xe ................................................................................ 47
3.2.5. Activity Diagram::Đánh giá tài xế ................................................................... 47
3.2.6. Activity Diagram: Xác nhận hoàn thành đơn ..................................................... 48
3.2.7. Activity Diagram: Hủy đặt xe .......................................................................... 48
3.2.8. Activity Diagram: Thanh toán ......................................................................... 49
3.2.9. Activity Diagram: Phân tài xế ......................................................................... 49
3.2.10. Activity Diagram: Cập nhật thông tin cá nhân ................................................. 50
3.2.11. Activity Diagram: Xem lịch sử đặt xe ............................................................. 50
3.2.12. Activity Diagram: Đăng ký ............................................................................ 51
3.2.13. Activity Diagram: Đăng nhập ........................................................................ 51
3.2.14. Activity Diagram: Nhắn tin ........................................................................... 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 .................................................................. 55
3.3.3. Sequence Diagram:Xem lịch sử đặt xe ............................................................. 56
3.3.4. Sequence Diagram: Đăng nhập ....................................................................... 57
3.3.5. Sequence Diagram: Hủy đặt xe....................................................................... 58
3.3.6. Sequence Diagram: Phân tài xế ...................................................................... 59
3.3.7. Sequence Diagram:Thanh toán ....................................................................... 60
3.3.8. Sequence Diagram: Đặt xe ............................................................................. 61
3.3.9. Sequence Diagram: Cập nhật thông tin cá nhân................................................ 62
3.3.10. Sequence Diagram: Đăng xuất...................................................................... 63
3|Page
3.3.11. Sequence Diagram: Nhắn tin ........................................................................ 64
3.3.12. Sequence Diagram: Xác nhận hoàn thành đơn ................................................ 65
3.4. State Diagram .................................................................................................... 66
3.4.1. State Diagram: <User> ................................................................................. 66
3.4.2. State Diagram: <UserIteration> ..................................................................... 67
3.4.3. State Diagram: <Driver> ............................................................................... 68
3.4.4. State Diagram: <Passenger> ......................................................................... 69
4. Thiết kế hệ thống ..................................................................................................... 70
4.1. Thiết kế dữ liệu .................................................................................................... 70
4.1.1. Class Diagram .............................................................................................. 70
1. 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
được xây dựng.
# Thuật ngữ/ Mô tả
Từ viết tắt
2 BR Business Rule
4|Page
Yê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 Tìm tài xế
thoại và chọn địa điểm cần đến nhanh
Hiển thị giá cước Cung cấp người dùng giá cước dựa Giá cước cao
trên khoảng cách và thời gian dự kiến hơn các ứng
của chuyến dụng khác.
Định vị GPS Giúp người dùng chia sẻ vị trí và giúp Định vị khá tốt Đôi lúc không
tài xế nhận biết khách hàng đang ở địa hiển thị địa
điểm nào chỉ chính xác
Chọn phương tiện Chọn các loại phương tiện khác nhau Nhiều sự lựa
car,bike... chọn
Thanh toán Trả thẻ, tiền mặt Thuận tiện vì
hướng tới
khách hàng
trả bằng thẻ
nhiều.
1.3.2. <Be>
Giao diện:sinh động, bắt mắt chủ yếu hai màu vàng trắng.
5|Page
Yê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 Tìm tài xế
thoại và chọn địa điểm cần đến nhanh
Hiển thị giá cước Cung cấp người dùng giá cước dựa Giá cước rẻ so
trên khoảng cách và thời gian dự kiến với nhiều app
của chuyến khác, nhiều
voucher,
không tăng
cao trong giờ
cao điểm
Định vị GPS Giúp người dùng chia sẻ vị trí và giúp Định vị khá tốt Đôi lúc không
tài xế nhận biết khách hàng đang ở địa hiển thị địa chỉ
điểm nào 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ẻ
Thanh toán Trả thẻ, tiền mặt Thanh toán Hay bị lỗi khi
nhanh hoàn tiền về
thẻ.
Chọn phương tiện Chọn các loại phương tiện khác nhau Hình thức
car,bike... thanh toán đa
dạng
1.3.3. <Gojek>
Giao diện:sinh động, bắt mắt chủ yếu hai màu xanh lá, trắng.
6|Page
7|Page
Yê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 Đặt nhiều Tìm tài xế hơi
thoại và chọn địa điểm cần đến chuyến cùng lâu
lúc
Hiển thị giá cước Cung cấp người dùng giá cước dựa Giá trước cạnh Giờ cao điểm
trên khoảng cách và thời gian dự kiến tranh ở việc giá quá cao
của chuyến đặt xe và món
ăn gây hứng
thú cho người
có ngân sách
hạn chế
Định vị GPS Giúp người dùng chia sẻ vị trí và giúp Định vị khá Đôi lúc không
tài xế nhận biết khách hàng đang ở địa tốt hiển thị địa chỉ
điểm nào 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ẻ
Thanh toán Trả thẻ, tiền mặt Thanh toán
nhanh
Chọn phương tiện Chọn các loại phương tiện khác nhau Nhiều lựa
car,bike... chọn
8|Page
1.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.
1.3.5. <Maxim>
Giao diện:đơn giản chủ yếu hai màu vàng trắng, dễ sử dụng.
9|Page
Yê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 Tìm tài xế lâu
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 Giá cước rẻ
trên khoảng cách và thời gian dự kiến
của chuyến
Định vị GPS Giúp người dùng chia sẻ vị trí và giúp Hiển thị địa chỉ
tài xế nhận biết khách hàng đang ở địa không chính
điểm nào 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ẻ
Thanh toán Trả thẻ, tiền mặt Thanh toán
nhanh
Chọn phương tiện Chọn các loại phương tiện khác nhau Chỉ có hai lựa
car,bike... chọn xe máy,
ô tô
10 | P a g e
Dị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.
11 | P a g e
2.2. Actors và Use Cases
2.2.1. Các Use Case Diagram
12 | P a g e
UCD Quản lí thông tin cá nhân
13 | P a g e
UCD Đổi mã khuyến mãi
2.2.2. Mô tả Actors
# Tên Actor Mô tả
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.
1 UC01 Đăng nhập Cho phép actor đăng nhập vào hệ thống
2 UC02 Đăng ký Cho phép actor đăng ký một tài khoản cho hệ thống
14 | P a g e
3 UC03 Cho phép actor đặt 1 chuyến đi đến địa điểm mong muốn
Đặt xe
4 UC04 Phân tài xế Hệ thống tìm tài xế cho đơn đơn mới được tạo
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 Xóa đơn Cho phép actor xóa những đơn đã đặt
15 | P a g e
28 UC28 Khóa tài khoản Cho phép admin xóa tài khoản của những actor khác
29 UC29 Chia sẻ chuyến đi Cho phép actor chia sẻ thông tin chuyến đi hiện tại của mình
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ý
Passenger Gọi điện
Passenger Chia sẻ chuyến đi
Passenger Xem lịch sử đặt xe
2.3.3. Driver
Actor chính Usecase
Driver Nhận đơn tự động
Driver Nhận đơn thủ công
Driver Hủy đơn
Driver Xác nhận hoàn thành đơn
Driver Xem lịch sử đơn
Driver Xem thu nhập
Driver Đăng ký
16 | P a g e
Driver Đăng nhập
Driver Cập nhật thông tin cá nhân
Driver Đăng xuất
Driver Nhắn tin
Driver Gọi điện
2.3.4. Hệ thống
Actor chính Usecase
Hệ thống Định vị
Hệ thống Tính tiền cước
Hệ thống Phân tài xế
Hệ thống Xếp mức ưu tiên driver
Hệ thống Nâng cấp bậc khách hàng
Hệ thống Thống kê đánh giá driver
Hệ thống Tính điểm reward
Hệ thống Thống kê số đơn
Hệ thống Tính tiền thưởng
Actor Passenger/ Driver Trigger Actor khi vừa khởi động app. Nhấn
nút đăng nhập
Post condition Chuyển tới trang default với role tương ứng
17 | P a g e
System state in 1. Hiển thị thông báo: MS01
error situations
2.Hiển thị thông báo: MS02
Activities
Actor System
1 Actor tại trang Đăng nhập nhập số 2 Hệ thống gửi mã OTP tới sdt Actor đã nhập
điện thoại và nhấn vào button nhận
OTP
3 Actor nhập mã OTP vào và nhấn nút 4 Hệ thống chuyển tới trang default với role tương
đăng nhập ứng
Actor System
1 Actor nhấn vào nút Đăng nhập bằng 2 Hệ thống hiển thị giao diện đăng nhập bằng
google google
3 Actor nhập tài khoản và mật khẩu rồi 4 Hệ thống chuyển sang trang yêu cầu nhập số
nhấn nút Đăng nhập điện thoại
5 Actor nhập số điện thoại và nhấn vào 6 Hệ thống gửi mã OTP tới sdt Actor đã nhập
button nhận OTP
7 Actor nhập mã OTP vào và nhấn nút 8 Hệ thống xác nhận mã OTP là đúng và chuyển tới
đăng nhập trang default với role tương ứng
Actor System
1 Actor nhấn vào nút Đăng nhập bằng 2 Hệ thống hiển thị giao diện đăng nhập bằng
facebook facebook
3 Actor nhập tài khoản và mật khẩu rồi 4 Hệ thống chuyển sang trang yêu cầu quyền cấp
nhấn nút Đăng nhập thông tin cho ứng dụng
18 | P a g e
5 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 8 Hệ thống gửi mã OTP tới sdt Actor đã nhập
button nhận OTP
9 Actor nhập mã OTP vào và nhấn nút 10 Hệ thống xác nhận mã OTP là đúng và chuyển tới
đăng nhập trang default với role tương ứng
Actor System
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 2 Hệ thống gửi thông báo MS12
đăng nhập
Actor System
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 2 Hệ thống gửi thông báo MS03
nút nhận mã OTP
3.1.2. UC02:Đăng ký
Name Đăng ký Code UC02
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
19 | P a g e
4. hiển thị thông báo: MS12
Activities
Actor System
1 Actor tại trang đăng ký, nhập số điện 2 Hệ thống tiến hành gửi mã yêu cầu xác nhận tới
thoại rồi nhấn nút nhận mã OTP 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 4 Xác nhận đăng ký thành công và chuyển sang
nhập mã OTP hợp lệ trang default với role tương ứng
Actor System
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 2 Hệ thống hiển thị thông báo lỗi MS04
đăng ký
Actor System
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 2 Hệ thống hiển thị thông báo lỗi MS12
mã OTP/ Mã hết thời gian hiệu lực)
Description Cho phép actor đặt 1 chuyến đi đến địa điểm mong muốn
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ế
20 | P a g e
System state in 1. Hiển thị thông báo: MS01
error situations
2.Hiển thị thông báo: MS02
Activities
Actor System
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ô 2 Hệ thống chuyển sang trang nhập điểm đón, đến
hoặc nút Xe máy
3 Actor nhập địa điểm đón, đến 4 Hệ thống hiển thị lên thông tin để người dùng
xác nhận
5 Actor nhấn vào nút xác nhận điểm 6 Hệ thống thực hiện theo UC17-Tính giá cước
đón
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ế
Actor System
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 2 Hệ thống thực hiện theo UC17-Tính giá cước
nút đặt lại
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ế
Actor System
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
Actor System
Alternative Flow: Đặt xe không thành công do có biến động trong việc tính giá cước
21 | P a g e
1 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
Description Hệ thống tìm tài xế cho đơn đơn mới được tạo
Activities
Actor System
-> Hiển thị thông báo MS14 + thông tin tài xế cho
UC03-Đặt xe
Actor System
22 | P a g e
Alternative Flow: Không tìm được tài xế
-> 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
Actor Hệ thống Trigger Actor nhấn vào nút cho phép truy
cập vị trí
Post condition Hiển thị vị trí của khách hàng/ driver trên map
Actor System
1 Actor nhấn vào nút cho phép truy cập 2 Hệ thống xác định vị trí của khách hàng dựa vào
vị trí GPS
Actor System
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
23 | P a g e
3.1.6. UC06: Gọi điện
Name Gọi điện Code UC06
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
Post condition Màn hình thông báo cuộc gọi đến/ cuộc gọi đi
2.Lỗi hệ thống
Actor System
1 Actor nhấn vào biểu tượng điện thoại 2 Hệ thống tiến hành quay số + phát ra chuông reo
ở phần thông tin của tài xế liền mạch
Actor System
1 Actor nhấn vào biểu tượng điện thoại 2 Hệ thống tiến hành quay số + phát ra âm thanh
ở phần thông tin của tài xế gián đoạn, sau đó hiển thị thông báo MS13
24 | P a g e
Post condition Màn hình thông báo đơn đã bị hủy
Actor System
1 Sau khi UC03-Đặt xe thành công, actor 2 Hệ thống hiển thị bảng lựa chọn lí do hủy đặt xe
nhấn vào nút hủy đặt xe
3 Actor nhấn vào nút xác nhận hủy đặt 4 Hệ thống hiển thị đơn đã bị hủy và chuyển sang
xe trang Hoạt động + gửi thông báo tới driver/
passenger
Actor System
1 Actor nhấn vào nút xác nhận hủy đặt 2 Hệ thống hiển thị thông báo MS13
xe
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
Error situations 1. Actor chưa liên kết tài khoản ngân hàng/ ví điện tử
Activities
25 | P a g e
Actor System
1 Actor tại trang đơn đặt xe hiện tại, 2 Hệ thống chuyển sang màn hình chọn hình thức
nhấn vào nút thanh toán thanh toán
3 Chọn hình thức thanh toán bằng ví 4 Hệ thống hiển thị trang xác nhận thanh toán với
grab 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
Actor System
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 2 Hệ thống hiển thị trang xác nhận thanh toán với
dụng thứ 3 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í 4 Hệ thống hiển thị trang xác nhận thanh toán với
grab 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
Actor System
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
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
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
26 | P a g e
3. Người dùng điền thông tin không phù hợp
Actor System
1 Actor tại trang default, chọn giao diện 2 Hệ thống chuyển sang trang thay đổi thông tin cá
tài khoản, sau đó bấm nút hình cây nhân
bút cạnh ảnh đại diện
3 Actor nhập thông tin muốn thay đổi và 4 Hệ thống trở lại trang Tài khoản và hiển thị thông
nhấn nút lưu tin mới được thay đổi
Actor System
1 Actor nhập thông tin muốn thay đổi và 4 Hệ thống hiển thị thông báo MS16
nhấn nút lưu
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
27 | P a g e
Activities
Actor System
1 Tại trang chỉnh sửa thông tin cá nhân, 2 Hệ thống chuyển sang màn hình đăng nhập
bấm vào nút đăng xuất
Actor System
1 Tại trang chỉnh sửa thông tin cá nhân, 2 Hệ thống hiển thị thông báo lỗi MS15
bấm vào nút đăng xuất
Activities
Actor System
1 Tại trang default, Actor nhấn vào trang 2 Hệ thống chuyển sang trang Hoạt động và hiển
Hoạt động thị Lịch sử đặt xe của Actor
Actor System
28 | P a g e
1 Tại trang default, Actor nhấn vào trang 2 Hệ thống hiển thị thông tin báo MS15
Hoạt động
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
Activities
Actor System
1 Tại trang các đơn hiện tại, Actor nhấn 2 Hệ thống trả về giá trị “ACCEPTED” cho UC04-
vào nút nhận đơn Phân tài xế và trả về thông tin chuyến đi
Actor System
1 Tại trang các đơn hiện tại, Actor nhấn 2 Hệ thống hiển thị thông báo MS17
vào nút nhận đơn
29 | P a g e
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ế
Error situations
System state in
error situations
Activities
Actor System
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
Description Cho phép actor đặt trạng thái đơn thành đã hoàn thành
Post condition Hệ thống hiển thị thông tin đơn là “đã hoàn thành”
Activities
Actor System
1 Sau khi UC04-Phân tài xế thực hiện 2 Hệ thống chuyển sang trang hiển thị thông tin
thành công, actor nhấn vào nút xác đơn đã hoàn thành ở giao diện của driver + gửi
nhận hoàn thành đơn thông báo MS18 ở giao diện của passenger
30 | P a g e
Actor System
1 Sau khi UC04-Phân tài xế thực hiện 2 Hệ thống hiển thị thông báo MS17
thành công, actor nhấn vào nút xác
nhận hoàn thành đơn
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
Activities
Actor System
1 Sau khi hệ thống thực hiện thành công 2 Hệ thống chuyển sang phiên trò chuyện riêng
UC03-Đặt xe, actor chọn mục nhắn tin
với tài xế
3 Actor nhập nội dung muốn gửi đi và 4 Hệ thống hiển thị tin nhắn đã được gửi đi
nhấn gửi
Actor System
Alternative Flow: Nhắn tin thất bại do tin nhắn vượt quá kí tự cho phép
31 | P a g e
1 Actor nhập nội dung muốn gửi đi và 2 Hệ thống hiển thị thông báo MS21
nhấn gửi
Actor System
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à 2 Hệ thống hiển thị thông báo MS20
nhấn gửi
Description Cho phép một actor nhắn tin với các actor khác
Activities
Actor System
1 Actor tại trang default, nhấn chọn mục 2 Hệ thống chuyển sang trang đổi mã khuyến mãi
Grab Reward
3 Actor chọn mã khuyến mãi mong 4 Hệ thống hiển thị mã đã được đổi thành công
muốn và nhấn nút đổi
Actor System
1 Actor chọn mã khuyến mãi mong 2 Hệ thống hiển thị thông báo MS22
muốn và nhấn nút đổi
32 | P a g e
3.1.17. UC17: Tính giá cước
Name Tính giá cước Code UC17
Description Hệ thống tính toán và hiển thị giá cước của chuyến đi
Activities
Actor System
Actor System
33 | P a g e
Actor tại trang Hoạt động, nhấn
vào nút đánh giá chuyến đi cho
đơn đã hoàn thành
Error situations
System state in
error situations
Activities
Actor System
1 Sau khi UC14-Xác nhận hoàn thành 2 Hệ thống hiển thị thông tin đã được đánh giá
đơn thực hiện thành công, actor nhấn
vào các biểu tượng ngôi sao ở trang
thông tin đơn
Description Cho phép admin xem các tài khoản đã được đăng kí trên hệ thống
Actor Admin Trigger Admin nhấn vào nút xem danh sách
tài khoản
Post condition Hiển thị danh sách các tài khoản đã được đăng ký với hệ thống
Error situations
System state in
error situations
Activities
34 | P a g e
Actor System
1 Admin nhấn vào nút xem danh sách 2 Hiển thị danh sách các tài khoản đã được đăng ký
tài khoản với hệ thống
Description 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
Post condition Cập nhật điểm đánh giá mới cho driver
Error situations
System state in
error situations
Activities
Actor System
1 Sau khi UC18-Đánh giá chuyến đi thực 2 Hệ thống cập nhật mới điểm đánh giá cho driver
hiện thành công
Description 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á
Error situations
System state in
error situations
35 | P a g e
Activities
Actor System
1 Sau khi UC20-Thống kê đánh giá tài xế 2 Hệ thống cập nhật mức ưu tiên mới cho driver
thực hiện thành công
Description Cho phép actor xem danh sách mức ưu tiên của từng tài xế
Post condition Hiển thị danh sách mức ưu tiên của từng tài xế
Error situations
System state in
error situations
Activities
Actor System
1 Sau khi UC19-Xem danh sách tài 2 Hệ thống hiển thị danh sách mức ưu tiên của
khoản thực hiện thành công, actor từng tài xế
nhấn vào chức năng xem mức ưu tiên
36 | P a g e
Post condition Hiển thị danh sách tổng số đơn từng driver và các số liệu liên quan
Error situations
System state in
error situations
Activities
Actor System
1 Sau khi UC14-Xác nhận hoàn thành 2 Hệ thống hiển thị danh sách mức ưu tiên của
đơn thành công từng tài xế
Error situations
System state in
error situations
Activities
Actor System
37 | P a g e
3.1.25. UC25:Tính điểm reward
Name Tính điểm reward Code UC25
Error situations
System state in
error situations
Activities
Actor System
Description Hệ thống tự động nâng cấp bậc khách hàng khi đủ điều kiện
Post condition Cập nhật cấp bậc mới cho khách hàng
Error situations
System state in
error situations
38 | P a g e
Activities
Actor System
-vàng:400 điểm
Post condition Đơn không còn hiển thị ở trang Hoạt động
Error situations
System state in
error situations
Activities
Actor System
1 Khi UC11-Xem lịch sử đặt xe được 2 Trang Hoạt động không còn hiển thị đơn đã bị
thực hiện, actor nhấn vào nút xóa xóa
39 | P a g e
Description Cho phép actor khóa tài khoản của driver
Error situations
System state in
error situations
Activities
Actor System
1 Khi UC22-Xem mức ưu tiên tài xế 2 Hệ thống hiển thị trạng thái tài khoản của driver
được thực hiện, actor chọn chức năng trở thành “Inactivated”
khóa tài khoản
Post condition Hiển thị đường dẫn hoặc thông tin đơn rút gọn của actor ở nơi được chia sẻ
Activities
Actor System
40 | P a g e
1 Sau khi UC03 – Đặt xe thực hiện thành 2 Hệ thống hiển thị các hình thức chia sẻ
công, actor nhấn vào biểu tượng chia
sẻ chuyến đi
3 Actor chọn và sử dụng 1 hình thức 4 Hệ thống hiển thị thông báo “Chia sẻ thành
chia sẻ công”
Actor System
1 Actor chọn và sử dụng 1 hình thức 2 Hệ thống hiển thị thông báo MS19
chia sẻ
System Message
Message thông báo khi actor sử dụng phần mềm mà không có mạng
Message thông báo khi actor đăng nhập với một số điện thoại không tồn tài trên hệ
thống
Message thông báo khi actor đăng ký một số điện thoại trùng với một số điện thoại
tồn tại trên hệ thống
Message thông báo khi actor nhập số điện thoại không đúng định dạng
Message thông báo khi actor nhập một địa chỉ không tồn tại
Message thông báo khi actor nhấn vào nút thay đổi một thông tin cá nhân không
phù hợp
MS08 “Hiện không có tài xế phù hợp với yêu cầu của bạn! Vui lòng thử lại sau.”
41 | P a g e
Message thông báo khi hệ thống không nhận được phản hồi từ tài xế khi phân tài xế
Message thông báo khi định vị của bạn không nằm trong phạm vi phục vụ của hệ
thống
Message thông báo khi Passenger nhấn vào nút Đặt xe nhưng giá cước có sự thay
đổi
Message thông báo khi Passenger chưa bật tính năng GPS trên thiết bị khi sử dụng
app
Message thông báo khi Actor nhập một mã OTP không hợp lệ
Message thông báo khi Actor sử dụng các tính năng nhưng kết nối mạng yếu
Message thông báo khi hệ thống gặp trục trặc khi xử lí tính năng
Message thông báo khi Actor nhập thông tin cá nhân không hợp lệ
Message thông báo khi Actor nhấn vào nút nhận đơn cho một đơn hàng đã bị hủy
Message thông báo khi Actor nhấn vào nút xác nhận hoàn thành đơn
Message thông báo khi Actor thực hiện các thao tác liên quan tới đơn khi đơn đã bị
hủy
Message thông báo khi actor nhấn nút gửi cho nội dung tin nhắn chứa từ ngữ
không phù hợp
42 | P a g e
MS21 “Tin nhắn vượt quá kí tự cho phép”
Message thông báo khi actor nhấn nút gửi cho nội dung tin nhắn vượt quá độ dài kí
tự cho phép
Message thông báo khi actor nhấn nút đổi một mã khuyến mãi khi không có đủ
điểm reward
Message thông báo khi actor nhấn vào nút xác nhận điểm đón khi đã nhập một địa
điểm mà hệ thống không hoạt động
Message thông báo khi actor nhấn vào nút xác nhận thanh toán cho đơn hàng
Message thông báo khi actor nhấn vào nút xác nhận thanh toán nhưng không đủ
tiền
Business Rules
<=2km = 12.000đ
= 1.2: Vào các khung giờ cao điểm trong ngày thường
= 1.5: Vào các khung giờ bình thường của ngày lễ Tết
= 1.7: Vào các khung giờ cao điểm của ngày lễ Tết
BR03 Điểm đón, điểm đến Người dùng phải bật định vị GPS để định vị được điểm đi,
điểm đến trên bản đồ
43 | P a g e
Khách đã bị đánh giá thấp: Hệ số ưu tiên = 0.5
-Tài xế:
-Buổi trưa:12-13h
-Buổi tối:16h-19h
44 | P a g e
3.2.2. Activity Diagram: Quản lí đặt xe
45 | P a g e
3.2.3. Activity Diagram: Đổi mã khuyến mãi
46 | P a g e
3.2.4. Activity Diagram: Đặt xe
47 | P a g e
3.2.6. Activity Diagram: Xác nhận hoàn thành đơn
48 | P a g e
3.2.8. Activity Diagram: Thanh toán
49 | P a g e
3.2.10. Activity Diagram: Cập nhật thông tin cá nhân
50 | P a g e
3.2.12. Activity Diagram: Đăng ký
51 | P a g e
3.2.14. Activity Diagram: Nhắn tin
52 | P a g e
3.3. Sequence Diagram
3.3.1. Sequence Diagram: Quản lí đặt xe
53 | P a g e
54 | P a g e
3.3.2. Sequence Diagram: Quản lí profile
55 | P a g e
3.3.3. Sequence Diagram:Xem lịch sử đặt xe
56 | P a g e
3.3.4. Sequence Diagram: Đăng nhập
57 | P a g e
3.3.5. Sequence Diagram: Hủy đặt xe
58 | P a g e
3.3.6. Sequence Diagram: Phân tài xế
59 | P a g e
3.3.7. Sequence Diagram:Thanh toán
60 | P a g e
3.3.8. Sequence Diagram: Đặt xe
61 | P a g e
3.3.9. Sequence Diagram: Cập nhật thông tin cá nhân
62 | P a g e
3.3.10. Sequence Diagram: Đăng xuất
63 | P a g e
3.3.11. Sequence Diagram: Nhắn tin
64 | P a g e
3.3.12. Sequence Diagram: Xác nhận hoàn thành đơn
65 | P a g e
3.4. State Diagram
3.4.1. State Diagram: <User>
66 | P a g e
3.4.2. State Diagram: <UserIteration>
67 | P a g e
3.4.3. State Diagram: <Driver>
68 | P a g e
3.4.4. State Diagram: <Passenger>
69 | P a g e
4. Thiết kế hệ thống
4.1. Thiết kế dữ liệu
70 | P a g e