Usecase “Login” Brief description Người dùng đăng nhập vào hệ thống Actors Customer, Admin Pre-conditions Người dùng đã được tạo tài khoản trong hệ thống Post-conditions Nếu đăng nhập th
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
TPHCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
BÁO CÁO
TIỂU LUẬN CHUYÊN NGÀNH
GVHD: Lê Văn Vinh
Đề tài: Xây dựng ứng dụng du lịch sử dụng
công nghệ Flutter và Node JS
Nhóm sinh viên thực hiện:
Nguyễn Gia Huy Huỳnh Nhựt Thiên
Tp Hồ Chí Minh, 19 tháng 09 năm 2021
Trang 2I Khảo sát hiện trạng
Agoda
Các chức năng
Đăng nhập: Tài khoản google, facebook, email, số di động
Đăng ký: số điện thoại,
email Tìm kiếm
Khách sạn: tìm xung quanh vị trí hiện tại (Nhận phòng, trả phòng, số phòng, người lớn, trẻ em)
Các ưu đãi và mã giảm giá
Tìm kiếm các chuyến bay : một chiều, khứ hồi
Lọc theo ngân sách các tour du lịch và giá (các thông tin chi tiết và liên hệ)Danh sách địa điểm yêu thích, đơn đặt chỗ và các phiều giảm giá
Thanh toán: thẻ, tiền
mặt Đánh giá
Tradvisor
Đăng nhập: Tài khoản google, facebook, email
Tìm kiếm khách sạn lân cận: homestay và giá tiền, nhà hàng và các địa điểm
du lịch lân cận
Tìm theo số người và phòng
Xem các địa điểm du lịch lân cận
Trang 3Các ưu đãi và mã giảm giá
Tìm kiếm khách sạn, chuyến bay, Tàu
hỏa Thông tin về vé máy bay, tàu hỏa
Trang 5II UseCase Lược đồ UseCase
Trang 7III Đặc tả UseCase và Lược đồ Sequence
1 Usecase “Login”
Brief description Người dùng đăng nhập vào hệ thống
Actor(s) Customer, Admin
Pre-conditions Người dùng đã được tạo tài khoản trong hệ thống
Post-conditions Nếu đăng nhập thành công: Người dùng được xác thực và hệ
Alternative flow Nếu người dùng nhập sai email hoặc password Những công(Thất bại) việc sau được thực hiện:
Trang 81 Hệ thống mô tả lý do xác thực bị sai
Trang 92 Hệ thống lưu ý người dùng đăng nhập lại
3 Khi người dùng nhập lại email và password, bước 3 ở Basic flow được thực hiện
Trang 102 Usecase “Logout”
Brief description Người dùng đăng xuất khỏi hệ thống
Trang 11Actor(s) Customer, Admin
Pre-conditions Người dùng đã đăng nhập trong ứng dụng
Post-conditions Nếu đăng xuất thành công: Trở về trang đăng nhập trở về
trạng thái Guest
Flow of events
Basic flow Use case bắt đầu khi người dùng chọn chức năng “Đăng xuất”(Thành công) trên thanh menu
1 Hệ thống hiển thị nút cho người dùng chọn đăng xuất
2 Người dùng chọn “Đăng xuất”
Trang 123 Usecase “SignUp”
Brief description Người dùng đăng ký tài khoản hệ thống
Pre-conditions Người dùng chưa có tài khoản trong hệ thống
Post-conditions Nếu đăng ký thành công: Hệ thống thông báo đăng ký thành
công, người dùng được hệ thống cung cấp tài khoản
Nếu đăng ký không thành công: Hệ thống thông báo đăng kýthất bại người dùng phải đăng ký lại
Trang 142 Người dùng nhập họ và tên, password, email, số điện thoại, địa chỉ.
3 Hệ thống xác thực họ và tên, password, email, số điện thoại, địa chỉ
4 Hệ thống xác định thông tin của người dung nhập vào
5 Hê thống gửi mã xác thực đến email cho người dùng
5 Người dùng nhập mã mã xác thực ,hệ thống lưu tàikhoản cho người dùng để truy cập được vào hệ thống
Alternative flow Nếu người dùng nhập sai hay mã xác thực sai Những công(Thất bại) việc sau được thực hiện:
1 Hệ thống mô tả lý do xác thực bị sai và thông tin sai
2 Hệ thống lưu ý người dùng đăng ký lại
3 Khi người dùng nhập lại các thông tin xác thực bị sai,bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 164 Usecase “Check Tour Information”
Name Xem thông tin Tour du lịch (Check Tour Information)
Brief description Xem thông tin của địa điểm du lịch bao gồm các địa điểm
tham quan, nhà hàng, khách sạn, các loại phương tiện dichuyển, chi phí
Actor(s) Guest, Admin
Pre-conditions Người dùng truy cập vào ứng dụng
Post-conditions Nếu đăng nhập thành công: Người dùng xem được các thông
tin của tour du lịchNếu đăng nhập không thành công: Thông báo hệ thống bị lỗi
Flow of events Người dùng chọn chức năng “Xem tour du lịch” ở Home
hoặc thanh Menu Sau đó, chọn một địa điểm bất kỳ và ngườidùng sẽ được chuyển đến giao diện của “Xem thông tin Tour
du lịch” Ở đây sẽ có các phần thông tin của tour, người dùng
có thể chọn các thông tin mà mình quan tâm đến Người dùng
có thể trở về Home hoặc sử dụng chức năng khác của hệthống
Basic flow Người dùng chọn chức năng “Xem tour du lịch” ở Home(Thành công) hoặc thanh Menu Sau đó, chọn một địa điểm bất kỳ và người
dùng sẽ được chuyển đến giao diện của “Xem thông tin Tour
du lịch”
1 Hệ thống hiển thị các phần thông tin của tour
2 Người dùng có thể chọn các thông tin mà mình quantâm đến
3 Hệ thống truy xuất các thông tin
Trang 174 Hệ thống hiển thị các thông tin mà người dùng chọn.
Alternative flow
(Thất bại)
Nếu hệ thống không truy xuất được dữ liệu Những công việc sau được thực hiện:
1 Hệ thống mô tả lý do truy xuất được dữ liệu thất bại
2 Hệ thống thông báo người dùng về lỗi hệ thống
3 Người dùng chọn các lựa chọn khác, bước 3 ở Basic flowđược thực hiện
Trang 185 Usecase “Search Tour Infomation”
Brief description Người dùng nhập vào ô tìm kiếm để tìm thông tin tour
Actor(s) Tất cả người dùng
Pre-conditions Người dùng nhập thông tin vào ô tìm kiếm
Post-conditions Nếu tìm tour thành công: Hệ thống trả về thông tin tour được
tìm thấyNếu tìm tour không thành công: Hệ thống thông báo khôngtìm thấy
Flow of events
Basic flow Use case bắt đầu khi người dùng nhập vào ô tìm kiếm để tìm(Thành công) thông tin tour
1 Hệ thống hiển thị ô tìm kiếm
2 Người dùng nhập tên tour vào ô tìm kiếm
3 Hệ thống tìm kiếm thông tin
4 Hệ thống trả về thông tin tour
Alternative flow Nếu tour không tồn tại
(Thất bại) 1 Hệ thống trả về thông báo không tìm thấy kết quả
Trang 19Extension point Không có
Trang 206 Usecase “Forgot Password”
Brief description Người dùng quên mật khẩu tài khoản đã đăng ký
Actor(s) Customer
Pre-conditions Người dùng nhập thông tin email
Post-conditions Nếu nhập đúng email: Hệ thống gửi mail thay đổi mật khẩu
đến email
Trang 21Nếu đăng nhập không thành công: Hệ thống thông báo khôngtồn tại email
Flow of events
Basic flow Use case bắt đầu khi người dùng nhập vào ô điền email đã(Thành công) đăng ký
1 Hệ thống hiển thị ô tìm kiếm
2 Người dùng nhập email vào ô
3 Hệ thống tìm kiếm thông tin
4 Hệ thống gửi mail đến email đã đăng ký
5 Người dùng nhấn vào đường link đổi mật khẩu
6 Điền thông tin vào ô “Mật khẩu mới” và “Nhập lại mậtkhẩu mới”
7 Chọn “Xác nhận” và trở về trang đăng nhập
Alternative flow Nếu email không tồn tại
(Thất bại) 1 Hệ thống trả về thông báo không tìm thấy email
Trang 23Post-conditions Người dùng đăng nhập thành công vào hệ thống
Flow of events
Basic flow Người dùng truy cập vào trang chủ để chọn tour
(Thành công) 1 Người dùng chọn “Chọn địa chỉ” để chọn địa chỉ
và chọn tour muốn đặt ,sau đó người dùng sẽ được chuyểnđến giao diện của “Xem thông tin Tour du lịch”
2 Hệ thống hiển thị các phần thông tin của tour
3 Người dùng chọn “Chọn khách sạn/ nhà nghỉ” để chọnkhách sạn hoặc nhà nghỉ
4 Người dùng chọn “Chọn nhà hàng” để chọn nhà hàng
5 Người dùng chọn “Chọn phương tiện” để chọn phươngtiện
6 Chọn “Đặt tour” để tiến hành đặt
Alternative flow Nếu hệ thống không đặt được tour
(Thất bại) 1 Hệ thống mô tả lý do tour đặt dữ liệu thất bại
2 Hệ thống thông báo người dùng về lỗi
3 Người dùng chọn các lựa chọn khác để tiến hành đặtlại, bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 248 Usecase “Cancel tour”
Brief description Hủy tour du lịch
Actor(s) Customer
Pre-conditions Người dùng truy cập vào ứng dụng
Trang 25Post-conditions Người dùng hủy thành công: Hệ thống thông báo hủy thành
công và tour đã xóa khỏi “History”
Người dùng hủy thất bại: Hệ thống thông báo hủy thất bại
Flow of events
Basic flow Người dùng truy cập vào “History”
(Thành công) 1 Hệ thống hiển thị danh sách tour đã đặt
2 Người dùng chọn vào tour muốn hủy chọn “Hủy”
3 Hệ thống hiển thị thông báo xác nhận
4 Người dùng chọn “Đồng ý” nếu muốn hủy tour chọn
“Quay lại” để trở về bước 1
Alternative flow Nếu hệ thống không hủy được
(Thất bại) 1 Hệ thống mô tả lý do tour không được hủy
2 Hệ thống thông báo người dùng về lỗi
3 Người dùng chọn các lựa chọn khác để tiến hành hủylại, bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 269 Usecase “Pay by paypal”
Brief description Thanh toán bằng paypal
Actor(s) Customer
Pre-conditions Người dùng truy cập vào ứng dụng
Post-conditions Người dùng thanh toán thành công: Hệ thống thông báo thanh
toán thành côngNgười dùng thanh toán thất bại: Hệ thống thông báo thanh
Trang 27toán thất bại
Flow of events
Basic flow Người dùng truy cập vào “History”
(Thành công) 1 Hệ thống hiển thị danh sách tour đã đặt
2 Người dùng chọn vào tour muốn thanh toán chọn
“Thanh toán”
3 Hệ thống hiển thị thông tin “Giá” và mã giảm giá
4 Người dùng chọn “Hình thức thanh toán”, chọn
“Paypal”
5 Người dùng xác nhận thanh toán chọn “Thanh toán”
Alternative flow Nếu hệ thống không thanh toán được
(Thất bại) 1 Hệ thống mô tả lý do tour không thanh toán được
2 Hệ thống thông báo người dùng về lỗi
3 Người dùng chọn các lựa chọn khác để tiến hành thànhtoán lại, bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 2810 Usecase “Pay by vnpay”
Brief description Thanh toán bằng vnpay
Actor(s) Customer
Pre-conditions Người dùng truy cập vào ứng dụng
Post-conditions Người dùng thanh toán thành công: Hệ thống thông báo thanh
toán thành công
Trang 29Người dùng hủy thất bại: Hệ thống thông báo thanh toán thấtbại
Flow of events
Basic flow Người dùng truy cập vào “History”
(Thành công) 1 Hệ thống hiển thị danh sách tour đã đặt
2 Người dùng chọn vào tour muốn thanh toán chọn
“Thanh toán”
3 Hệ thống hiển thị thông tin “Giá” và mã giảm giá
4 Người dùng chọn “Hình thức thanh toán”, chọn
“Vnpay”
5 Người dùng xác nhận thanh toán chọn “Thanh toán”
Alternative flow Nếu hệ thống không thanh toán được
(Thất bại) 1 Hệ thống mô tả lý do tour không thanh toán được
2 Hệ thống thông báo người dùng về lỗi
3 Người dùng chọn các lựa chọn khác để tiến hành thanhtoán lại , bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 3011 Usecase “Eveluate”
Brief description Người dùng đánh giá các tour mình đã trải nghiệm
Actor(s) Customer
Pre-conditions Người dùng truy cập vào ứng dụng
Post-conditions Người dùng đánh giá thành công: Hệ thống thông báo đã
đánh giáNgười dùng đánh giá thất bại: Hệ thống thông báo không thểđánh giá
Trang 31Flow of events
Basic flow Người dùng truy cập vào danh sách Tour
(Thành công) 1 Hệ thống hiển thị danh sách tour
2 Người dùng chọn vào tour muốn đánh giá chọn “Đánhgiá”
3 Người dùng chọn số sao và bình luận vào phần đánhgiá
4 Người dùng chọn “Đánh giá” để lưu đánh giá
Alternative flow Nếu hệ thống không đánh giá được
(Thất bại) 1 Hệ thống mô tả lý do tour không đánh giá được
2 Hệ thống thông báo người dùng về lỗi
3 Người dùng chọn các lựa chọn khác để tiến hành đánhgiá lại, bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 3212 Usecase “Update Profile”
Brief description Người dùng cập nhật thông tin tài khoản
Actor(s) Customer, Admin
Pre-conditions Người dùng truy cập vào ứng dụng
Post-conditions Người dùng cập nhật thông tin thành công: Hệ thống thông
báo thành côngNgười dùng cập nhật thông tin thất bại: Hệ thống thông báo
Trang 33thất bại
Flow of events
Basic flow Người dùng truy cập vào “Profile” để cập nhật thông tin cá(Thành công) nhân
1 Hệ thống hiển thị thông tin
2 Người dùng chọn vào thông tin cần thay đổi (họ vàtên, địa chỉ) và nhập thông tin
3 Người dùng chọn “Lưu” để lưu thông tin, trở về trangchủ
Alternative flow Nếu hệ thống không lưu được thông tin
(Thất bại) 1 Hệ thống mô tả lý do thông tin thay đổi không lưu được
2 Hệ thống thông báo người dùng về lỗi
3 Người dùng chọn các lựa chọn khác để tiến hành cậpnhật lại, bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 3413 Usecase “Change password”
Brief description Người dùng muốn đổi mật khẩu cho tài khoản
Actor(s) Customer, Admin
Pre-conditions Người dùng truy cập vào ứng dụng
Post-conditions Người dùng thay đổi mật khẩu thành công: Hệ thống thông
báo thành côngNgười dùng thay đổi mật khẩu thất bại: Hệ thống thông báothất bại
Trang 35Flow of events
Basic flow Người dùng truy cập vào “Profile” để cập nhật thông tin cá(Thành công) nhân
1 Hệ thống hiển thị thông tin
2 Người dùng chọn “Đổi mật khẩu”
3 Hệ thống hiển thị Form nhập “Mật khẩu cũ”, nhập
“Mật khẩu mới”, nhập “Nhập lại mật khẩu mới”
4 Chọn “Đổi mật khẩu”
Alternative flow Nếu hệ thống không đổi được mật khẩu
(Thất bại) 1 Hệ thống mô tả lý do không thay đổi được
2 Hệ thống thông báo người dùng về lỗi
3 Người dùng chọn các lựa chọn khác để tiến hành đổilại, bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 3614 Usecase “Aggregate Statistics”
Brief description Người dùng muốn thống kê thông tin
Pre-conditions Người dùng truy cập vào ứng dụng
Post-conditions Người dùng thống kê thành công: Hệ thống hiển thỉ dữ liệu
Người dùng thống kê thất bại: Hệ thống hiển thị chưa có dữ
Trang 373 Hệ thống hiển thị dữ liệu và biểu đồ thống kê
Alternative flow Nếu hệ thống không thể thống kê
(Thất bại) 1 Hệ thống mô tả lý do không thống kê được
2 Hệ thống thông báo người dùng về lỗi
3 Khi người dùng chọn các lựa chọn khác
Extension point Không có
Trang 3815 Usecase “Add User”
Brief description Người dùng thêm User vào hệ thống
Pre-conditions Người dùng truy cập vào ứng dụng
Post-conditions Người dùng đánh giá thành công: Hệ thống thông báo đã
thêm thành côngNgười dùng đánh giá thất bại: Hệ thống thông báo lỗi khôngthể thêm
Flow of events
Trang 39Basic flow Người dùng truy cập vào danh sách User
(Thành công) 1 Hệ thống hiển thị danh sách các User
6 Hệ thống xác định thông tin của người dùng nhập vào
7 Hệ thống lưu tài khoản cho khách hàng để truy cậpđược vào hệ thống
Alternative flow Nếu người dùng nhập sai hay thông tin không xác thực.(Thất bại) Những công việc sau được thực hiện:
1 Hệ thống mô tả lý do xác thực bị sai
2 Hệ thống lưu ý người dùng nhập các thông tin lại
3 Khi người dùng nhập lại các thông tin xác thực bị sai,bước 5 ở Basic flow được thực hiện
Extension point Không có
Trang 4016 Usecase “Update User”
Brief description Người dùng cập nhật các thông tin của User
Pre-conditions Người dùng truy cập vào ứng dụng
Post-conditions Người dùng đánh giá thành công: Hệ thống thông báo đã cập
Trang 41nhật thành côngNgười dùng đánh giá thất bại: Hệ thống thông báo lỗi khôngthể cập nhật
Flow of events
Basic flow Người dùng truy cập vào danh sách User
(Thành công) 1 Hệ thống hiển thị danh sách các User
2 Người dùng chọn “Cập nhật” trên dòng User
3 Hệ thống hiển thị cửa sổ cho người dùng chỉnh sửa họ
và tên, password, email, số điện thoại, địa chỉ
4 Người dùng nhập các thông tin mới
5 Hệ thống xác thực các thông tin mới
6 Hệ thống xác định thông tin của người dùng nhập vào
7 Hệ thống cập nhật thông tin mới cho tài khoản
Alternative flow Nếu người dùng nhập sai hay thông tin không xác thực.(Thất bại) Những công việc sau được thực hiện:
1 Hệ thống mô tả lý do xác thực bị sai
2 Hệ thống lưu ý người dùng nhập các thông tin lại
3 Khi người dùng nhập lại các thông tin xác thực bị sai,bước 5 ở Basic flow được thực hiện
Extension point Không có
Trang 4217 Usecase “Delete User”
Brief description Người dùng xóa/khóa User khỏi hệ thống
Pre-conditions Người dùng truy cập vào ứng dụng
Post-conditions Người dùng đánh giá thành công: Hệ thống thông báo đã xóa
Trang 43thành côngNgười dùng đánh giá thất bại: Hệ thống thông báo lỗi khôngthể xóa
Flow of events
Basic flow Người dùng truy cập vào danh sách User
(Thành công) 1 Hệ thống hiển thị danh sách các User
2 Người dùng chọn “Xóa” trên dòng User
3 Hệ thống hiển thị cửa sổ cho người dùng xác nhận thaotác xóa
4 Người dùng xác nhận
5 Hệ thống xác thực các thao tác xóa
6 Hệ thống cập nhật lại danh sách User
Alternative flow Nếu người dùng nhập sai hay thông tin không xác thực
(Thất bại) Những công việc sau được thực hiện:
1 Hệ thống mô tả lý do xác thực bị sai
2 Hệ thống lưu ý người dùng thực hiện lại thao tác
3 Khi người dùng thực hiện lại, bước 5 ở Basic flowđược thực hiện
Extension point Không có