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 Flow of events Basic flow Use case bắt đầu khi người dung chưa có tài khoản cần thực hiện chứ
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ
THUẬT TPHCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
Oố EQ o
BAO CAO 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 18110121
Huỳnh Nhựt Thiên 18110203
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 dulị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 3• Cá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 4Thành viên tiết kiệm được nhiều
hơn với Trip Coins!
Tham gia cùng chúng tôi và nhận Trip Coins
ngay Trip Coins có thế dùng đế thanh toán toàn
bộ đặt chỗ!
Đăng nhập ngay
Discover Osaka Tokyo
ưu đãi giới hạn
= CHALLENGE
Trúng thưởng vé
bay mỗi tuần
Ưu đãi khách sạn staycation
Đặt ngay >
Trip com
13
Chuyến bay Tàu hoả
Trang chủ
Trang 5Aggregate Statistks
Update prữíile Update Personal Iníormation
Trang 6ưc ManageTour
uc Manage User
Trang 7III Đặc tả UseCase và Lược đồ Sequence
1 Usecase “Login”
Use case bắt đầu khi người dùng cần thực hiện chức năng nào
đó của hệ thống cần xác thực quyền truy cập
1 Hệ thống hiển thị cửa sổ cho người dùng nhập email
được phép truy cập của người dùng
Trang 82 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 92 Usecase “Logout”
Trang 10Pre-conditions Người dùng đã đăng nhập trong ứng dụ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”
3 Hệ thống xóa session
4 Thoát khỏi ứng dụng, trở về trang đăng nhập
Alternative flow
(Thất bại)
Trang 113 Usecase “SignUp”
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
Flow of events
Basic flow Use case bắt đầu khi người dung chưa có tài khoản cần thực
hiện chức năng đăng ký(Thành công)
1 Hệ thống hiển thị cửa sổ cho người dùng nhập họ vàtên, password, email, số điện thoại, địa chỉ
Trang 122 Người dùng nhập họ và tên, password, email, số điệnthoại, địa chỉ.
3 Hệ thống xác thực họ và tên, password, email, số điệnthoạ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
Trang 14Name Xem thông tin Tour du lịch (Check Tour Information)
tham quan, nhà hàng, khách sạn, các loại phương tiện dichuyển, chi phí
Post-conditions
Nếu đăng nhập thành công: Người dùng xem được các thôngtin của tour du lịch
Nếu đăng nhập không thành công: Thông báo hệ thống bị lỗi
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ườidù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
4 Hệ thống hiển thị các thông tin mà người dùng chọn
Trang 16Alternative flow Nếu hệ thống không truy xuất được dữ liệu Những công việc(Thất bại) 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 ở Basicflow được thực hiện
sd Check tour iníomation
Trang 175 Usecase “Search Tour
Infomation”
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
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
(Thất bại)
Nếu tour không tồn tại
1 Hệ thống trả về thông báo không tìm thấy kết quả
Trang 185 Usecase “Search Tour Infomation”
Trang 196 Usecase “Forgot Password”
đến email
Trang 20Nế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ật
khẩu mới”
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 22Post-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ọn
(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
Trang 238 Usecase “Cancel tour”
Trang 24Basic 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
Trang 25sd Check tour iníomation
9 Usecase “Pay by paypal”
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 26toán thất bại
Flow of events
Basic flow
(Thành công)
Người dùng truy cập vào “History”
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
(Thất bại)
Nếu hệ thống không thanh toán được
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
Trang 2710 Usecase “Pay by vnpay”
toán thành công
Trang 28Người dùng hủy thất bại: Hệ thống thông báo thanh toán thấtbại
Trang 29Flow of events
Basic flow
(Thành công)
Người dùng truy cập vào “History”
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
(Thất bại)
Nếu hệ thống không thanh toán được
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 thanh
toán lại , bước 1 ở Basic flow được thực hiện
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
Trang 3212 Usecase “Update Proíile”
Trang 33thất bại
Flow of events
Basic flow Người dùng truy cập vào “Proíile” để cập nhật thông tin cá
nhân(Thành công)
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
Trang 3413 Usecase “Change password”
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
Luu du lieu() MessageQ
[Thanh Cong]
Trang 35Flow of events
Basic flow Người dùng truy cập vào “Proíile” để cập nhật thông tin cá
nhân(Thành công)
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
Trang 3614 Usecase “Aggregate Statistics”
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
Trang 3815 Usecase “Add User”
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
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
Trang 4016 Usecase “Update User”
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
(Thành công)
Người dùng truy cập vào danh sách User
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
(Thất bại)
Nếu người dùng nhập sai hay thông tin không xác thực
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
Trang 42Luii thong tin()
[Thanh Cong]
kiem tra thogn tin()
Gui thong tỉn()
MessageQ
Trang 4317 Usecase “Delete User”
Trang 44thà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
(Thành công)
Người dùng truy cập vào danh sách User
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 thao
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
Trang 4518 Usecase “Add Tour”
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
Trang 46Flow 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 các Tour
2 Người dùng chọn “Thêm Tour”
3 Hệ thống hiển thị cửa sổ cho người dùng nhập và lựachọn địa điểm, nhà hàng, khách sạn, phương tiện
4 Người dùng nhập và lựa chọn địa điểm, nhà hàng,khách sạn, phương tiện
5 Hệ thống xác thực địa điểm, nhà hàng, khách sạn,phương tiện
6 Hệ thống xác định thông tin của người dùng nhập vàlựa chọn
7 Hệ thống lưu thông tin của Tour vào hệ thống
Alternative flow Nếu thông tin không xác thực Những công việc sau được(Thất bại) thực hiện:
Trang 4719 Usecase “Update Tour”
Trang 48Basic 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 các Tour
2 Người dùng chọn “Cập nhật” trên dòng Tour
3 Hệ thống hiển thị cửa sổ cho người dùng chỉnh sửa vàlựa chọn lại địa điểm, nhà hàng, khách sạn, phương tiện
4 Người dùng nhập và lựa chọn lại 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 chỉnh sửa
và lựa chọn lại
7 Hệ thống cập nhật thông tin mới cho Tour
Alternative flow Nếu người dùng nhập và lựa chọn sai hay thông tin không xác(Thất bại) thực Những công việc sau được thực hiện:
Trang 4920 Usecase “Delete Tour”
Trang 50Post-conditions Người dùng đánh giá thành công: Hệ thống thông báo đã xóa
thà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 Tour
(Thành công) 1 Hệ thống hiển thị danh sách các Tour
2 Người dùng chọn “Xóa” trên dòng Tour
3 Hệ thống hiển thị cửa sổ cho người dùng xác nhậnthao tá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 Tour
Alternative flow Nếu thông tin không xác thực Những công việc sau được(Thất bại) 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
Trang 51IV Class diagram dass Use Ca se Model
Trang 52idEnterprise: ữbjectld idVehicle: objectld name: string detail: string payment: string imageTour: string ỉtatus: string idDỉscount: Obịectld idTour: Obịectld
dỉscount: Int32
Tour
Discount