Luận văn, khóa luận, chuyên đề, tiểu luận, quản trị, khoa học, tự nhiên, kinh tế
Trang 1KHOA CNTT –
ĐH KHTN
BỘ MÔN MẠNG MÁY TÍNH & VIỄN THÔNG
TÔN ANH TUẤN – TRẦN HOÀNG KHANH
XÂY DỰNG WEBSITE ĐẶT PHÒNG CHO KHÁCH SẠN
LUẬN VĂN CỬ NHÂN TIN HỌC
TP HCM, 2004
Trang 2KHOA CNTT –
ĐH KHTN
BỘ MÔN MẠNG MÁY TÍNH & VIỄN THÔNG
TÔN ANH TUẤN - 0012184 TRẦN HOÀNG KHANH - 0012571
XÂY DỰNG WEBSITE ĐẶT PHÒNG CHO KHÁCH SẠN
LUẬN VĂN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN ThS MAI VĂN CƯỜNG
NIÊN KHÓA 2000 – 2004
Trang 3KHOA CNTT –
ĐH KHTN
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 4
KHOA CNTT –
ĐH KHTN
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Trang 5
ơn sự chỉ bảo của Thầy
Chúng em xin trân trọng cám ơn quý Thầy cô trong khoa Công nghệ thông tin trường Đại học Khoa học Tự nhiên Tp Hồ Chí Minh đã tận tình giảng dạy, truyền đạt những kiến thức quý báo và tạo điều kiện cho chúng em thực hiện luận văn này
Xin chân thành cảm ơn sự giúp đỡ, động viên và chỉ bảo rất tận tình của tất
cả các bạn cũng như các anh chị đi trước trong quá trình thực hiện luận văn
Mặc dù đã cố gắng nổ lực hết mình, song luận văn chắc chắn còn nhiều thiếu sót Chúng em rất mong nhận được sự thông cảm và chỉ bảo tận tình của quý Thầy cô và các bạn
Tp HCM, 7/2004 Nhóm sinh viên thực hiện Tôn Anh Tuấn – Trần Hoàng Khanh
Trang 6có những khó khăn, trở ngại đối với người nước ngoài (bao gồm cả Việt kiều ở các nước) khi có ý định đến Việt Nam là vấn đề chỗ ở, họ rất băn khoăn trong việc tìm kiếm và đặt chỗ trong một khách sạn mà có thể đáp ứng được nhu cầu của mình, trong khi đó thì hệ thống các khách sạn ở nướ ta ngày càng lớn, hiện đại và tiện nghi
Với mong muốn có thể tạo được một hệ thống website cho phép người dùng tìm kiếm thông tin về các khách sạn ở Việt Nam, đồng thời hỗ trợ việc đặt phòng
trước qua mạng, chúng em đã tập trung tìm hiểu và thực hiện đề tài “XÂY
DỰNG WEBSITE ĐẶT PHÒNG CHO KHÁCH SẠN - BOOKING GATEWAY” Mặc dù đây không hẳn là một nội dung mới mẻ (vì đã có rất
nhiều trang web hỗ trợ các dịch vụ này như: http://www.hoteltravel.com,
http://www.saigon-hotels.net ) nhưng nó là một đề tài có thể đem đến nhiều lợi ích thiết thực: củng cố và phát huy những kiến thức đã học vào ứng dụng thực tế, khả năng làm việc độc lập với một đề án thực sự, và nếu thành công nó có thể góp mặt vào hệ thống các website hỗ trợ dịch vụ khách sạn (và có thể mở rộng
Trang 7KHOA CNTT –
ĐH KHTN
Luận văn bao gồm các nội dung như sau:
Chương 1: Mở đầu Giới thiệu chung về đề tài, ý nghĩa và các mục tiêu của
đề tài; các đề án và hệ thống tương tự trong và ngoài nước
Chương 2: Tổng quan về hệ thống Booking Gateway Giới thiệu tổng
quan về hệ thống sẽ xây dựng, các nhiệm vụ mà hệ thống sẽ thực hiện, và các giải pháp liên quan
Chương 3: Phân tích Bao gồm các tài liệu liên quan đến quá trình phân
tích hệ thống như: phân tích các yêu cầu chức năng và phi chức năng, các mô hình use case và đặc tả use case, các mô hình lớp và lưu đồ hoạt động
Chương 4: Thiết kế Bao gồm các tài liệu liên quan đến quá trình thiết kế
hệ thống như: thiết kế dữ liệu, thiết kế kiến trúc, thiết kế chức năng, thiết kế giao diện
Chương 5: Cài đặt và triển khai Trình bày các vấn đề liên quan đến cài
đặt và triển khai hệ thống như: lựa chọn môi trường cài đặt, các công nghệ mới được sử dụng, các bước cài đặt chính và việc triển khai hệ thống trên môi trường Windows
Chương 6: Kết luận Trình bày tóm tắt các kết quả đạt được và đề xuất các
hướng mở rộng, phát triển trong tương lai
Trang 8KHOA CNTT –
ĐH KHTN
1.1 Phát biểu bài toán: 1
1.2 Các đối tượng phục vụ của hệ thống: 1
1.2.1 Các khách sạn: 1
1.2.2 Khách viếng, những người có nhu cầu tìm khách sạn: 1
1.2.3 Người quản trị website: 2
1.3 Các yêu cầu chính mà hệ thống phải thực hiện: 2
1.4 Các công cụ hỗ trợ lập trình: 3
Chương 2 PHÂN TÍCH 4
2.1 Phân tích yêu cầu hệ thống: 4
2.1.1 Các yêu cầu chức năng: 4
2.1.2 Các yêu cầu phi chức năng: 5
2.2 Bảng chú giải: 6
2.2.1 Giới thiệu: 6
2.2.2 Các định nghĩa: 6
2.3 Đặc tả bổ sung: 10
2.3.1 Mục tiêu: 10
2.3.2 Phạm vi: 10
2.3.3 Tài liệu tham khảo: 10
2.3.4 Chức năng: 10
2.3.5 Tính khả dụng: 10
2.3.6 Tính ổn định: 10
2.3.7 Hiệu suất: 11
2.3.8 Sự hỗ trợ: 11
2.3.9 Tính bảo mật: 11
2.3.10 Các ràng buộc thiết kế: 11
2.4 Các sơ đồ Use Case: 12
2.4.1 Mô hình các trường hợp sử dụng của Admin: 12
2.4.2 Mô hình các trường hợp sử dụng của Airplane: 13
2.4.3 Mô hình các trường hợp sử dụng của Hotel: 14
2.4.4 Mô hình các trường hợp sử dụng của Visitor: 15
2.5 Đặc tả Use Case: 15
2.5.1 Đăng nhập vào hệ thống: 15
2.5.2 Quản lý các Khách sạn: 17
2.5.3 Quản lý các Hãng hàng không: 19
2.5.4 Quản lý Khách viếng: 21
2.5.5 Quản lý người dùng khác: 22
2.5.6 Quản lý các thông tin của Khách sạn: 24
2.5.7 Quản lý các thông tin của Hãng hàng không: 26
2.5.8 Đăng ký nhà cung cấp dịch vụ mới: 28
2.5.9 Đăng ký thành viên mới: 30
2.5.10 Đăng ký phòng khách sạn: 31
2.5.11 Tìm kiếm Khách sạn, Hãng hàng không: 33
Trang 9KHOA CNTT –
ĐH KHTN
2.5.16 Trao đổi thông tin: 40
2.6 Sơ đồ lớp: 43
2.6.1 Admin Login Class: 43
2.6.2 Airplane Description Class: 44
2.6.3 Hotel Description Class: 45
2.6.4 Exchange Info Class: 45
2.6.5 Manage Airplane Class: 46
2.6.6 Manage Hotel Class: 47
2.6.7 Manage Airplane Info Class: 48
2.6.8 Manage Hotel Info Class: 49
2.6.9 Manage User Class: 50
2.6.10 Manage Visitor Class: 50
2.6.11 Register Member Class: 51
2.6.12 Register Service Class: 51
2.6.13 Register Supplier Class: 52
2.7 Các lưu đồ hoạt động: 53
2.7.1 Đăng nhập hệ thống: 53
2.7.2 Khách viếng đăng ký làm thành viên: 55
2.7.3 Khách sạn đăng ký làm nhà cung cấp dịch vụ khách sạn: 57
2.7.4 Khách viếng đặt phòng ở khách sạn: 59
2.7.5 Nhập thông tin mô tả cho Hãng hàng không: 61
2.7.6 Nhập thông tin mô tả cho Khách sạn: 63
2.7.7 Soạn và gửi các thông điệp: 65
2.7.8 Xem các thông điệp: 67
2.7.9 Xem các thông tin chung của Hãng hàng không: 69
2.7.10 Cập nhật các thông tin chung của Khách sạn: 71
2.7.11 Cập nhật các thông tin mô tả của Khách sạn: 73
2.7.12 Tìm kiếm Khách sạn: 75
2.7.13 Thêm người sử dụng mới (với vai trò Admin): 77
2.7.14 Xem danh sách người sử dụng (với vai trò Admin): 79
2.7.15 Xem thông tin người sử dụng (với vai trò Admin): 81
2.7.16 Xóa thông tin người sử dụng (với vai trò Admin): 83
2.7.17 Xem danh sách các Khách sạn: 85
2.7.18 Xem thông tin chi tiết một Khách sạn: 87
2.7.19 Xóa một Khách sạn: 89
2.7.20 Xem danh sách khách viếng: 91
2.7.21 Xem thông tin một khách viếng: 93
2.7.22 Xóa một khách viếng: 95
Chương 3 THIẾT KẾ 97
3.1 Thiết kế dữ liệu: 97
3.1.1 Mô hình dữ liệu logic ở dạng sơ đồ: 98
3.1.2 Danh sách các bảng dữ liệu: 99
Trang 10KHOA CNTT –
ĐH KHTN
3.3 Thiết kế chức năng: 127
3.3.1 Bảng mô tả các hàm và thủ tục: 127
3.3.2 Bảng mô tả module: 129
3.4 Thiết kế giao diện: 130
Chương 4 CÀI ĐẶT VÀ TRIỂN KHAI 139
4.1 Cài đặt: 139
4.1.1 Lựa chọn môi trường cài đặt: 139
4.1.2 Lựa chọn mô hình cài đặt: 139
4.1.3 Xây dựng các lớp xử lý chính: 141
4.1.4 Cài đặt các hàm xử lý chủ yếu: 147
4.1.5 Tiếp cận với công nghệ lập trình Web mới – ASP.NET: 153
4.2 Triển khai và thử nghiệm chương trình: 166
4.2.1 Triển khai và thử nghiệm ứng dụng: 166
Chương 5 TỔNG KẾT 173
5.1 Kết luận: 173
5.2 Hướng phát triển: 175
5.2.1 Xây dựng bổ sung thêm các nhà cung cấp dịch vu khác: 175
5.2.2 Liên kết với các hệ thống ngân hàng: 176
5.2.3 Liên kết với các đối tác là nhà cung cấp dịch vụ để thực hiện quá trình đăng ký và thanh toán tự động: 176
5.2.4 Đưa vào triển khai ứng dụng trên thực tế: 176
Trang 11KHOA CNTT –
ĐH KHTN
Hình 2-1: Mô hình use-case của Admin 12
Hình 2-2: Mô hình use-case của Airplane 13
Hình 2-3: Mô hình use-case của Hotel 14
Hình 2-4: Mô hình use-case của Visitor 15
Hình 2-5: Class Diagram: Đăng nhập hệ thống 43
Hình 2-6: Class Diagram: Mô tả hãng hàng không 44
Hình 2-7: Class Diagram: Mô tả khách sạn 45
Hình 2-8: Class Diagram: Trao đổi thông tin 45
Hình 2-9: Class Diagram: Quản lý Hãng hàng không 46
Hình 2-10: Class Diagram: Quản lý khách sạn 47
Hình 2-11: Class Diagram: Quản lý thông tin Hãng hàng không 48
Hình 2-12: Class Diagram: Quản lý thông tin khách sạn 49
Hình 2-13: Class Diagram: Quản trị người dùng 50
Hình 2-14: Class Diagram: Quản trị khách viếng 50
Hình 2-15: Class Diagram: Đăng ký thành viên 51
Hình 2-16: Class Diagram: Đăng ký dịch vụ 51
Hình 2-17: Class Diagram: Đăng ký nhà cung cấp dịch vụ 52
Hình 2-18: Sequence Diagram: Đăng nhập hệ thống 53
Hình 2-19: Collaboration Diagram: Đăng nhập hệ thống 54
Hình 2-20: Sequence Diagram: Đăng ký thành viên 55
Hình 2-21: Collaboration Diagram: Đăng ký thành viên 56
Hình 2-22: Sequence Diagram: Đăng ký nhà cung cấp dịch vụ 57
Hình 2-23: Collaboration Diagram: Đăng ký nhà cung cấp dịch vụ 58
Hình 2-24: Sequence Diagram: Đặt phòng khách sạn 59
Hình 2-25: Collaboration Diagram: Đặt phòng khách sạn 60
Hình 2-26: Sequence Diagram: Nhập thông tin mô tả Hãng hàng không 61
Hình 2-27: Collaboration Diagram: Nhập thông tin mô tả cho 62
Hình 2-28: Sequence Diagram: Nhập thông tin mô tả cho khách sạn 63
Hình 2-29: Collaboration Diagram: Nhập thông tin mô tả cho khách sạn 64
Hình 2-30: Sequence Diagram: Gửi thông điệp 65
Hình 2-31: Collaboration Diagram: Gửi thông điệp 66
Hình 2-32: Sequence Diagram: Xem thông điệp 67
Hình 2-33: Collaboration Diagram: Xem thông điệp 68
Hình 2-34: Sequence Diagram: Xem thông tin nhà cung cấp dịch vụ 69
Hình 2-35: Collaboration Diagram: Xem thông tin nhà cung cấp dịch vụ 70
Hình 2-36: Sequence Diagram: Cập nhật thông tin nhà cung cấp dịch vụ 71
Hình 2-37: Collaboration Diagram: Cập nhật thông tin 72
Hình 2-38: Sequence Diagram: Cậpnhật thông tin mô tả của nhà cung cấp dịch vụ 73
Hình 2-39: Collaboration Diagram: Cập nhật thông tin mô tả của nhà cung cấp dịch vụ 74
Hình 2-40: Sequence Diagram: Tìm kiếm khách sạn 75
Hình 2-41: Sequence Diagram: Tìm kiếm khách sạn 76
Hình 2-42: Sequence Diagram: Thêm mới người sử dụng 77
Trang 12KHOA CNTT –
ĐH KHTN
Hình 2-47: Collaboration Diagram: Xem thông tin của người sử dụng 82
Hình 2-48: Sequence Diagram: Xóa người sử dụng 83
Hình 2-49: Collaboration Diagram: Xóa người sử dụng 84
Hình 2-50: Sequence Diagram: Xem danh sách khách sạn 85
Hình 2-51: Collaboration Diagram: Xem danh khách sạn 86
Hình 2-52: Sequence Diagram: Xem thông tin chi tiết của khách sạn 87
Hình 2-53: Collaboration Diagram: Xem thông tin chi tiết của khách sạn 88
Hình 2-54: Sequence Diagram: Xóa một khách sạn 89
Hình 2-55: Collaboration Diagram: Xóa một khách sạn 90
Hình 2-56: Sequence Diagram: Xem danh sách khách viếng 91
Hình 2-57: Collaboration Diagram: Xem danh sách khách viếng 92
Hình 2-58: Sequence Diagram: Xem thông tin khách viếng 93
Hình 2-59: Collaboration Diagram: Xem thông tin khách viếng 94
Hình 2-60: Sequence Diagram: Xóa một khách viếng 95
Hình 2-61: Collaboration Diagram: Xóa một khách viếng 96
Hình 3-1: Sơ đồ mô hình dữ liệu 98
Hình 3-2: Cấu trúc cây phân nhóm - Cấp 1 124
Hình 3-3: Cấu trúc cây phân nhóm - Cấp 2: Admin 125
Hình 3-4: Cấu trúc cây phân nhóm - Cấp 2: Hãng hàng không 125
Hình 3-5: Cấu trúc cây phân nhóm - Cấp 2: Khách sạn 125
Hình 3-6: Cấu trúc cây phân nhóm - Cấp 2: Khách viếng 126
Hình 3-7: Trang chủ 131
Hình 3-8: Đăng ký thành viên 132
Hình 3-9: Đăng nhập 133
Hình 3-10: Mô tả khách sạn 134
Hình 3-11: Mô tả hãng hàng không 135
Hình 3-12: Xem danh sách khách viếng 136
Hình 3-13: Thêm người dùng 137
Hình 3-14: Quản lý 138
Hình 4-1: Kiến trúc n-tier 140
Hình 4-2: ASP.NET Architecture 159
Hình 4-3: SQL Server Enterprise Manager 167
Hình 4-4: Tạo cơ sở dữ liệu Booking 168
Hình 4-5: Chọn chức năng Restore Database 169
Hình 4-6: Chuẩn bị Restore cơ sở dữ liệu 170
Hình 4-7: Ghi đè lên tập tin cơ sở dữ liệu 171
Hình 4-8: Danh sách đối tượng cơ sở dữ liệu 172
Trang 13KHOA CNTT –
ĐH KHTN
Bảng 3-1: Danh sách các thành phần của lược đồ dữ liệu 106
Bảng 3-2: Bảng dữ liệu tblHotels 107
Bảng 3-3: Bảng dữ liệu tblAirplanes 108
Bảng 3-4: Bảng dữ liệu tblVisitors 109
Bảng 3-5: Bảng dữ liệu tblAdmin 110
Bảng 3-6: Bảng dữ liệu tblRoomInfo 111
Bảng 3-7: Bảng dữ liệu tblFlightInfo 111
Bảng 3-8: Bảng dữ liệu tblBookInfo 112
Bảng 3-9: Bảng dữ liệu tblBookDetail 112
Bảng 3-10: Bảng dữ liệu tblBookResult 113
Bảng 3-11: Bảng dữ liệu tblBookTicket 113
Bảng 3-12: Bảng dữ liệu tblPassenger 114
Bảng 3-13: Bảng dữ liệu FlightResutl 114
Bảng 3-14: Bảng dữ liệu tblComments 114
Bảng 3-15: Bảng dữ liệu tblHotelInbox 115
Bảng 3-16: Bảng dữ liệu tblAirplaneInbox 115
Bảng 3-17: Bảng dữ liệu tblVisitorInbox 116
Bảng 3-18: Bảng dữ liệu tblAdminInbox 116
Bảng 3-19: Bảng dữ liệu tblCountries 116
Bảng 3-20: Bảng dữ liệu tblProvinces 117
Bảng 3-21: Bảng dữ liệu tblRegions 117
Bảng 3-22: Bảng dữ liệu tblContinents 117
Bảng 3-23: Bảng dữ liệu tblCities 117
Bảng 3-24: Bảng dữ liệu tblErrorMsg 118
Bảng 3-25: Bảng dữ liệu tblCommonMsg 118
Bảng 3-26: Bảng dữ liệu tblPayments 118
Bảng 3-27: Bảng dữ liệu tblCurrencies 118
Bảng 3-28: Bảng dữ liệu tblQuestions 119
Bảng 3-29: Bảng tổng hợp nhóm 127
Bảng 3-30: Bảng mô tả Module 130
Bảng 4-1: Danh sách các lớp xử lý chính 146
Bảng 4-2: Danh sách các lớp đối tượng dữ liệu 147
Trang 14KHOA CNTT –
ĐH KHTN
Chương 1 TỔNG QUAN VỀ HỆ THỐNG
BOOKING GATEWAY
1.1 Phát biểu bài toán:
Khách nước ngoài và Việt kiều ở hải ngoại khi dự định về Việt Nam họ
có mong muốn rằng có thể tìm kiếm một khách sạn đảm bảo cho họ một chỗ ở thích hợp, tiện nghi với giá cả hợp lý Nếu có thể họ muốn đăng ký chỗ ở trước khi đến ở (bằng các hình thức thanh toán trả tước và trả sau) Ngày nay công cụ nhanh nhất và hiệu quả để có thể thực hiện được điều đó chính là Internet Bài toán trên đặt ra là làm sao có thể xây dựng một website cho phép khách hàng (kể cả trong và ngoài nước) có thể tìm kiếm thông tin của các khách sạn trong nước với các nội dung cụ thể như: Tên khách sạn, địa chỉ, chuẩn khách sạn, số phòng, giá từng loại phòng… Ngoài
ra, nếu tìm được khách sạn mong muốn họ có thể đặt phòng trực tiếp qua mạng (thanh toán bằng các hình thức trả trước và trả sau)
1.2 Các đối tượng phục vụ của hệ thống:
1.2.1 Các khách sạn:
Các khách sạn sẽ đăng ký với website để trở thành một nhà cung cấp dịch vụ cho thuê phòng và các dịch vụ khác của khách sạn Họ có nhiệm vụ cung cấp các thông tin về khách sạn, về loại khách sạn, tổng số phòng, cung cách phục vụ, giá cả, các dịch vụ bổ sung… Những thông tin này sẽ được cập nhật vào những thời điểm thích hợp để đảm bảo thông tin chính xác
1.2.2 Khách viếng, những người có nhu cầu tìm khách sạn:
Đối tượng này có thể: đăng ký với website để trở thành thành viên (thông tin được lưu trữ và họ có thể đăng nhập), tìm kiếm các khách sạn
1
Trang 15KHOA CNTT –
ĐH KHTN
thích hợp, đặt phòng trực tuyến qua mạng Hệ thống sẽ thực hiện việc thanh toán cho họ
1.2.3 Người quản trị website:
Nhà quản trị có thể đăng nhập để quản trị website ở bất cứ nơi đâu Họ
có quyền kiểm soát tất cả các hoạt động của website, cụ thể như: xem các danh sách đăng ký (nhà cung cấp dịch vụ, thành viên), thêm, xóa, cập nhật thông tin… và chịu trách nhiệm liên hệ với các khách sạn khi có một yêu cầu đăng ký phòng (do hiện tại chưa thể thực hiện mọi việc tự động nên khi
có một người tìm phòng khách sạn thì người quản trị sẽ thực hiện các công việc thủ công như sau: kiểm tra thông tin khách hàng, liên hệ với khách sạn
để xác định xem có phòng đáp ứng yêu cầu của khách hàng hay không, nếu
có thì thực hiện việc đăng ký phòng cho khách hàng, trả lời kết quả đăng ký cho khách, thực hiện thanh toán) Đồng thời hệ thống sẽ thực hiện việc cập nhật thông tin vào cơ sở dữ liệu
1.3 Các yêu cầu chính mà hệ thống phải thực hiện:
Từng đối tượng người dùng sẽ có các chức năng được xử lý độc lập Người quản trị có thể thực hiện được các chức năng quản lý toàn bộ hệ thống như: quản lý khách viếng, quản lý khách sạn, quản lý người dùng, quản lý các thông tin đăng ký…
Khách viếng có thể đăng ký để trở thành thành viên, đăng nhập vào hệ thống, đặt phòng khách sạn, tìm kiếm khách sạn, hiệu chỉnh thông tin
cá nhân, trao đổi thông tin với phía quản trị (điều này là quan trọng vì hiện tại yêu cầu của đề tài là khi nhận được thông tin đăng ký của khách viếng thì phía quản trị website mới liên lạc với phía khách sạn để
2
Trang 16Hệ thống phải đảm bảo tính bảo mật trong các thông tin đăng ký, đăng nhập, quản trị,…
1.4 Các công cụ hỗ trợ lập trình:
Ngày nay có rất nhiều công cụ hỗ trợ cho việc lập trình các ứng dụng thương mại điện tử như:
ASP với các ngôn ngữ script là VBScript và JScript
ASP.NET: Một công nghệ lập trình ứng dụng mạng mới dựa trên nền NET framework của Microsoft
Trang 17KHOA CNTT –
ĐH KHTN
Chương 2 PHÂN TÍCH
2.1 Phân tích yêu cầu hệ thống:
2.1.1 Các yêu cầu chức năng:
2.1.1.1 Yêu cầu chức năng nghiệp vụ:
Cho phép người dùng đăng ký với hệ thống với vai trò khách sạn, khách viếng, hãng hàng không
Lưu trữ thông tin của tất cả các đối tượng
Lưu trữ thông tin đăng ký sử dụng dịch vụ của khách viếng (đăng
ký phòng khách sạn)
Cho phép khách viếng đặt phòng khách sạn qua web
Cho phép khách viếng đặt vé máy bay qua web
Cho phép khách viếng tìm kiếm thông tin khách sạn theo các tiêu chí khác nhau
Cho phép các nhà cung cấp dịch vụ nhập thông tin mô tả về dịch
vụ của mình và có thể hiệu chỉnh bất cứ lúc nào
Cho phép các loại người dùng khác nhau hiệu chỉnh thông tin cá nhân khi cần thiết
Hỗ trợ cho người quản trị trong việc quản lý hệ thống bao gồm: quản lý thông tin của tất cả các đối tượng (khách viếng, khách sạn, hãng hàng không, người dùng quyền quản trị), được quyền thêm
và xóa các đối tượng này; quản lý các thông tin đặt phòng, đặt vé máy bay và các thông tin liên quan
Hỗ trợ việc trao đổi thông tin lẫn nhau của các đối tượng
4
Trang 18KHOA CNTT –
ĐH KHTN
2.1.1.2 Yêu cầu chức năng hệ thống:
Cho phép người dùng đăng nhập vào hệ thống với các vai trò khác nhau ứng với từng đối tượng
Đảm bảo tính bảo mật của các thông tin đăng nhập của người dùng ở xa
Đảm bảo tính bảo mật của các thông tin đăng ký dịch vụ của khách viếng (như các mã số của thẻ tín dụng…)
Phân cấp quyền hạn của từng đối tượng người dùng trong việc truy cập vào các tài nguyên của hệ thống
2.1.2 Các yêu cầu phi chức năng:
2.1.2.1 Nhằm lợi ích của các đối tượng người dùng:
Tính tiện dụng: Giao diện thân thiện, dễ sử dụng đối với những người dùng Windows
Tính hiệu quả: Đảm bảo việc truy xuất nhanh đến các trang và khả năng kiểm soát lỗi tốt
Tính tương thích: Hỗ trợ tốt trên các trình duyệt từ IE5.1 trở lên và các trình duyệt tương thích khác như Netscape, Opera, Mozilla… Tính tiến hóa
2.1.2.2 Nhằm lợi ích của việc phát triển dự án:
Thiết kế theo mô hình three-tiers
Tính module hóa
Các tham số của hệ thống được thiết kế động, dễ điều chỉnh
Tính dùng lại của code
5
Trang 192.2.2 Các định nghĩa:
Bảng chú giải này bao gồm các định nghĩa cho các thuật ngữ được sử dụng trong mô hình use case và trong các tài liệu khác của hệ thống Đăng ký phòng khách sạn qua mạng (Booking Gateway)
2.2.2.1 Admin (Người quản trị hệ thống):
Admin là người quản trị hệ thống website, chịu trách nhiệm quản lý tất cả các thông tin người dùng thuộc các đối tượng khác nhau Ngoài ra, nhiệm
vụ quan trọng của phía quản trị trang web là làm cầu nối liên hệ giữa bên cung cấp dịch vụ (khách sạn, hãng hàng không) và bên sử dụng dịch vụ (khách viếng)
2.2.2.2 Airplanes (Hãng hàng không):
Airplanes là chỉ các hãng hàng không, phía cung cấp dịch vụ cho phép đặt
vé máy bay trực tuyến Hãng hàng không phải đăng ký với website để trở thành nhà cung cấp dịch vụ chính thức của website Sau khi đăng ký hãng hàng không phải cung cấp các thông tin mô tả về dịch vụ mà mình cung cấp cho website Các thông tin này được sử dụng trong quá trình tìm kiếm
6
Trang 202.2.2.4 Visitors (Khách viếng):
Khách viếng là đối tượng phục vụ chủ yếu của hệ thống Khách viếng là những người có nhu cầu sử dụng các dịch vụ như đăng ký phòng khách sạn, đặt vé máy bay Mỗi khách viếng sau khi đăng ký sẽ có một tài khoản riêng Mỗi khi cần đăng ký một dịch vụ nào đó (đăng ký phòng chẳng hạn) thì họ chỉ cần đăng nhập vào hệ thống và chọn dịch vụ cần đăng ký
2.2.2.5 Manage Hotels (Quản lý khách sạn):
Quản lý thông tin các khách sạn là ám chỉ công việc của người quản trị hệ thống website Người quản trị chịu trách nhiệm quản lý các thông tin liên quan đến các khách sạn như: chấp nhận đăng ký của một khách sạn mới làm nhà cung cấp dịch vụ, liên hệ với khách sạn khi có một khách đăng ký phòng, xóa bỏ một khách sạn khỏi cơ sở dữ liệu khi cần thiết…
2.2.2.6 Manage Airplanes (Quản lý hãng hàng không):
Quản lý thông tin các hãng hàng không là ám chỉ công việc của người quản trị hệ thống website Người quản trị chịu trách nhiệm quản lý các thông tin liên quan đến các hãng hàng không như: chấp nhận đăng ký của một hãng hàng không mới làm nhà cung cấp dịch vụ, liên hệ với hãng hàng không khi
7
Trang 21KHOA CNTT –
ĐH KHTN
có một khách đặt vé máy bay, xóa bỏ một hãng hàng không khỏi cơ sở dữ liệu khi cần thiết…
2.2.2.7 Manage Users (Quản lý người dùng):
Việc quản trị một hệ thống website có thể đòi hỏi nhiều người thực hiện, do
đó hệ thống cũng hỗ trợ việc quản lý các người dùng với vai trò này Một người quản trị có thể thêm, xóa và xem các thông tin của những người khác theo quyền hạn và chức năng của mình
2.2.2.8 Manage Visitors (Quản lý khách viếng):
Quản lý khách viếng là công việc của người quản trị website Người quản trị có thể chấp nhận yêu cầu đăng ký làm thành viên (với vai trò Visitor) của khách viếng, xóa một khách viếng và xem thông tin của một khách viếng 2.2.2.9 Exchange Info (Trao đổi thông tin):
Trao đổi thông tin là việc người quản trị website có nhu cầu gửi thông báo đến cho các đối tượng khác và ngược lại
2.2.2.10 Login (Đăng nhập vào hệ thống):
Hệ thống này phục vụ các đối tượng chủ yếu sau: người quản trị hệ thống (Admin), các khách sạn (Hotels), khách viếng (Visitors), ngoài ra còn có các hãng hàng không (Airplanes) Mỗi loại đối tượng trên khi đăng ký với
hệ thống website sẽ được cấp một account Họ sẽ dùng account này để đăng nhập vào hệ thống
2.2.2.11 Register New Supplier (Đăng ký nhà cung cấp dịch vụ mới): Mỗi khách sạn hay hãng hàng không muốn trở thành một thành viên để cung cấp dịch vụ cho website phải đăng ký với hệ thống Đây là một use case thể hiện quá trình đăng ký này
8
Trang 22KHOA CNTT –
ĐH KHTN
2.2.2.12 Register Member (Đăng ký thành viên):
Đây là một quá trình mà một khách viếng phải thực hiện khi muốn trở thành một thành viên của hệ thống với vai trò Visitor Đây cũng là quá trình mà khách viếng phải thực hiện trước khi có thể đăng ký sử dụng một dịch vụ nào đó
2.2.2.13 Register Service (Đăng ký dịch vụ):
Đây là quá trình mà khách viếng thực hiện khi đăng ký sử dụng một dịch vụ nào đó (chẳng hạn đăng ký phòng khách sạn)
2.2.2.14 Search (Tìm kiếm):
Tìm kiếm là một cơ chế cho phép khách viếng có thể tìm kiếm thông tin của các khách sạn hay hãng hàng không theo một hay một số tiêu chí nào đó 2.2.2.15 Airplane Info (Thông tin hãng hàng không):
Đây là những thông tin chung về hãng hàng không như: tên hãng hàng không, địa chỉ, điện thoại,…
Trang 232.3.3 Tài liệu tham khảo:
Không có
2.3.4 Chức năng:
Hỗ trợ nhiều người dùng làm làm việc đồng thời
Phải thông báo kết quả đăng ký cho khách viếng trong thời gian nhanh nhất
Trang 24Vai trò của từng đối tượng phải được thể hiện rõ ràng
Chỉ có người quản trị mới có quyền quyết định thêm hay xóa các đối tượng khác
Các thông tin chung của mỗi đối tượng do đối tượng đó quản lý
2.3.10 Các ràng buộc thiết kế:
Hệ thống phải hỗ trợ tốt trên hầu hết các trình duyệt của Windows như: Internet Explorer, Netscape, Opera, Mozilla…
11
Trang 25KHOA CNTT –
ĐH KHTN
2.4 Các sơ đồ Use Case:
2.4.1 Mô hình các trường hợp sử dụng của Admin:
Hình 2-1: Mô hình use-case của Admin
12
Trang 26KHOA CNTT –
ĐH KHTN
2.4.2 Mô hình các trường hợp sử dụng của Airplane:
Hình 2-2: Mô hình use-case của Airplane
13
Trang 27KHOA CNTT –
ĐH KHTN
2.4.3 Mô hình các trường hợp sử dụng của Hotel:
Hình 2-3: Mô hình use-case của Hotel
14
Trang 28KHOA CNTT –
ĐH KHTN
2.4.4 Mô hình các trường hợp sử dụng của Visitor:
Hình 2-4: Mô hình use-case của Visitor
2.5 Đặc tả Use Case:
2.5.1 Đăng nhập vào hệ thống:
2.5.1.1 Tên Use Case:
Login 2.5.1.2 Mô tả:
Use case này mô tả cách người dùng đăng nhập vào hệ thống với các vai trò khác nhau (Người quản trị website, Khách sạn, Hãng hàng không, Khách viếng)
15
Trang 29Tên và/hoặc mật khẩu bị sai:
Nếu trong dòng sự kiện chính, actor nhập sai tên hoặc mật khẩu,
hệ thống sẽ hiển thị một thông báo lỗi Actor có thể chọn để trở
về đầu của dòng sự kiện chính hoặc hủy bỏ việc đăng nhập, lúc này use case kết thúc
2.5.1.4 Yêu cầu đặc biệt:
Trang 30Người quản trị website thường xuyên phải kiểm tra thông tin của các khách sạn để đảm bảo tính chính xác và thông tin được cập nhật thường xuyên Use case này cho phép người quản trị có thể xem danh sách các khách sạn, xem thông tin mô tả chi tiết của các khách sạn, và xóa một khách sạn khỏi cơ sở dữ liệu
2.5.2.3 Dòng sự kiện:
Dòng sự kiện chính:
Use case này bắt đầu khi người quản trị (Admin) website chọn chức năng ‘Xem danh sách khách sạn’ trên Menu Ứng với từng khách sạn trong danh sách có thể chọn các chức năng như: Xem thông tin
mô tả chi tiết khách sạn hay là xóa hẳn khách sạn đó khỏi cơ sở dữ liệu
1 Người quản trị đăng nhập vào hệ thống
2 Nếu đăng nhập thành công, người quản trị chọn chức năng ‘Xem danh sách khách sạn’ (List Hotels) trên menu
3 Hệ thống truy xuất cơ sở dữ liệu để trả về danh sách các khách sạn
4 Hệ thống mở một trang web và hiển thị danh sách khách sạn trên trang web đó
17
Trang 31KHOA CNTT –
ĐH KHTN
5 Người quản trị chọn một khách sạn trong danh sách
6 Người quản trị chọn các chức năng: ‘Xem thông tin chi tiết’ hay
‘Xóa’ một khách sạn
7 Nếu chọn chức năng ‘Xem thông tin chi tiết’ thì hệ thống sẽ thực hiện việc truy xuất dữ liệu và mở một trang web để hiển thị các thông tin mô tả chi tiết cho khách sạn đã chọn
8 Nếu chọn chức năng ‘Xóa” thì hệ thống sẽ truy xuất vào cơ sở
dữ liệu và xóa các thông tin liên quan đến khách sạn này khỏi cơ
sở dữ liệu hệ thống
Dòng sự kiện khác:
Quá trình truy xuất dữ liệu thất bại hoặc xóa khách sạn không thành công: Nếu trong quá trình thực hiện, việc truy xuất dữ liệu thất bại hoặc thao tác xóa không thành công thì trạng thái của hệ thống trở lại ban đầu
2.5.2.4 Yêu cầu đặc biệt:
Không có
2.5.2.5 Điều kiện tiên quyết:
Người quản trị website phải đăng nhập vào hệ thống để thực hiện use case này
2.5.2.6 Post-Condition:
Nếu use case này thành công trong việc xem danh sách các khách sạn thì một trang web hiển danh sách sẽ được mở Nếu việc xóa một khách sạn thành công thì cơ sở dữ liệu khách sạn sẽ được cập nhật Ngược lại tất cả các trường hợp trên thì trạng thái của hệ thống vẫn không đổi
18
Trang 32Use case này cho phép người quản trị website có thể xem danh sách các hãng hàng không, xem thông tin chi tiết về một hãng hàng không, thậm chí là xóa bỏ một hãng hàng không khỏi cơ sở dữ liệu của hệ thống
2.5.3.3 Dòng sự kiện:
Dòng sự kiện chính:
Use case này được bắt đầu sau khi người quản trị đã đăng nhập vào
hệ thống và chọn chức năng ‘Hiển thị danh sách hãng hàng không’ trên menu
1 Người quản trị đăng nhập vào hệ thống
2 Người quản trị chọn chức năng ‘Xem danh sách hãng hàng không’ (List Airplanes) trên menu
3 Hệ thống truy xuất cơ sở dữ liệu trên server và trả về danh sách các hãng hàng không
4 Hệ thống mở một trang web để hiển thị danh sách các hãng hàng không này
5 Người quản trị chọn một hãng hàng không trong danh sách
6 Người quản trị chọn chức năng: ‘Xem thông tin chi tiết” hoặc
“Xóa” một hãng hàng không khỏi cơ sở dữ liệu
19
Trang 33KHOA CNTT –
ĐH KHTN
7 Nếu chọn chức năng ‘Xem thông tin chi tiết’ thì hệ thống sẽ truy xuất cơ sở dữ liệu để lấy về các thông tin mô tả chi tiết về hãng hàng không đó và mở một trang web để hiển thị các thông tin này
8 Nếu chọn chức năng ‘Xóa’ một hãng hàng không thì hệ thống sẽ vào cơ sở dữ liệu vào xóa các thông tin liên quan đến hãng hàng không đó Sau đó cập nhật lại danh sách đang hiển thị
Dòng sự kiện khác:
Nếu trong quá trình thực hiện người quản trị hủy bỏ thao tác ‘Xóa’ hoặc việc truy xuất dữ liệu thất bại thì trạng thái của hệ thống không thay đổi
2.5.3.4 Yêu cầu đặc biệt:
Không có
2.5.3.5 Điều kiện tiên quyết:
Người quản trị phải đăng nhập vào hệ thống trước khi có thể thực hiện được use case này
2.5.3.6 Post-Condition:
Nếu use case này thành công trong việc ‘Xem danh sách hãng hàng không’ thì một trang web được mở để hiện hiển thị danh sách này Nếu việc xóa một hãng hàng không thành công thì cơ sở dữ liệu của
hệ thống sẽ được cập nhật Ngược lại với các trường hợp trên thì trạng thái của hệ thống không thay đổi
2.5.3.7 Điểm mở rộng:
Không có
20
Trang 34Use case này cho phép người quản trị website có thể vào xem danh sách của các khách viếng, xem thông tin chi tiết của một khách viếng nào đó và xóa một khách viếng khỏi cơ sở dữ liệu
2.5.4.3 Dòng sự kiện:
Dòng sự kiện chính:
Use case này bắt đầu sau khi người quản trị đã đăng nhập vào hệ thống và chọn chức năng ‘Xem danh sách khách viếng’ (List Visitors) trên menu
1 Người quản trị đăng nhập vào hệ thống
2 Người quản trị chọn chức năng ‘Xem danh sách Khách viếng’ (List Visitors) trên menu
3 Hệ thống truy xuất cơ sở dữ liệu trên server và trả về danh sách các khách viếng
4 Hệ thống mở một trang web để hiển thị danh sách khách viếng
5 Người quản trị chọn một khách viếng trong danh sách
6 Người quản trị chọn chức năng ‘Xem thông tin chi tiết’ hoặc
‘Xóa’ khách viếng khỏi cơ sở dữ liệu
7 Nếu chọn chức năng ‘Xem thông tin chi tiết’ thì hệ thống sẽ truy xuất cơ sở dữ liệu và mở một trang web để hiển thị thông tin chi tiết của khách viếng đó
21
Trang 35KHOA CNTT –
ĐH KHTN
8 Nếu chọn chức năng ‘Xóa’ thì hệ thống sẽ truy xuất dữ liệu và xóa các thông tin liên quan đến khách viếng đó, đồng thời cập nhật lại danh sách khách viếng
Dòng sự kiện khác:
Nếu trong quá trình thực hiện use case, người quản trị quyết định hủy bỏ thao tác ‘Xóa’ hoặc quá trình truy xuất dữ liệu thất bại thì trạng thái của hệ thống không thay đổi
2.5.4.4 Yêu cầu đặc biệt:
Không có
2.5.4.5 Điều kiện tiên quyết:
Người quản trị phải đăng nhập vào hệ thống trước khi có thể thực hiện được use case này
2.5.4.6 Post-Condition:
Nếu use case này thành công trong việc xem danh sách hoặc các thông tin liên quan đến khách viếng thì hệ thống sẽ mở một trang web để thể hiện các thông tin đó Nếu xóa thành công một khách viếng thì cơ sở dữ liệu của hệ thống sẽ được cập nhật Ngược lại các trường hợp trên thì trạng thái của hệ thống không đổi
Trang 362.5.5.3 Dòng sự kiện:
Dòng sự kiện chính:
Use case này bắt đầu khi người quản trị có nhu cầu xem các thông tin của những người dùng khác (cùng vai trò quản trị) và chọn chức năng quản lý người dùng (Manage Users) trên menu
1 Người dùng đăng nhập vào hệ thống với vai trò quản trị
2 Nếu đăng nhập thành công hệ thống vào trang Admin
3 Người quản trị chọn chức năng quản lý người dùng
4 Hệ thống truy xuất cơ sở dữ liệu và mở một trang web để hiển thị danh sách các người dùng
5 Người quản trị chọn một người dùng trong danh sách
6 Người quản trị chọn chức năng thực hiện: hoặc là xem thông tin chi tiết hoặc xóa người dùng
7 Nếu chọn chức năng xem thông tin chi tiết thì hệ thống sẽ truy xuất cơ sở dữ liệu và mở một trang web để hiển thị thông tin của người dùng đó
8 Nếu chọn chức năng ‘Xóa’ thì hệ thống sẽ truy xuất cơ sở dữ liệu và xóa các thông tin liên quan đến người dùng đó, đồng thời cập nhật lại danh sách người dùng đang hiển thị
Dòng sự kiện khác:
23
Trang 37KHOA CNTT –
ĐH KHTN
Nếu trong quá trình thực hiện use case, người quản trị quyết định hủy bỏ thao tác ‘Xóa’ hoặc quá trình truy xuất dữ liệu thất bại thì trạng thái của hệ thống không thay đổi
2.5.5.4 Yêu cầu đặc biệt:
Không có
2.5.5.5 Điều kiện tiên quyết:
Người quản trị phải đăng nhập vào hệ thống trước khi có thể thực hiện các chức năng của use case này
2.5.5.6 Post-Condition:
Nếu use case này thành công trong việc xóa một người dùng thì cơ
sở dữ liệu của hệ thống sẽ được cập nhật Ngược lại, tình trạng của
hệ thống không thay đổi
2.5.5.7 Điểm mở rộng:
Không có
2.5.6 Quản lý các thông tin của Khách sạn:
2.5.6.1 Tên Use Case:
Manage Hotel Info 2.5.6.2 Mô tả:
Use case này cho phép những người dùng là phía Khách sạn có thể quản lý các thông tin chung của mình như: xem thông tin chung, cập nhật các thông tin chung…
2.5.6.3 Dòng sự kiện:
Dòng sự kiện chính:
24
Trang 38KHOA CNTT –
ĐH KHTN
Use case này bắt đầu khi phía khách sạn có ý định xem các thông tin đăng ký của mình và/hoặc muốn cập nhật các thông tin đó Người dùng chọn chức năng quản lý thông tin trên menu
1 Người dùng đăng nhập vào hệ thống với vai trò khách sạn
2 Nếu đăng nhập thành công thì hệ thống sẽ mở trang web cho đối tượng khách sạn
3 Người dùng chọn chức năng quản lý thông tin trên menu
4 Hệ thống truy xuất dữ liệu khách sạn và mở mở một trang web
để hiển thị thông tin của khách sạn đó
5 Người dùng có thể chọn chức năng cập nhật một thông tin nào
đó trên trang web
6 Hệ thống hiển thị ô nhập liệu để người dùng có thể nhập thông tin cập nhật vào đó
7 Người dùng nhập thông tin cập nhật vào và chọn cập nhật
8 Hệ thống kiểm tra tính hợp lệ của thông tin nhập vào và thực hiện cập nhật vào cơ sở dữ liệu
9 Use case kết thúc
Dòng sự kiện khác:
Nếu trong quá trình cập nhật thông tin, người dùng quyết định hủy
bỏ quá trình cập nhật thì hệ thống sẽ trở lại trạng thái ban đầu và hiển thị lại trang thông tin khách sạn
2.5.6.4 Yêu cầu đặc biệt:
Không có
25
Trang 39KHOA CNTT –
ĐH KHTN
2.5.6.5 Điều kiện tiên quyết:
Người dùng phải đăng nhập vào hệ thống với vai trò Khách sạn để
có thể thực hiện được các chức năng trong use case này
2.5.6.6 Post-Condition:
Nếu use case này thành công trong việc cập nhật các thông tin chung thì cơ sở dữ liệu của hệ thống sẽ được cập nhật Ngược lại, trạng thái của hệ thống không thay đổi
2.5.6.7 Điểm mở rộng:
Không có
2.5.7 Quản lý các thông tin của Hãng hàng không:
2.5.7.1 Tên Use Case:
Manage Airplane Info 2.5.7.2 Mô tả:
Use case này cho phép các hãng hàng không có thể quản lý các thông tin của mình như: xem thông tin chung của mình, cập nhật các thông tin chung
2.5.7.3 Dòng sự kiện:
Dòng sự kiện chính:
Use case này bắt đầu khi phía hãng hàng không có ý định xem các thông tin đăng ký của mình và/hoặc muốn cập nhật các thông tin đó Người dùng chọn chức năng quản lý thông tin trên menu
1 Người dùng đăng nhập vào hệ thống với vai trò hãng hàng không
2 Nếu đăng nhập thành công thì hệ thống sẽ mở trang web cho đối tượng hãng hàng không
26
Trang 40KHOA CNTT –
ĐH KHTN
3 Người dùng chọn chức năng quản lý thông tin trên menu
4 Hệ thống truy xuất dữ liệu hãng hàng không và mở một web form để hiển thị thông tin của hãng hàng không đó
5 Người dùng có thể chọn chức năng cập nhật một thông tin nào
đó trên web form
6 Hệ thống hiển thị ô nhập liệu để người dùng có thể nhập thông tin cập nhật vào đó
7 Người dùng nhập thông tin cập nhật vào và chọn cập nhật
8 Hệ thống kiểm tra tính hợp lệ của thông tin nhập vào và thực hiện cập nhật vào cơ sở dữ liệu
9 Use case kết thúc
Dòng sự kiện khác:
Nếu trong quá trình cập nhật thông tin, người dùng quyết định hủy
bỏ quá trình cập nhật thì hệ thống sẽ trở lại trạng thái ban đầu và hiển thị lại trang thông tin hãng hàng không
2.5.7.4 Yêu cầu đặc biệt:
Không có
2.5.7.5 Điều kiện tiên quyết:
Người dùng phải đăng nhập vào hệ thống với vai trò Hãng hàng không để có thể thực hiện được các chức năng trong use case này 2.5.7.6 Post-Condition:
Nếu use case này thành công thì các thông tin cập nhật sẽ được lưu vào trong cơ sở dữ liệu của hệ thống Ngược lại trạng thái của hệ thống không thay đổi
27