Usecase “Login” Name 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 đ
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 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
Lập kế hoạch
Trang 3 Chuyến đi: lưu địa điểm muốn ghé, xem các mục đã lưu trên bản đồ chia sẽ
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 5II UseCase Lược đồ UseCase
Trang 7III Đặc tả UseCase và Lược đồ Sequence
1 Usecase “Login”
Name 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ệ
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
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
Extension point Không có
Trang 92 Usecase “Logout”
Name Logout
Brief description Người dùng đăng xuất khỏi hệ thống
Trang 10Actor(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ề
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 113 Usecase “SignUp”
Name SignUp
Brief description Người dùng đăng ký tài khoản hệ thống
Actor(s) Guest
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 122. 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ài khoản cho người dùng để truy cập được vào hệ thống.Alternative flow
(Thất bại)
Nếu người dùng nhập sai hay mã xác thực sai 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 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 144 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 di chuyể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
(Thành công)
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”
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 quan tâ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 15Alternative 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
Extension point Không có
Trang 165 Usecase “Search Tour Infomation”
Name 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ông tì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ả
Extension point Không có
Trang 176 Usecase “Forgot Password”
Name 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 18Nếu đăng nhập không thành công: Hệ thống thông báo khôngtồn tại email
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ậpAlternative flow
(Thất bại)
Nếu email không tồn tại
1 Hệ thống trả về thông báo không tìm thấy email
Extension point Không có
Trang 20Post-conditions Người dùng đăng nhập thành công vào hệ thống
Flow of events
Basic flow
(Thành công)
Người dùng truy cập vào trang chủ để chọn tour
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 đặtAlternative flow
(Thất bại)
Nếu hệ thống không đặt được tour
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 đặt lại, bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 218 Usecase “Cancel tour”
Name 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 22Post-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
(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 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
(Thất bại)
Nếu hệ thống không hủy được
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ủy lại, bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 239 Usecase “Pay by paypal”
Name 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ông Người dùng thanh toán thất bại: Hệ thống thông báo thanh
Trang 24toá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ành toán lại, bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 2510 Usecase “Pay by vnpay”
Name 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 26Người dùng hủy thất bại: Hệ thống thông báo thanh toá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
“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 thanhtoán lại , bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 2711 Usecase “Eveluate”
Name Evelute
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 28Flow of events
Basic flow
(Thành công)
Người dùng truy cập vào danh sách Tour
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 “Đánh giá”
3 Người dùng chọn số sao và bình luận vào phần đánh giá
4 Người dùng chọn “Đánh giá” để lưu đánh giá
Alternative flow
(Thất bại)
Nếu hệ thống không đánh giá được
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 đánh giá lại, bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 2912 Usecase “Update Profile”
Name 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 301 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ề trang chủ
Alternative flow
(Thất bại)
Nếu hệ thống không lưu được thông tin
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ập nhật lại, bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 3113 Usecase “Change password”
Name 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áo thất bại
Trang 321 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
(Thất bại)
Nếu hệ thống không đổi được mật khẩu
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 đổi lại, bước 1 ở Basic flow được thực hiện
Extension point Không có
Trang 3314 Usecase “Aggregate Statistics”
Name Aggregate Statistics
Brief description Người dùng muốn thống kê thông tin
Actor(s) Admin
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 34liệu dể thống kê
Flow of events
Basic flow
(Thành công)
Người dùng truy cập vào “Thống kê” để xem thông tin
1 Hệ thống hiển thị thông tin
2 Người dùng có thể chọn “Tháng”, “Quý”,”Năm” để xem lịch sử giao dịch và doanh thu
3 Hệ thống hiển thị dữ liệu và biểu đồ thống kê
Alternative flow
(Thất bại)
Nếu hệ thống không thể thống kê
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 3515 Usecase “Add User”
Name Add User
Brief description Người dùng thêm User vào hệ thống
Actor(s) Admin
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ông thể thêm
Flow of events
Trang 36Basic 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
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
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 3716 Usecase “Update User”
Name Update User
Brief description Người dùng cập nhật các thông tin của User
Actor(s) Admin
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 38nhật thành côngNgười dùng đánh giá thất bại: Hệ thống thông báo lỗi không thể 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
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 3917 Usecase “Delete User”
Name Delete User
Brief description Người dùng xóa/khóa User khỏi hệ thống
Actor(s) Admin
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 40thành côngNgười dùng đánh giá thất bại: Hệ thống thông báo lỗi không thể 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 thaotác xóa
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ó