1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo đồ án xây dựng website cho công ty Du Lịch Việt

80 4,7K 29

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 80
Dung lượng 9,41 MB

Nội dung

Bản báo cáo đồ án tốt nghiệp với đề tài Xây dựng website cho công ty du lịch Việt bằng ngôn ngữ PHP. Giới thiệu các tour du lịch, đặt tour, tin tức tour du lịch, việc quản lý các tour và đặc biệt có tích hợp cổng ngân lượng vào quá trình thanh toán.

Trang 1

MỤC LỤC 1

DANH SÁCH CÁC HÌNH VẼ 4

DANH SÁCH CÁC BẢNG BIỂU 7

DANH SÁCH TỪ VIẾT TẮT 8

LỜI NÓI ĐẦU 9

LỜI CẢM ƠN 10

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 11

1.1 Tổng quan 11

1.2 Lý do chọn đề tài 11

1.3 Mục tiêu chọn đề tài 12

1.4 Giới hạn và phạm vi của đề tài 12

1.5 Nội dung thực hiện 12

1.6 Phương pháp tiếp cận 13

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 14

2.1 HTML 14

2.2 CSS 14

2.3 Javascript 15

2.4 PHP 15

2.4.1 Khái niệm PHP 15

2.4.2 Lịch sử phát triển của PHP 15

2.4.3 Môi trường hoạt động của PHP 17

2.5 Tổng quan về ngôn ngữ MySQL 18

2.5.1 Khái niệm MySQL 18

2.5.2 Lịch sử phát triển 19

2.5.3 Lý do sử dụng MySQL 20

2.6 Tổng quan về Twitter Bootstrap 21

2.6.1 Khái niệm Twitter Bootstrap 21

2.6.2 Lịch sử phát triển 22

2.6.3 Lợi ích của Bootstrap 22

2.6.4 Grid System trong Bootstrap 23

CHƯƠNG 3: NỘI DUNG THỰC HIỆN 25

3.1 Khảo sát và đặc tả yêu cầu 25

Trang 2

3.1.2 Các yêu cầu phi chức năng 28

3.2 Phân tích thiết kế hệ thống 28

3.2.1 Các chức năng của hệ thống 28

3.2.2 Các tác nhân của hệ thống 29

3.3 Biểu đồ Use Case 30

3.3.1 Use Case mức tổng quát 30

3.3.2 Use Case Đặt tour 30

3.3.3 Use Case Đăng nhập 31

3.3.4 Use Case Quản lý loại tour 33

3.3.5 Use Case Quản lý khách sạn 35

3.3.6 Use Case Quản lý hướng dẫn viên 37

3.3.7 Use Case Quản lý tour 39

3.3.8 Use Case Quản lý chi tiết khách sạn 41

3.3.9 Use Case Quản lý thành viên 43

3.3.10 Use Case Quản lý khuyến mại 45

3.3.11 Use Case Liên hệ 47

3.3.12 Use Case Quản lý liên hệ 48

3.3.13 Use Case Quản lý đặt tour 49

3.3.14 Use Case Quản lý tin tức 51

3.4 Biểu đồ tuần tự 53

3.4.1 Biểu đồ tuần tự cho Use Case Đăng nhập 53

3.4.2 Biểu đồ tuần tự Use Case Đặt tour 53

3.4.3 Biểu đồ tuần tự Use Case Liên hệ 53

3.4.4 Biểu đồ tuần tự Use Case Quản lý đặt tour 54

3.4.5 Biểu đồ tuần tự Use Case phản hồi liên hệ 55

3.4.6 Biểu đồ tuần tự Use Case quản lý hướng dẫn viên 56

3.4.7 Biểu đồ tuần tự Use Case quản lý loại tour 58

3.4.8 Biểu đồ tuần tự quản lý tour du lịch 60

3.4.9 Biểu đồ tuần tự Use Case quản lý khách sạn 62

3.4.10 Biểu đồ tuần tự Use Case quản lý khuyến mại 64

3.4.11 Biểu đồ tuần tự Use Case quản lý chi tiết khách sạn 66

3.4.12 Biểu đồ tuần tự Use Case quản lý tin tức 68

3.4.13 Biểu đồ tuần tự Use Case quản lý thành viên 70

3.5 Biểu đồ lớp 72

Trang 3

3.6 Thiết kế cơ sở dữ liệu 72

3.6.1 Danh sách các bảng 72

3.6.2 Danh sách các bảng cơ sở dữ liệu 73

3.6.3 Lược đồ Cơ sở dữ liệu 76

3.7 Thiết kế giao diện 77

3.7.1 Giao diện người dùng 77

3.7.2 Giao diện quản trị 82

CHƯƠNG 4: KẾT LUẬN 90

3.8 Kết quả đạt được của đề tài 90

3.9 Hạn chế của đề tài 90

3.10 Hướng phát triển của đề tài 90

TÀI LIỆU THAM KHẢO 91

[1] Giáo trình hướng dẫn thực hành PHP và MySQL toàn tập (Nguyễn Tấn Trường) 91

[2] Một số bài viết tại các website: 91

Trang 4

DANH SÁCH CÁC HÌNH VẼ

Hình 2.1 Mô hình hoạt động của PHP 18

Hình 2.2 Grid System của Bootstrap 23

Hình 3.1 Biểu đồ Use Case tổng quát 30

Hình 3.2 Biểu đồ Use Case Đặt tour du lịch 30

Hình 3.3 Biểu đồ Use Case Đăng nhập 31

Hình 3.4 Biểu đồ Use Case Quản lý loại tour 33

Hình 3.5 Biểu đồ Use Case Quản lý khách sạn 35

Hình 3.6 Biểu đồ Use Case Quản lý hướng dẫn viên 37

Hình 3.7 Biểu đồ Use Case Quản lý tour 39

Hình 3.8 Biểu đồ Use Case Quản lý chi tiết khách sạn 41

Hình 3.9 Biểu đồ Use Case Quản lý thành viên 43

Hình 3.10 Biểu đồ Use Case Quản lý khuyến mại 45

Hình 3.11 Biểu đồ Use Case Liên hệ 47

Hình 3.12 Biểu đồ Use Case Quản lý liên hệ 48

Hình 3.13 Biểu đồ Use Case Quản lý đặt tour 49

Hình 3.14 Biểu đồ Use Case Quản lý tin tức 51

Hình 3.15 Biểu đồ tuần tự cho Usce Case Đăng nhập 53

Hình 3.16 Biểu đồ tuần tự Use Case Đặt tour 53

Hình 3.17 Biểu đồ tuần tự Use Case Liên hệ 53

Hình 3.18 Biểu đồ tuần tự Use Case quản lý đặt tour 54

Hình 3.19 Biểu đồ tuần tự Use Case sửa đặt tour 54

Hình 3.20 Biểu đồ tuần tự Use Case xóa đặt tour 55

Hình 3.21 Biểu đồ tuần tự Use Case quản lý liên hệ 55

Hình 3.22 Biều đồ tuần tự Use Case quản lý hướng dẫn viên 56

Hình 3.23 Biểu đồ tuần tự Use Case thêm hướng dẫn viên 56

Hình 3.24 Biểu đồ tuần tự Use Case sửa hướng dẫn viên 57

Hình 3.25 Biểu đồ tuần tự Use Case xóa hướng dẫn viên 57

Hình 3.26 Biểu đồ tuần tự Use Case quản lý loại tour 58

Hình 3.27 Biểu đồ tuần tự Use Case thêm loại tour 58

Hình 3.28 Biểu đồ tuần tự Use Case sửa loại tour 59

Trang 5

Hình 3.29 Biểu đồ tuần tự Use Case xóa loại tour 59

Hình 3.30 Biểu đồ tuần tự quản lý tour du lịch 60

Hình 3.31 Biểu đồ tuần tự Use Case thêm tour du lịch 60

Hình 3.32 Biểu đồ tuần tự Use Case sửa tour du lịch 61

Hình 3.33 Biều đồ tuần tự Use Case xóa tour du lịch 61

Hình 3.34 Biểu đồ tuần tự Use Case quản lý khách sạn 62

Hình 3.35 Biểu đồ tuần tự Use Case thêm khách sạn 62

Hình 3.36 Biểu đồ tuần tự Use Case sửa khách sạn 63

Hình 3.37 Biểu đồ tuần tự Use Case xóa khách sạn 63

Hình 3.38 Biểu đồ tuần tự Use Case quản lý khuyến mại 64

Hình 3.39 Biểu đồ tuần tự Use Case thêm khuyến mại 64

Hình 3.40 Biểu đồ tuần tự Use Case sửa khuyến mại 65

Hình 3.41 Biểu đồ tuần tự Use Case xóa khuyến mại 65

Hình 3.42 Biểu đồ tuần tự Use Case quản lý chi tiết khách sạn 66

Hình 3.43 Biểu đồ tuần tự Use Case thêm chi tiết khách sạn 66

Hình 3.44 Biểu đồ tuần tự Use Case sửa chi tiết khách sạn 67

Hình 3.45 Biểu đồ tuần tự Use Case xóa chi tiết khách sạn 67

Hình 3.46 Biểu đồ tuần tự Use Case quản lý tin tức 68

Hình 3.47 Biểu đồ tuần tự Use Case thêm tin tức 68

Hình 3.48 Biểu đồ tuần tự Use Case sửa tin tức 69

Hình 3.49 Biểu đồ tuần tự Use Case xóa tin tức 69

Hình 3.50 Biểu đồ tuần tự Use Case quản lý thành viên 70

Hình 3.51 Biểu đồ tuần tự Use Case thêm thành viên 70

Hình 3.52 Biểu đồ tuần tự Use Case sửa thành viên 71

Hình 3.53 Biểu đồ tuần tự Use Case xóa thành viên 71

Hình 3.54 Biểu đồ lớp 72

Hình 3.55 Mô hình Cơ sở dữ liệu 76

Hình 3.56 Giao diện trang chủ 77

Hình 3.57 Giao diện trang danh sách tour 78

Hình 3.58 Giao diện trang tin tức 79

Hình 3.59 Giao diện trang giới thiệu 80

Trang 6

Hình 3.61 Giao diện trang tìm kiếm theo kết quả 81

Hình 3.62 Giao diện trang đăng nhập 82

Hình 3.63 Giao diện trang danh sách tour du lịch 82

Hình 3.64 Giao diện trang Thêm tour du lịch 83

Hình 3.65 Giao diện Sửa tour du lịch 84

Hình 3.66 Giao diện sửa nhiều tour du lịch 85

Hình 3.67 Giao diện trang Xem danh sách loại tour 86

Hình 3.68 Giao diện Trang thêm loại tour 86

Hình 3.69 Giao diện trang Sửa loại tour 86

Hình 3.70 Giao diện trang Xem danh sách khách sạn 86

Hình 3.71 Giao diện trang Thêm khách sạn 87

Hình 3.72 Giao diện trang Xem danh sách hướng dẫn viên 87

Hình 3.73 Giao diện trang Thêm hướng dẫn viên 87

Hình 3.74 Giao diện trang Xem danh sách tin tức 88

Hình 3.75 Giao diện trang Thêm tin tức 88

Hình 3.76 Giao diện trang Xem danh sách khuyến mại 88

Hình 3.77 Giao diện trang Thêm khuyến mại 89

Hình 3.78 Giao diện trang Sửa khuyến mại 89

Trang 7

DANH SÁCH CÁC BẢNG BIỂU

Bảng 2.1 Các lớp tùy chọn của Grid System trong Bootstrap 24

Bảng 3.1 Các yêu cầu chức năng của ứng dụng 28

Bảng 3.2 Danh sách các bảng cơ sở dữ liệu 72

Bảng 3.3 Bảng lưu thông tin hướng dẫn viên 73

Bảng 3.4 Bảng lưu thông tin khách sạn 73

Bảng 3.5 Bảng lưu thông tin loại tour 73

Bảng 3.6 Bảng lưu thông tin các tour du lịch 74

Bảng 3.7 Bảng lưu thông tin chi tiết về khách sạn và tour 74

Bảng 3.8 Bảng lưu thông tin đăng ký tour du lịch 74

Bảng 3.9 Bảng lưu thông tin thành viên 74

Bảng 3.10 Bảng lưu liên hệ từ khách hàng 75

Bảng 3.11 Bảng lưu tin tức của website 75

Bảng 3.12 Bảng lưu thông tin các khuyến mại du lịch 75

Trang 8

DANH SÁCH TỪ VIẾT TẮT

HTML Hyper Text Markup Language Ngôn ngữ Đánh dấu Siêu văn

bảnXML Extensible Markup Language Ngôn ngữ Đánh dấu Mở rộngPHP Hypertext Preprocessor Ngôn ngữ lập trình PHP

CSS Cascading Style Sheets Ngôn ngữ kịch bản quy định

cách trình bày của thẻ HTML

Trang 9

LỜI NÓI ĐẦU

Nền kinh tế các nước trên thế giới đang phát triển mạnh mẽ, trong đó có cả ViệtNam Mức sống, thu nhập của người dân tăng lên, cải thiện rất nhiều theo từng năm

Do đời sống vật chất đã đầy đủ, nên phát sinh thêm nhu cầu thoải mái về tinh thần làđiều dễ hiểu Bởi vậy, ngành du lịch trong nước đang ngày càng chiếm tỉ trọng lớntrong cơ cấu nền kinh tế nước ta Du lịch dần trở thành môi trường cạnh tranh khốc liệtvới các công ty, tập đoàn kinh doanh trong lĩnh vực này Trong thời đại mà Internet đãtrở nên hết sức phổ biến trong mọi lĩnh vực kinh tế, chính trị, xã hội, được phổ biếnrộng rãi đến nhiều tầng lớp trong xã hội, việc thiết kế website du lịch trở nên đặc biệtquan trọng đối với mọi doanh nghiệp kinh doanh du lịch nhưng chưa có website Mộtcông ty du lịch chất lượng phục vụ tốt thôi là chưa đủ, họ phải có website để quảng báthương hiệu qua Internet nhằm thu hút khách hàng đến với mình

Nhận thấy tiềm năng phát triển và khả năng áp dụng thực tế rất cao, cho nên emquyết định chọn đề tài là: Xây dựng Website cho công ty Du Lịch Việt

Sinh viên thực hiện

Vũ Thị Chang

Trang 10

LỜI CẢM ƠN

Sau quá trình học tập và thực hiện đồ án tốt nghiệp, em đã hoàn thành xong đềtài của mình Đầu tiên, em xin gửi lời cảm ơn tới tất cả thầy cô trong khoa Công nghệthông tin của trường nói chung – là những người đã cung cấp, chỉ bảo các kiến thứcnền tảng, và đặc biệt là cô Nguyễn Thị Thanh Huệ nói riêng, giáo viên hướng dẫn trựctiếp đồ án của em Cô là người luôn theo dõi tiến độ làm việc, đưa ra những góp ý, gợi

ý quý giá cho em trong quá trình phát triển đồ án, nhắc nhở em về những vấn đề cầnkhắc phục để em có thể hoàn thành đồ án đúng thời gian, đảm bảo tiến độ công việc

Dù đã cố gắng làm việc với sự tập trung cao, song em cũng không thể tránhkhỏi một số sai sót do kiến thức về công nghệ mới tiếp cận trong đề tài còn chưanhiều, thời gian thực hiện cũng hạn hẹp Em mong sẽ nhận được những góp ý, nhậnxét từ thầy cô và các bạn để em có thể làm tốt hơn nữa các đề tài và dự án sau này

Em xin chân thành cảm ơn

Trang 11

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

1.1 Tổng quan

Trong những năm gần đây, do công nghệ thông tin đang phát triển rất mạnh nênviệc ứng dụng tin học vào du lịch ngày càng được quan tâm hơn Du lịch dần trởthành môi trường cạnh tranh khốc liệt với các công ty, tập đoàn kinh doanh trong lĩnhvực này Trong thời đại mà Internet đã trở nên hết sức phổ biến trong mọi lĩnh vựckinh tế, chính trị, xã hội, được phổ biến rộng rãi đến nhiều tầng lớp trong xã hội, việcthiết kế website du lịch trở nên đặc biệt quan trọng đối với mọi doanh nghiệp kinhdoanh du lịch nhưng chưa có website.Việc ứng dụng công nghệ thông tin trong công

ty du lịch là một yêu cầu cấp bách nhằm nâng cao chất lượng công tác quản lý công ty,góp phần quảng bá thương hiệu qua Internet nhằm thu hút khách hàng

1.2 Lý do chọn đề tài

Thương mại điện tử và lợi ích cho doanh nghiệp thương mại điện tử nên đượcxem là một công cụ hỗ trợ thương mại truyền thống trong bối cảnh Việt Nam hiện nay.Thương mại điện tử ngày càng phát triển, thay thế thương mại truyền thống, chúngđem lại rất nhiều lợi ích

Lợi ích lớn nhất là tăng doanh thu: với thương mại điện tử, đối tượng kháchhàng của bạn giờ đây đã không còn bị giới hạn về mặt địa lý, hay thời gian làm việc Bạn không ngồi chờ khách hàng tự tìm đến với bạn mà bạn đang tích cực và chủ động

đi tìm khách hàng cho mình Vì thế, chắc chắn rằng số lượng khách hàng của bạn sẽtăng lên đáng kể dẫn đến tăng doanh thu

Thứ hai là cắt giảm được chi phí quảng cáo: với thương mại điện tử, bạn khôngphải tốn kém nhiều cho việc thuê cửa hàng, mặt bằng, đông đảo nhân viên phục vụ,bạn cũng không cần phải đầu tư nhiều cho kho chứa

Maketing toàn cầu với chi phí cực kì thấp là lợi ích thứ ba: chỉ với chi phí cực

kì nhỏ bạn có thể đưa thông tin quảng cáo của bạn đến với hàng trăm triệu người xem

từ khắp nơi trên thế giới Đây là điều mà chỉ có thương mại điện tử làm được chodoanh nghiệp

Lợi ích thứ tư đó là dịch vụ tốt hơn cho khách hàng, bạn có thể tạo điều kiệncho khách hàng làm mọi thứ trực tiếp từ trên mạng, tiết kiệm thời gian cho cả hai

Trang 12

Lợi ích cuối cùng đó là lợi thế cạnh tranh: việc kinh doanh trên mạng là một

“sân chơi” cho sự sáng tạo, nơi đây, bạn tha hồ áp dụng những ý tưởng hay nhất, mớinhất về dịch vụ hỗ trợ, chiến lược tiếp thị

Ngành du lịch là một ngành đang ngày càng phát triển, chiếm tỉ trọng lớn trong

cơ cấu kinh tế nước ta Việc áp dụng thương mại điện tử, đặc biệt là hoạt độngmarketing online là điều vô cùng quan trọng, cần thiết Để thực hiện được điều đó, họcần có một website, thông qua website, các công ty du lịch có thể quảng bá các sảnphẩm của mình cung cấp, cung cấp các dịch vụ trực tuyến như đặt vé, đặt phòng,…nhằm đưa các sản phẩm của công ty đến gần người tiêu dùng hơn

Với những lý do đó, em quyết định chọn đề tài “Xây dựng Website cho công

ty Du Lịch Việt”.

1.3 Mục tiêu chọn đề tài

Thiết kế một website du lịch phải đảm bảo tính tiện dụng đối với cả người dùng

và người quản trị.Nội dung và cách trình bày của website phải rõ ràng mạch lạc và dễ

sử dụng

- Vận dụng các kiến thức đã được học về HTML cùng với việc tìm hiểu thêm

về ngôn ngữ lập trình web PHP và MySQL

- Website được thiết kế trên nền tảng HTML và lập trình trên ngôn ngữ PHPtrên cơ sở dữ liệu MySQL

1.4 Giới hạn và phạm vi của đề tài

Đề tài xây dựng một website quảng bá hoạt động du lịch cho công ty Du LịchViệt Các kiến thức được sử dụng bao gồm: Lập trình PHP và MySQL, sử dụngJavascript và Twitter Bootstrap vào việc xử lý và thiết kế website Công cụ lập trìnhđược sử dụng bao gồm: Trình soạn thảo code Sublime Text, chương trình tạo WebServer XAMPP (được tích hợp sẵn Apache, PHP, MySQL)

Hệ thống website cho công ty Du Lịch Việt sẽ được ứng dụng vào thực tế

1.5 Nội dung thực hiện

Nội dung thực hiện được như sau:

- Nghiên cứu các website trên ngôn ngữ PHP.

Trang 13

- Tìm hiểu một số website du lịch trên mạng.

- Thiết kế đặc tả hệ thống.

- Xây dựng cơ sở dữ liệu trên MySQL.

- Lập trình cho các chức năng của website.

- Kiểm thử đơn vị.

1.6 Phương pháp tiếp cận

Cách tiếp cận: Nghiên cứu các web trên các nền tảng công nghệ từ trước

Sử dụng các phương pháp nghiên cứu:

- Phương pháp đọc tài liệu

- Phương pháp phân tích mẫu

Phương pháp thực nghiệm làm những module nhỏ

Trang 14

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2

2.1 HTML

HTML(Hyper Text Markup Languages – tiếng Anh) hay còn gọi là “Ngôn ngữ

đánh dấu siêu văn bản” nó được sử dụng để tạo nên các trang web thông qua các thẻđánh dấu Do vậy HTML không phải là một ngôn ngữ lập trình mà nó chỉ là ngôn ngữđánh dấu Phần mở rộng của tập tin HTML thường là html hoặc htm.Các trình duyệt sẽđọc tập tin HTML và hiển thị chúng dưới dạng trang web.Các thẻ HTML sẽ được ẩn

đi, chỉ hiển thị nội dung văn bản và các đối tượng khác: hình ảnh, media.Với các trìnhduyệt khác nhau đều hiển thị một tập HTML với 1 kết quả nhất định Các trang HTMLđược gửi đi qua mạng internet theo giao thức HTTP

HTML không những cho phép nhúng thêm các đối tượng hình ảnh, âm thanh màcòn cho phép nhúng các kịch bản vào trong đó như các ngôn ngữ kịch bản nhưJavascript để tạo hiệu ứng động cho trang web Để trình bày trang web hiệu quả hơnthì HTML cho phép sử dụng kết hợp với CSS HTML chính thức là chuẩn của W3C từtháng 1 năm 97 với phiên bản HTML 3.2 Trước đó thì HTML xuất bản theo chuẩncủa RFC

HTML được tương thích với mọi hệ điều hành cùng các trình duyệt của nó Khảnăng dễ học, dễ viết là một ưu điểm của HTML không những vậy việc soạn thảo đòihỏi hết sức đơn giản và thông thường sử dụng notepad là đã đủ HTML vẫn tiếp tụcđược phát triển, phiên bản hiện tại là HTML 5 – một phiên bản nâng cấp của XHTMLHTML cải tiến khá nhiều đặc biệt hỗ trợ mạnh mẽ các phần tử multimedia mà khôngcần các plugin HTML5 nói chung mạnh mẽ hơn nhiều không chỉ về tốc độ và độ thíchứng cao mà chính là khả năng hỗ trợ API (Application Programming Interface - giaodiện lập trình ứng dụng) và DOM (Document Object Model – mô hình đối tượng tàiliệu hay cây cấu trúc dữ liệu)

Trang 15

2.2 CSS

CSS-Cascading Style Sheet dùng để trình bày các tài liệu viết bằng HTML hoặcXHTML Ngoài ra ngôn ngữ định kiểu theo tầng cũng có thể dùng cho XML, SVG,XUL…Các đặc điểm kĩ thuật của CSS được duy trì bởi tổ chức W3C

CSS có cấu trúc đơn giản và sử dụng các từ tiếng anh để đặt tên cho các thuộctính CSS khi sử dụng có thể viết trực tiếp xen lẫn vào mã HTML hoặc tham chiếu từmột file css riêng biệt Và hiện nay CSS thường được viết riêng thành một tập tin với

mở rộng là css Chính vì vậy mà các trang web có sử dụng CSS thì mã HTML sẽ trởnên ngắn gọn và trong sáng hơn Ngoài ra có thể sử dụng 1 tập tin CSS đó cho nhiềuwebsite tiết kiệm rất nhiều thời gian và công sức Một đặc điểm quan trọng đó là tính

kế thừa của CSS do đó sẽ giảm được số lượng dòng code mà vẫn đạt được yêu cầu.Tuy nhiên đối với CSS thì các trình duyệt hiểu theo kiểu riêng của nó Do vậyviệc trình bày 1 nội dung trên các trình duyệt khác nhau là không thống nhất

2.3 Javascript

Javascript là một ngôn ngữ lập trình kịch bản dựa trên các đối tượng, được pháttriển từ các ý niệm nguyên mẫu Được sử dụng rộng rãi trong các trang web, nó đượcphát triển bởi Brendan Eich của hãng truyền thông Nestcape, đầu tiên tên gọi làMocha, sau đổi thành LiveScript và cuối cùng mới có tên gọi là JavaScript Cú phápcủa JavaScript tương tự C giống Selt hơn là Java Nó sử dụng có 2 dạng: nhúng trựctiếp vào mã html, hoặc tham chiếu từ một tập tin với phần mở rộng là *.js Phiên bảnJavaScript mới nhất là 1.5, tương ứng với các ECMA-262- phiên bản chuẩn hóa củajavaScript Trình duyệt Mozilla 1.8 beta 1 hỗ trợ không đầy đủ cho E4X- phần mởrộng cho JavaScript làm việc với XML, được chuẩn hóa trong ECMA-357

2.4 PHP

2.4.1 Khái niệm PHP

PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trìnhkịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết chomáy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và cóthể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc

độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm

Trang 16

tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành mộtngôn ngữ lập trình web phổ biến nhất thế giới

2.4.2 Lịch sử phát triển của PHP

PHP/FI: PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI do

Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản củacác mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trênmạng Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools' Khi cầnđến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để cóthể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụngweb đơn giản Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi ngườixem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn

PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian

khá dài chỉ được công bố dưới dạng các bản beta Nhưng không lâu sau đó, nó đã đượcthay thế bởi các bản alpha đầu tiên của PHP 3.0

PHP 3: PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi

với các phiên bản PHP mà chúng ta được biết ngày nay

Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộngmạnh mẽ của nó Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầngchặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mởrộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun

mở rộng mới Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫnđến thành công vang dội của PHP 3.0 Các tính năng khác được giới thiệu trong PHP3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quánkhác

PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9tháng được cộng đồng kiểm nghiệm

PHP 4: Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công

bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi củaPHP Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cảitiến tính mô đun của cơ sở mã PHP Những ứng dụng như vậy đã chạy được trên PHP3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên

Trang 17

thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thếnày một cách có hiệu quả.

Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủyếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo

bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mậthơn và cung cấp một vài các cấu trúc ngôn ngữ mới

Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàngtriệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet

PHP 5: Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát

triển PHP tự mãn Cộng đồng PHP đã nhanh chóng giúp họ nhận ra những yếu kémcủa PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML,không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ webyếu Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộngđồng kiểm nghiệm Đó cũng là phiên bản đầu tiên của Zend Engine 2.0 Phiên bảnBeta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rấtđược chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãikhác đã bị loại khỏi mã nguồn Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã đượccông bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khảnăng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàmmới PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dàicác bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3 Mặc dù coi đây là phiên bảnsản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thựcHTTP

PHP 6: Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản

sử dụng thử đã có thể được download tại địa chỉ http://snaps.php.net Phiên bản PHP 6được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗtrợ namespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về vấn đề này); hỗtrợ Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ

sẽ bị đưa ra thành thư viện PECL

Trang 18

2.4.3 Môi trường hoạt động của PHP

PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị

cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux(LAMP)

- Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trìnhduyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trìnhduyệt

- MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress,Oracle, SQL server ) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu

- Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho cácwebserver Thông thường các phiên bản được sử dụng nhiều nhất là RedHatEnterprise Linux, Ubuntu

PHP hoạt động như thế nào?

Hình 2.1 Mô hình hoạt động của PHP

Khi người sử dụng gọi trang PHP, Web Server sẽ triệu gọi PHP Engine để

Trang 19

2.5 Tổng quan về Hệ quản trị cơ sở dữ liệu MySQL

2.5.1 Khái niệm MySQL

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới vàđược các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL

là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trênnhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ

và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trêninternet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ

Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệđiều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, NovellNetWare, SGI Irix, Solaris, SunOS,

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan

hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)

MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nólàm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,

MySQL là một RDBMS nhanh và dễ dàng để sử dụng MySQL đang được sửdụng cho nhiều công việc kinh doanh từ lớn tới nhỏ MySQL được phát triển, đượccông bố, được hỗ trợ bởi MySQL AB, là một công ty của Thụy Điển MySQL trởthành khá phổ biến vì nhiều lý do:

- MySQL là mã ngồn mở Vì thế, để sử dụng nó, bạn chẳng phải mất một xu nào

- MySQL là một chương trình rất mạnh mẽ

- MySQL sử dụng một Form chuẩn của ngôn ngữ dữ liệu nổi tiếng là SQL

- MySQL làm việc trên nhiều Hệ điều hành và với nhiều ngôn ngữ như PHP,PERL, C, C++, Java, …

- MySQL làm việc nhanh và khỏe ngay cả với các tập dữ liệu lớn

- MySQL rất thân thiện với PHP, một ngôn ngữ rất đáng giá để tìm hiểu để pháttriển Web

- MySQL hỗ trợ các cơ sở dữ liệu lớn, lên tới 50 triệu hàng hoặc nhiều hơn nữatrong một bảng Kích cỡ file mặc định được giới hạn cho một bảng là 4 GB,nhưng bạn có thể tăng kích cỡ này (nếu hệ điều hành của bạn có thể xử lý nó)

để đạt tới giới hạn lý thuyết là 8 TB

Trang 20

- MySQL là có thể điều chỉnh Giấy phép GPL mã nguồn mở cho phép lập trìnhviên sửa đổi phần mềm MySQL để phù hợp với môi trường cụ thể của họ.

2.5.2 Lịch sử phát triển

Các cột mốc đáng chú ý trong phát triển MySQL bao gồm:

- Ban đầu phát triển MySQL là Michael Widenius và Daivid Axmark bắtđầu vào năm 1994

- Nội bộ đầu tiên phát hành ngày 23 tháng 5 năm 1995

- Phiên bản 3,19 : Cuối năm 1996, từ www.tcx.se

- Phiên bản 3,2: Tháng 1 năm 1997

- Phiên bản Windows được phát hành vào ngày 8 tháng 1 năm 1998 choWindows 95 và NT

- Phiên bản 3,21 : sản xuất phát hành năm 1998, từ www.mysql.com

- Phiên bản 3,22 : alpha, beta từ năm 1998

- Phiên bản 3,23 : beta từ năm 2000, sản xuất phát hành ngày 22/1/2001

- Phiên bản 4,0: beta từ tháng 8 năm 2002 sản xuất, phát hành tháng 3 năm2003

- Phiên bản 4,01 beta từ tháng 8 năm 2003

- Phiên bản 4,1: beta từ tháng 6 năm 2004 và sản xuất, phát hành 10/2004

- Phiên bản 5,0 : phiên bản beta từ tháng 3/2005, sản xuất phát hành tháng10/2005

- Sun Microsystems mua lại MySQL AB ngày 26 tháng 2 năm 2008

- Phiên bản 5,1: sản xuất phát hành năm 2008, nhưng bản này có nhiều lỗi

- Oracle mua lại Sun Microsystems vào ngày 27/1/2010

2.5.3 Lý do sử dụng MySQL

Tốc độ: MySQL rất nhanh Những nhà phát triển cho rằng MySQL là cơ sở dữ

liệu nhanh nhất mà bạn có thể có

Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống cơ sở

dữ liệu rất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ thống lớn

Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một tổ

chức

Trang 21

Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn lựa

cho tất cả các hệ thống cơ sở dữ liệu hiện đại Bạn cũng có thể truy cập MySQL bằngcách sử dụng các ứng dụng mà hỗ trợ ODBC (Open Database Connectivity -một giaothức giao tiếp cơ sở dữ liệu được phát triển bởi Microsoft)

Năng lực: Nhiều client có thể truy cập đến server trong cùng một thời gian Các

client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời Bạn có thể truy cậpMySQL tương tác với sử dụng một vài giao diện để bạn có thể đưa vào các truy vấn vàxem các kết quả: các dòng yêu cầu của khách hàng, các trình duyệt Web…

Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở dữ

liệu có thể được truy cập từ bất kỳ nơi nào trên Internet do đó bạn có thể chia sẽ dữliệu của bạn với bất kỳ ai, bất kỳ nơi nào Nhưng MySQL kiểm soát quyền truy cậpcho nên người mà không nên nhìn thấy dữ liệu của bạn thì không thể nhìn được

Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không phải

UNIX chẳng hạn như Windows hay OS/2 MySQL chạy được các với mọi phần cứng

từ các máy PC ở nhà cho đến các máy server

Sự phân phối rộng: MySQL rất dễ dàng đạt được, chỉ cần sử dụng trình duyệt

web của bạn Nếu bạn không hiểu làm thế nào mà nó làm việc hay tò mò về thuật toán,bạn có thể lấy mã nguồn và tìm tòi nó Nếu bạn không thích một vài cái, bạn có thểthay đổi nó

Sự hỗ trợ: Bạn có thể tìm thấy các tài nguyên có sẵn mà MySQL hỗ trợ Cộng

đồng MySQL rất có trách nhiệm Họ trả lời các câu hỏi trên mailing list thường chỉtrong vài phút Khi lỗi được phát hiện, các nhà phát triển sẽ đưa ra cách khắc phụctrong vài ngày, thậm chí có khi trong vài giờ và cách khắc phục đó sẽ ngay lập tức cósẵn trên Internet

2.6 Tổng quan về Twitter Bootstrap

2.6.1 Khái niệm Twitter Bootstrap

Bootstrap là Front-end framework, là một bộ sưu tập miễn phí các công cụ đểtạo ra các trang web và các ứng dụng web Nó chứa HTML và CSS dựa trên các mẫuthiết kế cho kiểu chữ, hình thức, các nút, chuyển hướng và các thành phần giao diệnkhác, cũng như mở rộng JavaScript tùy chọn

Trang 22

Bootstrap được phát triển bởi Mark Otto và Jacob Thornton tại Twitter như mộtframework, một công cụ để phục vụ công việc nội bộ của Twitter Trước khi phát triểnBootstrap, có nhiều thư viện khác nhau đã được sử dụng để phát triển giao diện, dẫnđến mâu thuẫn, xung đột.Bootstrap ra đời để khắc phục những yếu tố này, cũng nhưgiúp các nhà phát triển, lập trình tại Twitter có thể triển khai công việc nhanh hơn, tiệnlợi và đồng bộ hơn.

Bootstrap tương thích với các phiên bản mới nhất của tất cả các trình duyệt nổitiếng trên thế giới như Chrome, Firefox, IE, Opera

Kể từ phiên bản 2.0 trở l nó cũng hỗ trợ Responsive Web Design Thiết kế và

bố trí của các trang web tự động điều chỉnh, tự động tương thích các thiết bị được sửdụng (máy tính để bàn, máy tính bảng, điện thoại di động)

Responsive là gì?

Hiểu một cách đơn giản Web Responsive là phong cách thiết kế website làmsao cho phù hợp trên tất cả các thiết bị, mọi độ phân giải màn hình Một website đẹptrên máy tính nhưng khi xem trên điện thoại bố cục lộn xộn, hình ảnh, bài viết khôngcân đối thì không thể gọi là Web Responsive

Ví dụ về Web Responsive: Khi mở trang chủ website Responsive, rồi thu nhỏtrình duyệt hoặc đổi độ phân giải màn hình, người dùng sẽ thấy website của mìnhkhông hề xuất hiện Scrollbar ngang, mà nó sẽ tự động co dãn sao cho phù hợp vớichiều rộng màn hình máy tính

Hoặc đơn giản và hay bắt gặp nhất là khi sử dụng các thiết bị cảm ứng để lướtweb thì với chế độ xoay thiết bị thì hình ảnh , trang web của sẽ chuyển đổi một cáchuyển chuyển sang chế độ hiện thị khác Nó không chỉ đẹp mắt và phù hợp hơn vớimàn hình mới mà nó còn tạo hiệu ứng tốt cho người dùng, tất nhiên đó là điều nhàthiết kế rất cần cho website của mình

2.6.2 Lịch sử phát triển

Bootstrap được phát triển bởi Mark Otto và Jacob Thornton tại Twitter như mộtkhuôn khổ để khuyến khích nhất quán giữa các công cụ nội bộ Trước khi Bootstrap,thư viện khác nhau đã được sử dụng để phát triển giao diện, dẫn đến mâu thuẫn và làmột gánh nặng bảo dưỡng cao

Trang 23

Bootstrap được phát hành như là một sản phẩm mã nguồn mở trong tháng 8năm 2011 trên GitHub Trong tháng 6 năm 2014 Bootstrap là dự án số 1 trên GitHub.

2.6.3 Lợi ích của Bootstrap

- Tiết kiệm thời gian: Boostrap giúp người thiết kế giao diện website tiết kiệm rấtnhiều thời gian Các thư viện Bootstrap có những đoạn mã sẵn sàng để áp dụngvào website của mình Không phải tốn quá nhiều thời gian để tự viết code chogiao diện của mình

- Tùy biến cao: Hoàn toàn có thể dựa vào Bootstrap và phát triển nền tảng giao

diện của chính mình Bootstrap cung cấp một hệ thống Grid System mặc định

bao gồm 12 cột và độ rộng 940px Có thể thay đổi, nâng cấp và phát triển dựatrên nền tảng này

- Responsive Web Design: Với Bootstrap, việc phát triển giao diện website đểphù hợp với đa thiết bị trở nên dễ dàng hơn bao giờ hết Đây là xu hướng pháttriển giao diện website đang rất được ưu chuộng trên thế giới có thể có

2.6.4 Grid System trong Bootstrap

Grid System là 1 hệ thống của Bootstrap, tạo ra với 12 cột trong một trang nộidung và tự động sắp xếp theo kích thước hiển thị của thiết bị (Desktop, Tablet,Phone…), từ đó chúng ta dễ dàng phân bố cục cho Bootsrap theo thiết kế Reponsive.Cách hoạt động của grid system:

Mỗi một hàng, phải được bao bọc bởi class container (cố định kích thước rộng

là 768px) hoặc container-fluid (không giới hạng chiều rộng) để canh giữa và cáchkhoảng cách lề

Mỗi một hàng gồm các nhóm cột Nội dung nằm trong cột, mỗi cột có thể chứa

12 cột con khác Giữa các cột sẽ có khoảng padding (đệm) Khoảng đệm của cột đầu

và cuối sẽ được quy định bởi rows Nếu có nhiều hơn 12 cột trên một hàng thì mỗinhóm 12 cột sẽ cố định và phần dư sẽ được chuyển sang hàng mới

Grid system được đinh nghĩa với các kích thước màn hình khác nhau mà hiểnthi khác nhau Ví dụ ta có lớp col-md-* sẽ không hiển thị đúng cột nếu màn hình cỡlớn và col-lg-* sẽ không áp dụng nếu bạn đang xem bằng màn hình cỡ vừa

span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1

Trang 24

span 4 span 4 span 4

span 12

Hình 2.2 Grid System của Bootstrap

Các lớp tùy chọn của Grib System được quy định bởi bảng sau:

Màn hình nhỏ nhất

Phones (<768px)

Màn hình nhỏ

Tablets (≥768px)

Màn hình vừa Desktops (≥992px)

Màn hình lớp Desktops (≥1200px) Trạng thái Mọi thời điểm Tự động hiển thị theo màn hình

Trang 25

CHƯƠNG 3: NỘI DUNG THỰC HIỆN

3.1 Khảo sát và đặc tả yêu cầu

Website cho công ty Du Lịch Việt, cần thực hiện các chức năng sau:

- Cho phép khách hàng tìm kiếm, tham khảo thông tin về các tour du lịchđược cung cấp trong hệ thống Khi khách hàng có nhu cầu đặt tour có thểtiến hành đặt tour

- Cho phép khách hàng đặt tour Khách hàng đặt tour cần cung cấp đầy đủ cácthông tin cá nhân cũng như thông tin về số ghế đặt và được xác nhận quaemail, thanh toán tour qua thẻ trước 30% giá trị tour

- Cho phép khách hàng liên hệ với công ty tại trang liên hệ để phản hổi vềdịch vụ, hướng dẫn viên, Khách hàng khi liên hệ cần có cung cấp địa chỉemail để công ty phản hồi lại

- Người quản trị hoặc các thành viên quản lý website sẽ tiến hành xử lý đơnđặt tour khi có khách hàng đặt tour trong hệ thống và gửi emai,goi điện yêucầu khách hàng xác nhận lạ thông tin và yêu cầu thanh toán tour trong thờigian cho phép Nếu khách hàng muốn hủy hoặc thay đổi tour đã đặt, thànhviên sẽ tiến hành thay đổi theo ý muốn Hoặc nếu khách hàng không xácnhận và thanh toán theo yêu cầu đã hẹn thì người quản lý sẽ xóa đi thông tinđặt tour của khách hàng đó

- Quản trị viên quản lý các thành viên trong hệ thống, cấp quyền truy cập hệthống cho từng người dùng, tiến hành đăng thông tin tour du lịch

3.1.1 Các yêu cầu chức năng

Website công ty Du Lịch Việt cần có các chức năng sau:

1 Quản lý thông tin tour du lịch

- Nhập thông tin tour du lịch: Hệ thống giúp thành viên thêm mới thôngtin cho tour du lịch Những thông tin của tour du lịch bao gồm: Mã tour,Tên tour, Hành trình, Ảnh tour, Giá tiền, Số ngày, Mã loại tour, Mãhướng dẫn viên, Nơi bắt đầu, Ngày khởi hành, Số chỗ

- Sửa thông tin tour: Hệ thống phải cung cấp chức năng sửa thông tin tour

du lịch khi có thay đổi

Trang 26

- Xóa tour du lịch: Hệ thống phải cung cấp chức năng xóa tour du lịch khitour không được bán nữa.

- Hiển thị thông tin tour du lịch: Hệ thống phải cung cấp chức năng hiểnthị danh sách thông tin các tour du lịch hiện có

2 Quản lý loại tour

- Nhập thông tin loại tour du lịch: Hệ thống giúp thành viên thêm mớithông tin cho loại tour du lịch Những thông tin của loại tour du lịch baogồm: Mã loại tour, Tên loại tour

- Sửa thông tin loại tour: Hệ thống phải cung cấp chức năng sửa thông tinloại tour du lịch khi có thay đổi

- Xóa loại tour: Hệ thống phải cung cấp chức năng xóa loại tour khi công

ty không còn kinh doanh loại tour đó nữa

- Hiển thị thông tin loại tour du lịch: Hệ thống phải cung cấp chức nănghiển thị danh sách thông tin các loại tour du lịch hiện có

3 Quản lý thành viên: Hệ thống cho phép người quản trị viên (có quyền là 1)được thêm, sửa, xóa thành viên (có quyền là 0)

4 Quản lý thông tin hướng dẫn viên:

- Nhập thông tin hướng dẫn viên: Hệ thống giúp thành viên thêm mớithông tin cho hướng dẫn viên Những thông tin của hướng dẫn viên baogồm: ID Hướng dẫn viên, Tên hướng dẫn viên, Ngày sinh, Địa chỉ, Giớitính, Số điện thoại

- Sửa thông tin hướng dẫn viên: Hệ thống phải cung cấp chức năng sửathông tin hướng dẫn viên khi có thay đổi

- Xóa hướng dẫn viên: Hệ thống phải cung cấp chức năng xóa hướng dẫnviên khi hướng dẫn viên đó không còn làm việc trong công ty nữa

- Hiển thị thông tin hướng dẫn viên: Hệ thống phải cung cấp chức nănghiển thị danh sách thông tin các hướng dẫn viên du lịch hiện có

5 Quản lý tin tức:

- Nhập tin tức: Hệ thống giúp thành viên thêm mới tin tức du lịch Nhữngthông tin của tin tức bao gồm: id tin, tên tin, ảnh, nội dung

Trang 27

- Sửa thông tin tin tức: Hệ thống phải cung cấp chức năng sửa thông tintin tức khi có thay đổi.

- Xóa tin tức: Hệ thống phải cung cấp chức năng xóa tin tức khi tin tức bịsai hoặc vi phạm bản quyền

- Hiển thị tin tức: Hệ thống phải cung cấp chức năng hiển thị danh sáchthông tin tin tức du lịch hiện có

6 Quản lý khuyến mại:

- Nhập thông tin khuyến mại: Hệ thống giúp thành viên thêm mới thôngtin khuyến mại Những thông tin của khuyến mại bao gồm: ID khuyếnmại, ID tour, Phần trăm khuyến mại, Ngày bắt đầu, Ngày kết thúc

- Sửa thông tin khuyến mại: Hệ thống phải cung cấp chức năng sửa thôngtin khuyến mại khi có thay đổi

- Xóa khuyến mại: Hệ thống phải cung cấp chức năng xóa khuyến mại khichương trình khuyến mạ đó không được áp dụng nữa

- Hiển thị thông tin khuyến mại: Hệ thống phải cung cấp chức năng hiểnthị danh sách thông tin các khuyến mại hiện có

7 Chức năng tìm kiếm tour du lịch

- Tìm kiếm thông tin tour du lịch theo điểm khởi hành, thời gian du lịch,giá tour, điểm đến của tour du lịch

- Hệ thống cần phải cung cấp chức năng tìm kiếm thông tin khuyến mại,việc tìm kiếm mang tính tương đối

3.1.2 Các yêu cầu phi chức năng

Mụ

1 Giao diện Giao diện hệ thống phải dễ sử dụng, trực quan,

thân thiện với mọi người dùng

2 Tốc độ xử lý Tốc độ xử lý của hệ thống phải nhanh chóng và

chính xác

3 Bảo mật Tính bảo mật và độ an toàn cao

4 Người sử dụng Người sử dụng website có thể sẽ không cần tìm

Trang 28

3.2 Phân tích thiết kế hệ thống

3.2.1 Các chức năng của hệ thống

Khách hàng có thể:

- Đăng ký đặt tour du lịch

- Xem thông tin các tour du lịch

- Xem tin tức du lịch liên quan

- Xem giới thiệu cũng như đội ngũ hướng dẫn viên của công ty

- Liên hệ phản hổi, đóng góp ý kiến với công ty

Thành viên có thể:

- Xem, thêm, sửa, xóa thông tin danh sách các khách hàng đặt tour

- Xem, thêm, sửa, xóa các tour du lịch

- Xem, thêm, sửa, xóa loại tour du lịch

- Xem, thêm, sửa, xóa khách sạn

- Xem, thêm, sửa, xóa hướng dẫn viên

- Xem, thêm, sửa, xóa khuyến mại

- Xem, thêm, sửa, xóa tin tức

- Xem, thêm, sửa, xóa chi tiết khách sạn

- Thành viên: Là người có thể sử dụng toàn bộ chức năng của website trừ chứcnăng quản lý thành viên

- Khách hàng: Là người ghé thăm trang web nhưng không có tài khoản, sử dụngcác chức năng như: đăng ký đặt tour, xem thông tin tour, xem thông tin công ty,xem tin tức,…

Trang 29

3.3 Biểu đồ Use Case

3.3.1 Use Case mức tổng quát

Hình 3.3 Biểu đồ Use Case tổng quát 3.3.2 Use Case Đặt tour

Hình 3.4 Biểu đồ Use Case Đặt tour du lịch

- Tác nhân: Khách hàng.

- Mô tả: Use case cho phép khách hàng đăng ký đặt tour du lịch trên hệ thống

- Điều kiện trước: Khách hàng có nhu cầu đăng ký đặt tour du lịch

- Dòng sự kiện chính:

 Xem tour và nhấn nút đặt tour cạnh tour Hệ thống hiển thị giao diện đặt tour

 Nhập đầy đủ thông tin về cá nhân và các yêu cầu riêng trên giao diện

Trang 30

 Hệ thống kiểm tra họ tên, email, số điện thoại, số chỗ đăng ký,…nhập củakhách hàng Nếu nhập email, họ tên… không hợp lệ thì chuyển sang dòng sựkiện rẽ nhánh A1 Nếu nhập đúng thì tiếp tục thực hiện đặt tour thành công vàđưa ra thông báo yêu cầu xác nhận thông tin trong email và thanh toán trước30% số giá trị của tour đã đặt.

 Use case kết thúc

- Dòng sự kiện rẽ nhánh:

 Dòng rẽ nhánh A1: Đưa ra các thông báo nhập sai

 Hệ thống thông báo các thông tin mà bạn nhập sai

 Hệ thống yêu cầu nhập lại toàn bộ thông tin

 Use case kết thúc

- Hậu điều kiện: khách hàng đăng ký thành công sẽ được nhận yêu cầu xác nhậnqua email

3.3.3 Use Case Đăng nhập

Hình 3.5 Biểu đồ Use Case Đăng nhập

- Tác nhân: Quản trị viên, Thành viên

- Mô tả: Use case cho phép Quản trị viên, Thành viên đăng nhập vào hệ thống

- Điều kiện trước: Quản trị viên, thành viên chưa đăng nhập vào hệ thống

Trang 31

- Dòng sự kiện chính:

 Chọn chức năng đăng nhập

 Giao diện đăng nhập hiển thị

 Nhập tên, mật khẩu vào giao diện đăng nhập

 Hệ thống kiểm tra tên, mật khẩu nhập của Quản trị viên, thành viên Nếunhập sai tên, mật khẩu thì chuyển sang dòng sự kiện rẽ nhánh A1 Nếunhập đúng thì hệ thống sẽ chuyển tới trang quản trị

 Use case kết thúc

- Dòng sự kiện rẽ nhánh:

 Dòng rẽ nhánh A1: Quản trị viên, thành viên đăng nhập không thành công

 Hệ thống thông báo quá trình đăng nhập không thành công do sai tên đăngnhập hoặc mật khẩu

 Chọn nhập lại Hệ thống yêu cầu nhập lại tên đăng nhập, mật khẩu

 Use case kết thúc

- Hậu điều kiện: Quản trị viên,thành viên đăng nhập thành công và có thể sử dụngcác chức năng tương ứng trong trang quản trị

Trang 32

3.3.4 Use Case Quản lý loại tour

Hình 3.6 Biểu đồ Use Case Quản lý loại tour

- Tác nhân: Quản trị viên, thành viên.

- Mô tả: Use case cho phép xem, sửa hoặc xóa các thông tin loại tour trong hệthống

- Điều kiện trước: Quản trị viên, thành viên đã đăng nhập vào hệ thống

- Dòng sự kiện chính:

 Quản trị viên,thành viên chọn kiểu tác động: thêm, sửa hay xóa thông tinloại tour trong danh sách của hệ thống

 Thêm loại tour

o Nhấn nút thêm trên giao diện danh sách tour

o Hệ thống hiển thị giao diện nhập thông tin loại tour

o Quản trị viên, thành viên nhập thông tin loại tour

o Nhấn nút cập nhật loại tour

o Nếu thành công hệ thống sẽ đưa ra thông báo

o Nếu sai thực hiện dòng rẽ nhánh A1

o Lưu thông tin danh sách loại tour

 Sửa thông tin loại tour

Trang 33

o Nhấn vào biểu tượng sửa trên giao diện danh sách loại tour.

o Hệ thống đưa ra thông báo có muốn sửa không

o Hệ thống hiển thị giao diện sửa thông tin loại tour

o Nhập các thông tin cần thay đổi

o Nhấn nút cập nhật loại tour

o Nếu việc thay đổi thông tin thành công hệ thống sẽ đưa ra thôngbáo

o Nếu sai thì thực hiện dòng rẽ nhánh A1

o Lưu thông tin danh sách loại tour

 Xóa loại tour

o Nhấn vào biểu tượng xóa trong giao diện

o Hệ thống sẽ đưa ra thông báo “Bạn có chắc chắn muốn xóakhông?”

o Nếu nhấn OK bạn sẽ xóa thành công

o Nếu nhấn hủy bạn sẽ hủy sự kiện xóa

 Use case kết thúc

- Dòng sự kiện rẽ nhánh A1

 Hệ thống thông báo việc nhập dữ liệu không hợp lệ

 Quản trị viên, thành viên nhập lại thông tin

 Quay lại bước 1 của dòng sự kiện chính

- Hậu điều kiện: các thông tin về loại tour được cập nhật trong cơ sở dữ liệu

Trang 34

3.3.5 Use Case Quản lý hướng dẫn viên

Hình 3.7 Biểu đồ Use Case Quản lý hướng dẫn viên

- Tác nhân: Quản trị viên, Thành viên.

- Mô tả: Use case cho phép người dùng Xem danh sách Hướng dẫn viên, Thêm /Sửa / Xóa thông tin Hướng dẫn viên có trong hệ thống

- Điều kiện trước: Quản trị viên, Thành viên đã đăng nhập vào hệ thống

- Dòng sự kiện chính:

 Quản trị viên, thành viên chọn kiểu tác động: thêm, sửa hay xóa thông tinHướng dẫn viên trong hệ thống thông qua các nút chức năng tương ứng trêngiao diện

 Thêm thông tin Hướng dẫn viên

o Người dùng nhấn nút Thêm trên giao diện hiển thị danh sáchHướng dẫn viên

o Hệ thống hiển thị giao diện nhập thông tin Hướng dẫn viên

o Người dùng nhập thông tin Hướng dẫn viên mới

o Người dùng nhấn nút Thêm Hướng dẫn viên

o Nếu thành công hệ thống sẽ đưa ra thông báo thêm Hướng dẫnviên thành công

o Nếu sai thực hiện dòng rẽ nhánh A1

o Lưu thông tin Hướng dẫn viên, load lại giao diện danh sáchHướng dẫn viên

Trang 35

 Sửa thông tin Hướng dẫn viên.

o Người dùng nhấn nút Sửa trên giao diện danh sách Hướng dẫnviên

o Hệ thống đưa ra thông báo hỏi “Bạn có muốn sửa Hướng dẫnviên hay không?”

o Hệ thống hiển thị giao diện sửa thông tin Hướng dẫn viên

o Người dùng nhập các thông tin cần thay đổi

o Người dùng nhấn nút Cập nhật để xác nhận thay đổi thông tin

o Nếu việc thay đổi thông tin thành công hệ thống sẽ đưa ra thôngbáo “Bạn đã cập nhật thông tin Hướng dẫn viên thành công”

o Nếu sai thì thực hiện dòng rẽ nhánh A1

o Hệ thống lưu thông tin danh sách Hướng dẫn viên vào CSDL vàload lại trang danh sách Hướng dẫn viên

 Xóa Hướng dẫn viên

o Người dùng nhấn nút Xóa trên giao diện danh sách Hướng dẫnviên

o Hệ thống sẽ đưa ra thông báo “Bạn có chắc chắn muốn xóakhông?”

o Nếu nhấn OK, hệ thống tiến hành xóa và hiển thị thông báo

 Hệ thống thông báo việc nhập dữ liệu không hợp lệ

 Quản trị viên, thành viên nhập lại thông tin

 Quay lại bước 1 của dòng sự kiện chính

Hậu điều kiện: Các thông tin về danh sách Hướng dẫn viên được cập nhật vàoCSDL

Trang 36

3.3.6 Use Case Quản lý tour

Hình 3.8 Biểu đồ Use Case Quản lý tour

- Tác nhân: Quản trị viên, Thành viên.

- Mô tả: Use case cho phép người dùng Xem danh sách tour, Thêm / Sửa / Xóathông tin các tour có trong hệ thống

- Điều kiện trước: Quản trị viên, Thành viên đã đăng nhập vào hệ thống

- Dòng sự kiện chính:

 Quản trị viên, thành viên chọn kiểu tác động: thêm, sửa hay xóa thông tintour trong hệ thống thông qua các nút chức năng tương ứng trên giao diện

 Thêm thông tin Tour

o Người dùng nhấn nút Thêm trên giao diện hiển thị danh sáchtour

o Hệ thống hiển thị giao diện nhập thông tin tour Hệ thống load

danh sách loại tour và hướng dẫn viên vào điều khiển select của

HTML

o Người dùng nhập thông tin Tour mới

o Người dùng nhấn nút Thêm Tour

Trang 37

o Nếu thành công hệ thống sẽ đưa ra thông báo thêm tour thànhcông.

o Nếu sai thực hiện dòng rẽ nhánh A1

o Hệ thống lưu thông tin tour, load lại giao diện danh sách tour

 Sửa thông tin Tour

o Người dùng chọn tour trong danh sách và nhấn nút Sửa trêngiao diện danh sách Tour

o Hệ thống đưa ra thông báo hỏi “Bạn có muốn sửa Tour haykhông?”

o Hệ thống hiển thị giao diện sửa thông tin Tour Hệ thống load

danh sách loại tour và hướng dẫn viên vào điều khiển select của

HTML

o Người dùng nhập các thông tin cần thay đổi

o Nhấn nút Cập nhật để xác nhận thay đổi thông tin

o Nếu việc thay đổi thông tin thành công hệ thống sẽ đưa ra thôngbáo “Bạn đã cập nhật thông tin Tour thành công”

o Nếu sai thì thực hiện dòng rẽ nhánh A1

o Lưu thông tin danh sách Tour vào CSDL và load lại trang danhsách tour

 Xóa Tour

o Người dùng nhấn nút Xóa trên giao diện danh sách Tour

o Hệ thống sẽ đưa ra thông báo “Bạn có chắc chắn muốn xóakhông?”

o Nếu nhấn OK, hệ thống tiến hành xóa và hiển thị thông báo

Trang 38

 Quản trị viên, thành viên nhập lại thông tin.

 Quay lại bước 1 của dòng sự kiện chính

- Hậu điều kiện: Các thông tin về danh sách Tour được cập nhật vào CSDL

3.3.7 Use Case Quản lý thành viên

Hình 3.9 Biểu đồ Use Case Quản lý thành viên

- Tác nhân: Quản trị viên.

- Mô tả: Use case cho phép người dùng Xem danh sách thành viên, Thêm / Sửa /Xóa thông tin các thành viên có trong hệ thống

- Điều kiện trước: Quản trị viên đã đăng nhập vào hệ thống

- Dòng sự kiện chính:

 Quản trị viên chọn kiểu tác động: thêm, sửa hay xóa thông tin thành viêntrong hệ thống thông qua các nút chức năng tương ứng trên giao diện

 Thêm thông tin Thành viên

o Người dùng nhấn nút Thêm trên giao diện

o Hệ thống hiển thị giao diện nhập thông tin thành viên

o Người dùng nhập thông tin Thành viên mới (Tên đăng nhập,Mật khẩu, Quyền hạn, Địa chỉ, Số điện thoại…)

o Người dùng nhấn nút Thêm Thành viên

o Nếu thành công hệ thống sẽ đưa ra thông báo thêm thành viênthành công

o Nếu sai thực hiện dòng rẽ nhánh A1

Trang 39

o Lưu thông tin thành viên, load lại giao diện danh sách thànhviên.

 Sửa thông tin Thành viên

o Người dùng chọn thành viên và nhấn nút Sửa trên giao diệndanh sách Thành viên

o Hệ thống đưa ra thông báo hỏi “Bạn có muốn sửa Thành viênhay không?” Nếu người dùng chọn OK, chuyển sang bước tiếptheo Nếu người dùng chọn Cancel, hủy thao tác sửa, quay vềdanh sách

o Hệ thống hiển thị giao diện sửa thông tin thành viên

o Người dùng nhập các thông tin cần thay đổi

o Người dùng nhấn nút Cập nhật để xác nhận thay đổi thông tin

o Nếu việc thay đổi thông tin thành công hệ thống sẽ đưa ra thôngbáo “Bạn đã cập nhật thông tin Thành viên thành công”

o Nếu sai thì thực hiện dòng rẽ nhánh A1

o Lưu thông tin danh sách Thành viên vào CSDL và load lại trangdanh sách thành viên

Trang 40

 Quay lại bước 1 của dòng sự kiện chính.

- Hậu điều kiện: Các thông tin thành viên được cập nhật vào CSDL

3.3.8 Use Case Quản lý khuyến mại

Hình 3.10 Biểu đồ Use Case Quản lý khuyến mại

- Tác nhân: Quản trị viên, Thành viên.

- Mô tả: Use case cho phép người dùng Xem danh sách khuyến mại, Thêm /Sửa / Xóa thông tin các khuyến mại có trong hệ thống

- Điều kiện trước: Quản trị viên, Thành viên đã đăng nhập vào hệ thống

- Dòng sự kiện chính:

 Quản trị viên, thành viên chọn kiểu tác động: thêm, sửa hay xóa thông tinkhuyến mại trong hệ thống thông qua các nút chức năng tương ứng trên giaodiện

 Thêm thông tin Khuyến mại

o Người dùng nhấn nút Thêm trên giao diện hiển thị danh sáchkhuyến mại

o Hệ thống hiển thị giao diện nhập thông tin khuyến mại

o Người dùng nhập thông tin Khuyến mại mới

o Người dùng nhấn nút Thêm Khuyến mại

o Nếu thành công hệ thống sẽ đưa ra thông báo thêm khuyến mại

Ngày đăng: 19/10/2016, 23:18

TỪ KHÓA LIÊN QUAN

w