Internet càng phổ biến mạnh mẽ có nghĩa là trữ lượng thông tin càng lớn và số lượng các website ngày càng nhiều hơn để đáp ứng nhu cầu của người sử dụng.. Chúng em hi vọng thông qua webs
Trang 1TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
- -
ĐẶNG QUANG MINH NGUYỄN PHAN QUỐC ĐẠI
XÂY DỰNG WEBSITE ĐĂNG KÝ TOUR DU LỊCH
QUA MẠNG
Chuyên ngành: Công Nghệ Thông Tin
Mã số: 01.01.11
Luận văn Cử Nhân Khoa Học Tin Học
Người hướng dẫn khoa học :
Thầy LÊ VĂN VINH
Trang 2L ời Cảm Ơn
Chúng tôi xin chân thành cảm ơn khoa C ông Nghệ Thông Tin, trường Đại
học TÔN ĐỨC THẮNG đã tạo điều kiện thuận lợi cho chúng tôi thực hiện luận văn này
Đồng thời, chúng tôi xin chân thành cảm ơn toàn thể quý Thầy Cô trong Khoa đã giảng dạy, trang bị cho chúng tôi những kiến thức cần thiết t rong thời gian học tập và nghiên cứu tại trường
Chúng tôi xin gửi những lời cảm ơn nồng ấm nhất đến cha mẹ, người thân, bạn bè đã hỗ trợ, động viên chúng tôi vượt qua những năm tháng khó khăn trong
suốt quá trình rèn luyện và phấn đấu tại trường
Và cuối cùng, chúng tôi xin gửi những lời cảm ơn chân thành nhất
đến giáo viên Lê Văn Vinh Thầy đã tận tình hướng dẫn, giúp đỡ chúng tôi
trong suốt quá trình làm luận văn
Trang 3M ỤC LỤC
Lời cảm ơn 1
Mục lục 2
Danh mục hình 7
PHẦN 1 : GIỚI THIỆU 9
I Mục đích nghiên cứu 9
II Đối tượng nghiên cứu 10
III Phạm vi nghiên cứu 11
PH ẦN 2 : NỘI DUNG 12
Chương 1 Tổng quan nghiệp vụ 12
1.1 Giới thiệu đăng ký tour du lịch qua mạng 12
1.2 Thể hiện thông tin tour 12
1.3 Các bước đăng ký tour 13
1.4 Hình thức thanh toán 13
Chương 2 Giới thiệu website đăng ký tour du lịch qua mạng 14
2.1 Mô tả website 14
2.1.1 Đối với người truy cập 14
2.1.2 Đối với ban quản trị website 15
2.2 Các yêu cầu chức năng 16
2.3 Các yêu cầu phi chức năng 16
Chương 3 Giới thiệu công nghệ 17
3.1 Giới thiệu ngôn ngữ PHP và MySQL 17
3.1.1 Khái niệm PHP 17
3.1.2 Tại sao phải sử dụng PHP 17
3.1.3 Những điểm mạnh của PHP 19
3.1.4 PHP và MySQL 20
3.2 Giới thiệu CMS và ngôn ngữ Drupal 20
3.2.1 Khái niệm CMS 20
Trang 43.2.3 Khái niệm Drupal 21
3.2.4 Đặc điểm của Drupal 22
3.2.5 Các chức năng cơ bản của Drupal 23
3.2.6 Các ứng dụng xây dựng trên Drupal 23
3.3 Các công cụ hỗ trợ khác 25
3.3.1 Chương trình Nusphere 25
3.3.2 Chương trình SQLYog 27
3.3.3 Chương trình DBDesigner 28
Chương 4 Phân tích dữ liệu website 29
4.1 Mô hình ERD 29
4.2 Mô tả các thực thể 30
4.2.1 Tour 30
4.2.2 Chuyến 31
4.2.3 Khu vực 31
4.2.4 Địa điểm tham quan 32
4.2.5 Khách sạn 33
4.2.6 Phương tiện 34
4.2.7 Phiếu đăng ký 34
4.2.8 Loại tuổi 35
4.2.9 Loại khách 36
4.2.10 Khách đi tour 36
4.2.11 Khách đăng ký 37
4.3 Mô tả các mối liên kết 38
4.3.1 Các mối quan hệ N-N không chứa thuộc tính 38
4.3.2 Các mối quan hệ N-N có chứa thuộc tính 38
4.3.3 Các mối quan hệ 1-N 39
4.4 Các bảng dữ liệu 40
4.4.1 Tour 40
4.4.2 Chuyến 41
4.4.3 Lộ trình 41
4.4.4 Khu vực 42
Trang 54.4.5 Địa điểm tham quan 42
4.4.6 Khách sạn 43
4.4.7 Phương tiện 43
4.4.8 Chi tiết tham quan 44
4.4.9 Phiếu đăng ký 45
4.4.10 Khách đăng ký 46
4.4.11 Khách đi tour 46
4.4.12 Loại khách 47
4.4.13 Loại Tuổi 47
4.4.14 Đơn giá 47
Chương 5 Phân tích hệ thống 48
5.1 Các bussiness use-case của hệ thống 48
5.1.1 Lược đồ use-case của khách 51
5.1.2 Lược đồ use-case của quản trị viên 52
5.2 Sơ đồ lớp 53
5.2.1 Các khái niệm 53
5.2.2 Lược đồ tổng quát 62
5.2.2.1 Lược đồ lớp biên 62
5.2.2.2 Lược đồ lớp thực thể 63
5.2.2.3 Lược đồ tương tác tổng quát 64
5.2.3 Tìm kiếm thông tin tour 65
5.2.3.1 Lược đồ tương tác 65
5.2.3.2 Lược đồ tuần tự 66
5.2.3.3 Lược đồ hoạt động 67
5.2.4 Đăng ký tour 67
5.2.4.1 Lược đồ tương tác 67
5.2.4.2 Lược đồ tuần tự 68
5.2.4.3 Lược đồ hoạt động 70
5.2.5 Xóa thông tin khách đăng ký 70
5.2.5.1 Lược đồ tương tác 70
5.2.5.2 Lược đồ tuần tự 71
Trang 65.2.5.3 Lược đồ hoạt động 72
5.2.6 Sửa thông tin khách đăng ký 72
5.2.6.1 Lược đồ tương tác 72
5.2.6.2 Lược đồ tuần tự 73
5.2.6.3 Lược đồ hoạt động 74
5.2.7 Xóa thông tin phiếu đăng ký 74
5.2.7.1 Lược đồ tương tác 74
5.2.7.2 Lược đồ tuần tự 75
5.2.7.3 Lược đồ hoạt động 76
5.2.8 Sửa thông tin phiếu đăng ký 76
5.2.8.1 Lược đồ tương tác 76
5.2.8.2 Lược đồ tuần tự 77
5.2.8.3 Lược đồ hoạt động 78
5.2.9 Thêm thông tin tour 78
5.2.9.1 Lược đồ tương tác 78
5.2.9.2 Lược đồ tuần tự 79
5.2.9.3 Lược đồ hoạt động 80
5.2.10 Xóa thông tin tour 80
5.2.10.1 Lược đồ tương tác 80
5.2.10.2 Lược đồ tuần tự 81
5.2.10.3 Lược đồ hoạt động 82
5.2.11 Sửa thông tin tour 82
5.2.11.1 Lược đồ tương tác 82
5.2.11.2 Lược đồ tuần tự 83
5.2.11.3 Lược đồ hoạt động 84
5.2.12 Thống kê lượng tour 84
5.2.12.1 Lược đồ tương tác 84
5.2.12.2 Lược đồ tuần tự 85
5.2.12.3 Lược đồ hoạt động 86
Chương 6 Tổ chức hệ thống website 87
6.1 Hệ thống tổ chức tổng quát của Drupal 87
Trang 76.2 Hệ thống tổ chức website đăng ký tour du lịch qua mạng 90
6.3 Mô tả hoạt động hệ thống 92
Chương 7 Bố cục giao diện website 93
7.1 Giao diện trang chủ 93
7.2 Giao diện các trang thành phần 94
7.2.1 Chi tiết thông tin tour 94
7.2.2 Thông tin địa điểm 95
Chương 8 Kết quả và bàn luận 96
PHẦN 3 : ĐÁNH GIÁ VÀ KẾT LUẬN
I Những ưu điểm đạt được 97
II Các mặt hạn chế 98
III Hướng phát triển 98
Tài liệu tham khảo 99
Trang 8DANH M ỤC HÌNH
Hình 3.1 : Mô hình ho ạt động của website trên ngôn ngữ HTML 18
Hình 3.2 : Mô hình ho ạt động của website trên ngôn ngữ PHP 19
Hình 3.3 : Chương trình Nusphere 26
Hình 3.4 : Chương trình SQLYog 27
Hình 3.5 : Chương trình DBDesigner 28
Hình 4.1 : Sơ đồ mô hình ERD 29
Hình 5.1 : Lược đồ Use-Case của khách 51
Hình 5.2 : Lược đồ Use-Case của quản trị viên 52
Hình 5.3 : Lược đồ lớp biên 62
Hình 5.4 : Lược đồ lớp thực thể 63
Hình 5.5.1 : Lược đồ tương tác tổng quát 1 64
Hình 5.5.2 : Lược đồ tương tác tổng quát 2 64
Hình 5.5.3 : Lược đồ tương tác tổng quát 3 65
Hình 5.6.1 : Lược đồ tương tác – tìm kiếm thông tin tour 65
Hình 5.6.2 : Lược đồ tuần tự – tìm kiếm thông tin tour 66
Hình 5.6.3 : Lược đồ hoạt động – tìm kiếm thông tin tour 67
Hình 5.7.1 : Lược đồ tương tác – đăng ký tour 67
Hình 5.7.2 : Lược đồ tuần tự – đăng ký tour 69
Hình 5.7.3 : Lược đồ hoạt động – đăng ký tour 70
Hình 5.8.1 : Lược đồ tương tác – xóa thông tin khách đăng ký 70
Hình 5.8.2 : Lược đồ tuần tự – xóa thông tin khách đăng ký 71
Hình 5.8.3 : Lược đồ hoạt động – xóa thông tin khách đăng ký 72
Hình 5.9.1 : Lược đồ tương tác – sửa thông tin khách đăng ký 72
Hình 5.9.2 : Lược đồ tuần tự – sửa thông tin khách đăng ký 73
Hình 5.9.3 : Lược đồ hoạt động – sửa thông tin khách đăng ký 74
Hình 5.10.1 : Lược đồ tương tác – xóa thông tin phiếu đăng ký 74
Hình 5.10.2 : Lược đồ tuần tự – xóa thông tin phiếu đăng ký 75
Trang 9Hình 5.10.3 : Lược đồ hoạt động – xóa thông tin phiếu đăng ký 76
Hình 5.11.1 : Lược đồ tương tác – sửa thông tin phiếu đăng ký 76
Hình 5.11.2 : Lược đồ tuần tự – sửa thông tin phiếu đăng ký 77
Hình 5.11.3 : Lược đồ hoạt động – sửa thông tin phiếu đăng ký 78
Hình 5.12.1 : Lược đồ tương tác – thêm thông tin tour 78
Hình 5.12.2 : Lược đồ tuần tự – thêm thông tin tour 79
Hình 5.12.3 : Lược đồ hoạt động – thêm thông tin tour 80
Hình 5.13.1 : L ược đồ tương tác – xóa thông tin tour 80
Hình 5.13.2 : Lược đồ tuần tự – xóa thông tin tour 81
Hình 5.13.3 : Lược đồ hoạt động – xóa thông tin tour 82
Hình 5.14.1 : Lược đồ tương tác – sửa thông tin tour 82
Hình 5.14.2 : Lược đồ tuần tự – sửa thông tin tour 83
Hình 5.14.3 : Lược đồ hoạt động – sửa thông tin tour 84
Hình 5.15.1 : Lược đồ tương tác – thống kê lượng tour 84
Hình 5.15.2 : Lược đồ tuần tự – thống kê lượng tour 85
Hình 5.15.3 : Lược đồ hoạt động – thống kê lượng tour 83
Hình 6.1 : Lược dồ hệ thống tổ chức tổng quát của Drupal 87
Hình 6.2 : Lược đồ tổ chức hệ thống website đăng ký tour du lịch qua mạng 90
Hình 7.1 : Giao diện trang chủ 93
Hình 7.2 : Giao di ện chi tiết thông tin tour 94
Hình 7.3 : Giao diện đăng ký tour 95
Trang 10PH ẦN 1
I M ỤC ĐÍCH NGHIÊN CỨU
Sự phát triển của thế giới đã đưa lĩnh vực công nghệ thông tin lên một bước
tiến mới Mạng Internet ra đời giúp con người trở nên năng động hơn trong mọi lĩnh vực như tra cứu, đặt hàng và thậm chí là bầu cử, chúng ta có thể nói chuyện và trao đổi thông tin với nhau cho dù cách xa nửa vòng Trái Đất, và chúng ta có thể thấy được các sản phẩm và thông tin liên quan đến các sản phẩm đó thông qua các website Internet càng phổ biến mạnh mẽ có nghĩa là trữ lượng thông tin càng lớn
và số lượng các website ngày càng nhiều hơn để đáp ứng nhu cầu của người sử dụng Và tất nhiên, các cuộc giao dịch ngoài xã hội cũng được thực hiện trên Internet thay vì chúng ta phải làm nhiều b ước đăng ký, gọi điện thoại, … Việc đơn
giản hóa quá trình đăng ký thông qua internet thật là tiện lợi và nó trở nên hữu ích đối với nhiều ngành nghề, đặc biệt là lĩnh vực du lịch
Với bờ biển kéo dài, nhiều di tích lịch sử, danh lam thắng cảnh Du lịch và dịch vụ là một trong những ngành kinh doanh hàng đầu của nước ta hiện nay, sau khi gia nhập WTO ngành kinh doanh này càng có nhiều sức hút và tiềm năng phát triển to lớn Do đó, việc đăng ký và lưu trữ thông tin khách hàng trở thành mối quan tâm của ngành du lịch Thật là khó cho người đăng ký du lịch và người làm thủ tục đăng ký khi trao đổi thông tin cụ thể thông qua điện thoại, chỉ cần một chút nhầm
lẫn cũng gây nên nhiều vấn đề cho cả hai phía Thật tiện lợi nếu như có một cái gì
đó để lưu trữ thông tin người đăng ký và gửi đến cho người làm thủ tục và người đăng ký chỉ việc gọi điện báo cho người làm thủ tục là “tôi đã gửi” hoặc chờ người làm thủ tục nhận được thông tin và hồi âm lại
Trang 11Và đúng như vậy, sự phổ biến của mạng Internet đã làm được điều đó thông qua website Và đây cũng chính là đề tài mà chúng em chọn
Chúng em hi vọng thông qua website “Đăng ký tour du lịch qua mạng” người đăng ký có thể đơn giản hóa việc đăng ký và thanh toán, và người làm thủ tục
dễ dàng hơn trong việc quản lý các khách hàng là đối tượng VIP hay vãng lai Hơn thế nữa người đăng ký có thể tra cứu được thông tin các địa điểm du lịch, đơn giá
của tour và đăng ký theo ý thích của mình Người quản lý có thể thiết kế chuyến,
kiểm soát các tour, …
Mục đích cuối cùng chúng em mong muốn đạt đ ược là có được nhiều kiến
thức chuyên môn hơn thông qua đề tài này và sản phẩm hoàn thành sẽ được phổ biến và làm hài lòng người sử dụng
II ĐỐI TƯỢNG NGHIÊN CỨU
Đối tượng nghiên cứu của đề tài là thông tin về du lịch của các công ty và dữ liệu du lịch được lưu trữ hoặc trình bày trên Internet Các thuộc tính cơ bản của đối tượng cần nghiên cứu bao gồm :
o Thông tin khu vực du lịch
o Thông tin địa điểm tham quan
o Các loại phương tiện di chuyển thường sử dụng trong du lịch
Trang 12III PH ẠM VI NGHIÊN CỨU
Do thời gian hạn định của luận văn và những trở ngại trong việc khảo sát
thực tế nên chúng em không thể làm đầy đủ , chi tiết toàn bộ các nội dun g của đối tượng nghiên cứu
Vì vậy chúng em sẽ làm trên phạm vi trong nước và sẽ nâng cấp lên phạm vi quốc tế nếu còn đủ thời gian, chúng em cố gắng hoàn thành được toàn bộ những
phần cơ bản của đề tài và bổ sung các phần nâng cao về kỹ thuật và công nghệ càng nhiều càng tốt
Trang 131.1 GI ỚI THIỆU ĐĂNG KÝ TOUR DU LỊCH QUA MẠNG
Đăng ký tour du lịch thông thường phải qua các bước :
o Thông tin địa điểm du lịch
o Thông tin chi tiết hành trình tour
o Thông tin giá tour
1.2 TH Ể HIỆN THÔNG TIN TOUR
Thông tin tour bao gồm :
Trang 14o Những chương trình kèm theo từng trạm dừng của tour
o Thông tin khách sạn cho các chuyến cũng như giá phụ thu khi s ử dụng phòng đơn của khách sạn
o Đơn giá cho từng loại hình bổ sung và cho từng đối tượng(trẻ em, trẻ nhỏ, người lớn, Việt Nam, Việt kiều, nước ngoài, … )
1.3 CÁC BƯỚC ĐĂNG KÝ TOUR
Khách hàng đăng ký qua các bước :
o Chọn tour cần đăng ký
o Xác nhận pháp lý và những điều khoản của công ty đặt ra
o Nhập thông tin người đăng ký
o Nhập thông tin người đi tour
Trang 15với người quản trị là chức năng quản lý thông tin tour, thông tin khách hàng, …
2.1.1 ĐỐI VỚI KHÁCH TRUY CẬP
o Khách truy cập có thể tra cứu thông tin tour, thông tin khách sạn và địa điểm tham quan
o Khách truy cập có thể tìm tour đơn giản bằng tên tour hoặc tìm kiếm thông tin tour nâng cao với nhiều dạng tiêu chí tìm kiếm
o Khách truy cập sau khi đăng ký / đăng nhập sẽ trở thành khách thành viên Khách thành viên sẽ có đ ược nhiều sự hỗ trợ từ phía ban điều hành website cũng như được sử dụng nhiều tiện ích khác
o Người dùng sẽ được cập nhật thường xuyên các tour mới nhất, các tour khuyến mãi,…
o Được hỗ trợ trực tuyến bởi đội ngũ nhân viên tư vấn, thông qua các
dịch vụ nhắn tin tức thời hoặc qua đường dây nóng của công ty
o Người truy cập có khả năng góp ý bổ sung ý kiến cho website, góp
phần giúp cho website có nhiều thông tin bổ ích, và phong phú hơn
về tính năng và chất lượng thông tin
Trang 162.1.2 ĐỐI VỚI BAN QUẢN TRỊ WEBSITE
Ban quản trị website bao gồm các nhân viên quản trị nội dung, nhân viên
quản trị tài chính và nhân viên quản trị hệ thống (System administrator) Mỗi chức vụ có quyền hạn và nghĩa vụ riêng
Nhân viên quản trị nội dung :
Có khả năng quản lý, thiết kế tour
Quản lý được thông tin khách sạn, địa điểm tham quan,
Có khả năng tìm kiếm thông tin tour
Chịu trách nhiệm toàn bộ về mặt nội dung của trang Web
Nhân viên có nghĩa vụ hợp tác và hỗ trợ cho người quản trị tài chính
và người quản trị hệ thống
Nhân viên quản trị tài chính :
Có khả năng quản lý thông tin các phiếu đăng ký như xóa hoặc thay đổi trạng thái của phiếu đăng ký
Quản lý được thông tin khách đăng ký cũng như khách đi tour
Có thể truy cập các trang thống kê, báo cáo để khảo sát tình hình tài chính của trang Web
Chịu trách nhiệm về mặt tài chính của trang Web
Có nghĩa vụ hợp tác và hỗ trợ cho người quản trị nội dung và quản trị
hệ thống
Nhân viên quản trị hệ thống :
Là người có toàn quyền trên hệ thống
Có khả năng quản lý các nhân viên quản trị
Có thể thay đổi mức quyền của các nhân viên
Tiếp thu và quản lý các góp ý từ phía khách truy cập
Trang 172.2 CÁC YÊU C ẦU CHỨC NĂNG
o Đăng nhập hệ thống
o Tra cứu thông tin tour, các địa điểm tham quan, khách sạn,
o Tìm kiếm thông tin tour theo nhiều tiêu chí
o Người dùng có thể đăng ký tour bất kể đã đăng ký thành viên hay chưa
o Các hình thức thanh toán phải đa dạng, nhanh chóng và hiệu quả
o Cung cấp các mức giá k hác nhau tùy theo loại khách (Vi ệt kiều, nước ngoài, ) và loại tuổi (trẻ em, người lớn, )
o Khách đã đăng ký thành viên có các chức năng hỗ trợ khác như lưu thông tin đăng ký đang dang dở để tiếp tục lần sau
o Hỗ trợ trực tuyến cho khách
o Người dùng có thể gửi các góp ý đến ban quản trị
o Thêm, xóa, sửa các thông tin tour cũng như các chương trình của tour
o Tạo các thống kê, báo cáo với nhiều tiêu chí theo tháng, năm, các năm
o Ban quản trị có thể thay đổi quyền cho các cấp thành viên
2.3 CÁC YÊU C ẦU PHI CHỨC NĂNG
o Bảo đảm an toàn dữ liệu
o Dung lượng không quá lớn, tốc độ xử lý cao
o Phải đáp ứng đúng nhu cầu của người dùng (không thể có sai sót)
o Hệ thống vẫn phải ổn định ngay cả khi nhận được cùng lúc nhiều yêu cầu
o Hệ thống phải có độ tương thích cao, có thể chạy trên nền Windows lẫn Linux / Unix, có thể sử dụng trên các hệ quản trị cơ sở dữ liệu khác nhau
o Hệ thống phải cảnh báo trước các yêu cầu thay đổi và chỉ thực hiện khi người dùng xác nhận
o Mã hóa các thông tin nhạy cảm cũng như đảm bảo được các trách nhiệm
của các cấp người dùng
Trang 18CHƯƠNG 3
GI ỚI THIỆU CÔNG NGHỆ
3.1 GI ỚI THIỆU NGÔN NGỮ PHP VÀ MYSQL
3.1.1 KHÁI NI ỆM PHP
Cái tên PHP ban đầu được viết tắt bởi cụm từ “Personal Home Page”, và được phát triển từ năm 1994 bởi Rasmus Lerdorf Lúc đầu chỉ là một bộ đặc tả Perl, được sử dụng để lưu dấu vết người dùng trên các trang web Sau đó, Rasmus Lerdorf đã phát triển PHP như là một máy đặc tả (Scripting engine) Vào giữa năm 1997, PHP đã được phát triển nhanh chóng trong sự yêu thích
của nhiều người PHP đã không còn là một dự án cá nhân của Rasmus Lerdorf
và đã trở thành một công nghệ web quan trọng Zeev Suras ki và Andi Gutmans đã hoàn thiện việc phân tích cú pháp cho ngôn ngữ để rồi tháng 6 năm 1998, PHP3 đã ra đời (phiên bản này có phần mở rộng là *.php3) Cho đến tận thời điểm đó, PHP chưa một lần được phát triển chính thức, một yêu
cầu viết lại bộ đặc tả được đưa ra, ngay sau đó PHP4 ra đời (phiên bản này có
phần mở rộng không phải là *.php4 mà là *.php) PHP4 nhanh hơn so với PHP3 rất nhiều PHP bây giờ được gọi là PHP Hypertext Preprocessor
3.1.2 T ẠI SAO PHẢI SỬ DỤNG PHP
Như chúng ta đã biết, có rất nhiều tra ng web được xây dựng bởi ngôn
ngữ HTML (HyperText Markup Language) Đây chỉ là những trang web tĩnh, nghĩa là chúng chỉ chứa đựng một nội dung cụ thể với những dòng văn bản đơn thuần, hình ảnh, và có thể được sự hỗ trợ bởi ngôn ngữ JavaScript, hoặc Java Apple Những trang web như vậy người ta thường gọi là client-side Tuy nhiên, Internet và Intranet đã được sử dụng cho các ứng dụng cần tới cơ sở dữ liệu Các trang ứng dụng như vậy được gọi là trang web động, bởi vì nội dung
của chúng luôn thay đổi tùy thuộc vào dữ liệu và người sử dụng PHP là ngôn
Trang 19ngữ làm được những điều như vậy Bằng cách chạy chương trình PHP trên máy chủ Web server, bạn có thể tạo ra các ứng dụng có sự tương tác với cơ sở
dữ liệu để tạo ra những trang web và đây được gọi là trang web động
Chúng ta hãy xem xét cách hoạt động của trang web được viết bằng ngôn
ngữ HTML và PHP như thế nào.Với các trang HTML :
Khi có yêu cầu tới một trang web từ phía người sử dụng (browser) Web server thực hiệu ba bước sau :
1 Đọc yêu cầu từ phía browser,
2 Tìm trang web trên server
3 Gửi trang web đó trở lại cho browser (nếu tìm thấy) qua mạng Internet hoặc Intranet
Hình 3.1 : Mô hình hoạt động của website trên ngôn ngữ HTML
Với các trang PHP :
Khác với các trang HTML, khi một trang PHP được yêu cầu, Web server phân tích và thi hành các đoạn mã PHP để tạo ra trang HTML Điều đó được thể hiện bằng bốn bước sau :
Trang 201 Đọc yêu cầu từ phía browser
2 Tìm trang web trên server
3 Thực hiện các đoạn mã PHP trên trang web đó để sửa đổi nội dung của trang
4 Gửi trở lại nội dung cho browser (đây là trang HTML có thể hiển thị được bởi trình duyệt Internet Explorer hoặc trình duyệt nào đó)
Hình 3.2 : Mô hình ho ạt động của website trên ngôn ngữ PHP
Tóm lại, sự khác nhau giữa HTML và PHP là HTML không được thực hiện trên máy chủ Web server còn các trang *.php viết bằng các đoạn mã PHP được thực hiện trên máy chủ Web server do đó nó linh động và mềm dẻo hơn
3.1.3 NH ỮNG ĐIỂM MẠNH CỦA PHP
PHP thực hiện với tốc độ rất nhanh và hiệu quả Một server bình thường
có thể đáp ứng được hàng triệu lượt truy cập tới trong một ngày PHP hỗ trợ
kết nối tới rất nhiều hệ CSDL khác nhau: PostgreSQL,mSQL,Oracle, dbm, filePro, Hyperware, informix,InterBase, Sybase, Ngoài ra còn hỗ trợ kết nối với ODBC thông qua đó có thể kết nối với nhiều ngôn ngữ khác mà ODBC hỗ
trợ PHP cung cấp một hệ thống thư viện phong phú : Do PHP ngay từ đầu
Trang 21được thiết kế nhằm mục đích xây dựng và phát triển các ứng dụng trên web nên PHP cung cấp rất nhiều hàm xây dựng sẵn giúp thực hiện các công việc
rất dễ dàng : gửi, nhận mail, làm việc với các cookie, và nhiều thứ khác nữa
PHP là một ngôn ngữ rất dễ dùng, dễ học và đơn giản hơn nhiều so với các ngôn ngữ khác như Perl, Java Nếu bạn đã biết ngôn ngữ C thì mọi việc sẽ hoàn toàn thuận lợi
PHP có thể sử dụng đư ợc trên nhiều hệ điều hành, chúng ta có thể viết chúng trên Unix, Lunix và các phiên bản của Windows Và có thể đem mã PHP này chạy trên các hệ điều hành khác mà không phải sửa đổi lại mã
PHP là ngôn ngữ mã nguồn mở
3.1.4 PHP VÀ MYSQL
MySQL là h ệ quản trị cơ sở dữ liệu mã nguồn mở được phổ biến PHP
và MySQL là bộ đôi đi kèm với nhau Tại sao chúng ta không sử dụng những
hệ quản trị cơ sở dữ liệu khác đi kèm với PHP mà lại cho MySQL Câu trả lời
là MySQL hoàn toàn miễn phí
3.2 GI ỚI THIỆU CMS VÀ NGÔN NGỮ DRUPAL
3.2.1 KHÁI NI ỆM CMS
CMS viết tắt của (Content Management System ) nghĩa là hệ thống quản
trị nội dung Là phần mềm để tổ chức và tạo môi trường cộng tác thuận lợi
nhằm mục đích xây dựng một hệ thống tài liệu và các nội dung khác nhau một cách thống nhất CMS đã được áp dụng vào các chương trình quản lý nội dung website
Trang 223.2.2 CÁC YÊU CẦU ĐỐI VỚI MỘT CMS
Phải đảm bảo hệ thống module chuyên biệt và cho phép nhà phát triển có
thể viết thêm các module mà họ muốn và tích hợp vào hệ thống CMS đó theo chuẩn qui định bởi những người tạo ra CMS nó Ví dụ cụ thể như Rainbow CMS cho phép người dùng tạo module tích hợp vào hệ thống của họ bằng các custom control dạng.ascx, hay như Joomla thì lại hỗ trợ PHP và MySQL
Phải có kênh quản trị trực quan và dễ dùng, đảm bảo những người có
thẩm quyền (admin) có thể thêm, bớt, chỉnh sửa và tùy biến các module theo ý
của họ Và không thể thiếu chế độ soạn thảo trực quan (WYSIWYG - What
you see is what you get)
Giao diện có thể tùy biến tối đa có thể Nói vậy là bởi vì điều này có thể xem như một giới hạn của CMS Bởi vì bạn sẽ cảm thấy thật khó chịu nếu như không thể "tung hoành" sáng tạo giao diện trang web của mình khi bị bó buộc vào cấu trúc cứng nhắc đã định sẵn của CMS Điều này dẫn đến lí do tại sao
có những site có cấu trúc khá giống nhau vì xây dựng trên cùng một CMS, khác chăng chỉ là màu sắc Và cũng từ đó người ta mới hiểu ra rằng chỉ áp dụng CMS vào những site có nội dung chuyên biệt và không quan trọng giao
diện như những site khác Tuy nhiên do sự phát triển của CMS điều n ày đã được khắc phục
3.2.3 KHÁI NI ỆM DRUPAL
Đầu tiên, nó được Dries Buytaert, một lập trình viên mã nguồn mở, tạo
ra theo dạng một hệ thống bảng tin Đến năm 2001, Drupal trở thành một công trình nguồn mở Drupal, trong tiếng Anh, được chuyển ngữ từ từ liệu
"druppel" của tiếng Hà Lan, nghĩa là "giọt nước"
Trang 23Từ tháng năm năm 2006 đến tháng tư năm 2007, mã nguồn Drupal đã được tải về từ website Drupal.org hơn 600,000 lần Hiện nay, có một cộng đồng rộng lớn đang giúp đỡ và phát triển Drupal
Tháng hai năm 2008, Drupal 6.1, phiên bản mới nhất, đã được công bố
Drupal là một khung sườn phát triển phần mềm hướng mô -đun, một hệ
thống quản trị nội dung (CMS) miễn phí và mã nguồn mở (Open Source)
Cũng giống như các hệ thống quản trị nội dung hiện đại khác, Drupal cho phép người quản trị hệ thống tạo và tổ chức dữ liệu, tùy chỉnh cách trình bày,
tự động hóa các tác vụ điều hành và quản lý hệ thống Drupal có cấu trúc lập trình rất tinh vi, dựa trên đó, hầu hết các tác vụ phức tạp có thể được giải quyết với rất ít đoạn mã được viết, thậm chí không cần Đôi khi, Drupal cũng được
gọi là "khung sườn phát triển ứng dụng web", vì kiến trúc thông minh và uyển chuyển của nó
3.2.4 ĐẶC ĐIỂM CỦA DRUPAL
o Xử lý tốt các security issue phổ biến: XSS, SQL Injecttion, File, Access, …
o Database abstraction: Thao tác với cơ sở dữ liệu dễ dàng, viết SQL một lần, chạy trên MySQL, PostgreSQL
o Mô hình MVC :
Tích hợp form API, hỗ trợ và xử lý form nhanh chóng
Sử dụng PHPTemplate, tách biệt HTML và Logic Process
o Nền tảng hướng Module, xây dựng ứng dụng nhiều chức năng, nhanh chóng, bảo mật, tính kế thừa cao, giao diện uyển chuyển, …
o Tích hợp bộ thư viện javascript jQuery vào hệ thống giúp người pháp triển thao tác trên phía client dễ dàng hơn nhiều
o Tích hợp thư viện XMLRPC library hỗ trợ tạo Webservice
Trang 24o Xử lý sẵn các yêu cầu phổ biến: quản lý nội dung, quản lý người dùng, phân quyền, xử lý giao diện
3.2.5 CÁC CHỨC NĂNG CỦA DRUPAL
o Xây dựng nội dung theo “kiểu nội dung”
o Phân luồng nội dung theo “kho từ” và “từ liệu”
o Chức năng phản hồi cho mọi kiểu nội dung
o Các kiểu nội dung cơ bản :
Trang Tĩnh
Bài Báo
Tạp Ghi
Diễn Đàn
o Quản lý người dùng dựa trên vai trò
o Hệ thống phân quyền cơ bản dựa trên bộ ba : module, thao tác và vai trò Hệ thống này có thể mở rộng rất uyển chuyển
o Nhiều module cộng thêm đáp ứng được rất nhiều nhu cầu phổ biến:
sự kiện, lịch biểu, podcasting, newsletter, CRM, Organic, Groups, CCK, Views, thương mại điện tử
3.2.6 CÁC ỨNG DỤNG XÂY DỰNG TRÊN DRUPAL
Trang 263.3 CÁC CÔNG C Ụ HỖ TRỢ KHÁC
3.3.1 CHƯƠNG TRÌNH NUSPHERE
Nusphere PhpED là một IDE cực mạnh dành cho php với các tính năng
ưu việt sau :
Trình soạn thảo thông minh : hỗ trợ đầy đủ Unicode, tô màu cú pháp cho php lẫn javascript và html Có khả năng đề nghị hàm, phương thức, thuộc tính của đối tượng đang sử dụng Cho phép tạo các mẫu code để tái sử dụng chỉ
bằng thao tác kéo thả đơn giản
Khả năng gỡ lỗi và tối ưu : Chương trình tự động gạch dưới các lỗi cú pháp ngay lúc đang gõ Có thể tạo breakpoint để khảo sát giá trị biến, chạy thử nghiệm các hàm, hoặc thay đổi giá trị của biến trong lúc đang chạy, đặc biệt là tính năng hỗ trợ gỡ lỗi từ xa Ngoài ra, chương trình còn cung cấp khả năng tối
ưu mã, giúp nhà phát triển có thể xác định được thời gian đoạn mã thực thi
cũng như số lần được gọi của một hàm
Hỗ trợ triển khai hệ thống : Dễ dàng upload file thông qua giao thức FTP hoặc các giao thức có tính bảo mật khác như SFTP, FTPS (TLS/SSL) và WebDAV / HTTPS (SSL) Ngoài ra chương trình còn hỗ trợ cá c kết nối đầu
cuối như Telnet, SSH Chương trình dễ dàng tích hợp với các chương trình SVN, CVS,
Hệ thống trợ giúp tích hợp : Bộ Nusphere PhpED được đóng gói kèm theo các document của php, html, css, javascript, mysql, giúp các nhà phát triển dễ dàng tra cứu thông tin
Trang 27Hình 3.3 : Chương trình Nusphere
Trang 283.3.2 CHƯƠNG TRÌNH SQLYOG
SQLyog MySQL GUI là chương trình giúp quản lý hệ quản trị cơ sở dữ
liệu MySql bằng giao diện trực quan Hỗ trợ tạo các truy vấn bằng giao diện (kéo & thả qua các bảng), nhà phát triển cũng có thể tự viết các câu truy vấn qua sự hỗ trợ của tính năng autocomplete mã Hỗ trợ chuyển đổi, sao lưu dữ
liệu Chương trình còn có khả năng tạo kết nối đến máy chủ MySql qua SSH, HTTP, HTTPS Tunnel
Hình 3.4 : Chương trình SQLYog
Trang 293.3.3 CHƯƠNG TRÌNH DBDESIGNER
DBDesigner là chương trình hỗ trợ thiết kế cơ sở dữ liệu, tạo các mô hình bảng dữ liệu Hỗ trợ xuất bản mô hình ra dạng sql script để thực thi trên các hệ quản trị cơ sở dữ liệu khác nhau
Hình 3.5 : Chương trình DBDesigner
Trang 31Giải thích :
Tên Thuộc Tính Tên Tường Minh Ý Nghĩa
TenTour Tên tour Tên của tour du lịch
SoCho Số chỗ Số lượng khách tối đa
NgayBatDau Ngày bắt dầu Ngày khởi hành
GioiThieuTour Giới thiệu tour Giới thiệu nguồn gốc tour
MoTaTour Mô tả tour Các thông tin khác liên quan đến
tour
AnhTour Ảnh tour Ảnh minh họa : là đường dẫn để
upload hình tour lên website
Trang 33GIẢI THÍCH :
TenKV Tên khu vực Tên danh mục các khu vực
4.2.4 ĐỊA ĐIỂM THAM QUAN
ĐỊA ĐIỂMTHAM QUAN
MoTaDDMaKV
GI ẢI THÍCH :
Mã khu vực
TenDD Tên địa điểm Tên danh lam thắng cảnh tại
khu vực được xác định
MoTaDD Mô tả địa điểm Giới thiệu lịch sử của địa điểm
Ảnh minh họa : là đường dẫn
để upload hình địa điểm lên website
Trang 344.2.5 KHÁCH SẠN
KHÁCH SẠN
DienThoai
TenKSAnhKS
Sao
DiaChiMoTaKS
TenKS Tên khách sạn Tên gọi của khách sạn
DiaChi Địa chỉ Địa chỉ tại khách sạn tại khu
vực xác định
DienThoai Điện thoại Điện thoại bàn hoặc di động
MoTaKS Mô tả khách sạn Giới thiệu về bề dày lịch sử của
khách sạn
Ảnh minh họa : là đường dẫn
để upload hình khách sạn lên website
Trang 354.2.6 PHƯƠNG TIỆN
PHƯƠNG TIỆN TenPT
GI ẢI THÍCH :
TenPT Tên phương tiện Tên cụ thể của phương tiện
Ví dụ : Ô tô 8 chỗ
Ảnh minh họa : là đường dẫn
để upload hình khách sạn lên website
4.2.7 PHIẾU ĐĂNG KÝ
Phiếu Đăng Ký
NgayHetHanDK
MaKDK MeTa
NgayLapHD
NgayLapPDK DaThanhToan
MaTour
Trang 36NgayLapPDK Ngày lập phiếu đăng ký Xác định ngày lập phiếu
NgayHetHanDK Ngày hết hạn đăng ký Xác định ngày hết hạn phiếu
NgayLapHD Ngày lập hợp đồng Xác định ngày lập hợp đồng
(tức là đã thanh toán toàn bộ)
DaThanhToan Đã thanh toán Xác nhận đã thanh toán
TÊN THU ỘC TÍNH TÊN TƯỜNG MINH Ý NGH ĨA
TenLT Tên loại tuổi
Phân biệt các loại tuổi để xác định giá vé Ví dụ : trẻ em người lớn, người già
MotaLT Mô tả loại tuổi Khoảng tuổi qui định cho mỗi
loại tuổi
Trang 374.2.9 LOẠI KHÁCH
Loại Khách
GIẢI THÍCH :
TÊN THU ỘC TÍNH TÊN TƯỜNG MINH Ý NGH ĨA
TenLK Tên loại khách
Phân biệt các loại khách để xác định giá vé Ví dụ : Việt Nam,
Việt Kiều, Nước Ngoài
MotaLK Mô tả loại khách Cho biết cụ thể những qui định
áp dụng đối với từng loại khách
Trang 38TenKDT Tên khách đi tour Họ và tên khách
PhongDon Phòng đơn Cho biết khách có muốn đặt
phòng riêng hay không
4.2.11 KHÁCH ĐĂNG KÝ
Khách Đăng KýTenKDK
DiaChi
DienThoai
GI ẢI THÍCH :
TenKDK Tên Khách Đăng Ký Họ và tên khách đăng ký
DienThoai Điện Thoại Điện thoại liên lạc
Trang 394.3. MÔ T Ả CÁC MỐI LIÊN KẾT
4.3.1 CÁC MỐI QUAN HỆ N-N KHÔNG CHỨA THUỘC TÍNH
Hệ thống không tồn tại các mối quan hệ N-N không chứa thuộc tính
4.3.2 CÁC MỐI QUAN HỆ N-N CÓ CHỨA THUỘC TÍNH
Hệ thống có 3 bảng tạo từ mối quan hệ N-N có chứa thuộc tính :
điểm dừng chân của một chuyến
2 ( 8 ) Chi tiết tham quan :
Giải Thích :
Bảng chi tiết tham quan được tạo từ mối kết hợp của bảng chuyến (2) và địa điểm tham quan (5)
Trang 40( MÃ CHUYẾN ) (MÃ ĐỊA ĐIỂM)ĐỊA ĐIỂM
CHI TIẾT THAM QUAN
MÃ CHUYẾN
MÃ ĐỊA ĐIỂM
(N-1) (1-1)
(1-1)
(1 – N)
TOUR ( MÃ TOUR )