Tải bản đầy đủ (.docx) (85 trang)

Báo cáo phân tích và thiết kế website giới thiệu du lịch việt lào và đặt tour du lịch 2022

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.43 MB, 85 trang )


DANH SÁCH THUẬT NGỮ VIẾT TẮT

STT

Từ viết tắt

1

API

2

BTS

3

GPS

4

OOA

5

PHP

Ý nghĩa
Viết tắt của Application Programming Interface - Giao diện lập
trình ứng dụng.
Viết tắt của Base Transceiver Station -Trạm thu phát sóng di


động
Viết tắt của Global Positioning System - Hệ thống định vị tồn
cầu.
Viết tắt của Object Oriented Analysis - Phân tích theo hướng đối
tượng
Viết tắt của Hypertext Preprocessor - Ngôn ngữ lập trình kịch
bản mã nguồn mở


DANH SÁCH BIỂU ĐỒ

Hình 2. 2.1.1 Sơ đồ phân rã chức năng...............................................................16
Hình 2. 2.1.2Sơ đồ tổng quan hệ thống...............................................................17
Hình 2. 2.1.3 Biểu đồ hoạt động đăng ký............................................................18
Hình 2. 2.1.4 Biểu đồ hoạt động đăng nhập........................................................18
Hình 2. 2.1.5 Biểu đồ hoạt động tìm kiếm địa điểm...........................................19
Hình 2. 2.1.6Biểu đồ hoạt động xem địa điểm...................................................19
Hình 2. 2.1.7 Biểu đồ hoạt động xem dịch vụ du lịch........................................20
Hình 2. 2.1.8 Biểu đồ hoạt động thêm địa điểm du lịch......................................20
Hình 2. 2.1.9 Biểu đồ hoạt động thêm dịch vụ du lịch.......................................21
Hình 2. 2.1.10 Biểu đồ hoạt động thay đổi thơng tin tài khoản cá nhân............21
Hình 2. 2.1.11 Biểu đồ use case tổng quát.........................................................23
Hình 2. 2.1.12 Biểu đồ use case quản lý người dùng.........................................24
Hình 2. 2.1.13 Biểu đồ use case quản lý địa điểm..............................................25
Hình 2. 2.1.14 Biểu đồ use case quản lý loại địa điểm......................................26
Hình 2. 2.1.15 Biểu đồ use case quản lý dịch vụ...............................................27
Hình 2. 2.1.16 Biểu đồ use case quản lý loại dịch vụ........................................28
Hình 2. 2.1. 17 Biểu đồ use case quản lý nhận xét, hình ảnh.............................29
Hình 2. 2.1. 18 Biểu đồ use case quản lý tin tức................................................30
Hình 2. 2.1.19 Biểu đồ use case quản lý loại tin tức..........................................31

Hình 2. 2.1.20Biểu đồ use case quản lý dịch vụ của chủ dịch vụ......................32
Hình 2. 2.1.21 Biểu đồ use case quản lý thông tin cá nhân của người dùng.......33
Hình 2. 2.1. 22 Biểu đồ use case quản lý địa điểm của người dùng...................34
Hình 2. 2.1.23 Biểu đồ use case quản lý nhận xét của người dùng....................35
Hình 2. 2.1. 24 Biểu đồ use case quản lý địa phương của quản trị....................36
Hình 2. 2.3.1 Biểu đồ lớp tổng quát....................................................................37
Hình 2. 2.4.1 Biểu đồ tuần tự cho chức năng đăng nhập....................................50
Hình 2. 2.4.2 Biểu đồ tuần tự cho chức năng đăng ký......................................50
Hình 2. 2.4.3 Biểu đồ tuần tự cho chức năng thêm địa điểm của quản trị..........51


Hình 2. 2.4.4 Biểu đồ tuần tự cho chức năng sửa địa điểm của quản trị.............51
Hình 2. 2.4.5 Biểu đồ tuần tự cho chức năng thêm địa điểm của người dùng....52
Hình 2. 2.4.6Biểu đồ tuần tự cho chức năng thêm người dùng...........................52
Hình 2. 2.4.7 Biểu đồ tuần tự cho chức năng sửa thơng tin cá nhân...................53
Hình 2. 2.4.8 Biểu đồ tuần tự cho chức năng thêm dịch vụ................................53
Hình 2. 2.4.9 Biểu đồ tuần tự cho chức năng sửa dịch vụ...................................54
Hình 2. 2.4.10 Biểu đồ tuần tự cho chức năng thêm tin tức................................54
Hình2. 2.4.11 Biểu đồ tuần tự cho chức năng sửa tin tức...................................55
Hình 2. 2.4.12 Biểu đồ tuần tự cho chức năng tìm kiếm.....................................55
Hình 2. 2.4.13 Biểu đồ tuần tự cho chức năng thêm loại dịch vụ.......................56
Hình 2. 2.4.14 Biểu đồ tuần tự cho chức năng sửa loại dịch vụ..........................56


DANH SÁCH HÌNH ẢNH
Hình 2.3. Mơ hình quan hệ..................................................................................58
Hình 3. 1.1 Màn hình download Xampp.............................................................73
Hình 3. 1.2Giao diện SetUp................................................................................74
Hình 3. 2.1Thư mục chứa sourceCode................................................................75
Hình 3. 2.2Tạo Database.....................................................................................75

Hình 3. 2.3Giao diện sau khi chạy chương trình.................................................76


MỤC LỤC
DANH SÁCH THUẬT NGỮ VIẾT TẮT.............................................................2
DANH SÁCH BIỂU ĐỒ.......................................................................................3
DANH SÁCH HÌNH ẢNH...................................................................................5
LỜI NĨI ĐẦU.......................................................................................................1
Chương 1...............................................................................................................3
TỔNG QUAN VỀ ĐỀ TÀI...................................................................................3
1.1 Giới thiệu về hệ thống...............................................................................3
1.2 Cơ sở lý thuyết về cơ sở dữ liệu...............................................................3
1.3 Ngơn ngữ lập trình....................................................................................5
1.3.1

Ngơn ngữ HTML.................................................................................5

1.3.2. Ngôn ngữ CSS..........................................................................................7
1.3.3. Ngôn ngữ PHP.........................................................................................8
1.4. Laravel framework.....................................................................................9
1.5 Kết chương 2.............................................................................................11
Chương 2.............................................................................................................13
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG.........................................................13
2.1 Khảo sát hệ thống......................................................................................13
2.1.1

Mục đích............................................................................................13

2.1.2


Mơ tả hệ thống...................................................................................13

2.1.3 Nhóm chức năng chính...........................................................................14
2.2 Phân tích hệ thống...................................................................................16
2.2.1 Mơ hình hóa chức năng nghiệp vụ..........................................................16
2.2.2 Xây dựng biểu đồ Use Case....................................................................22
2.2.3 Xây dựng biểu đồ lớp..............................................................................36
2.2.4 Xây dựng biểu đồ tuần tự........................................................................49


2.3 Thiết kế cơ sở dữ liệu................................................................................58
2.3.1 Mơ hình quan hệ.....................................................................................58
2.3.2 Danh sách các bảng trong mơ hình quan hệ............................................58
2.4 Thiết kế giao diện tổng quan...................................................................67
b. Giao diện đăng nhập quản trị.......................................................................67
2.5 Kết chương................................................................................................72
Chương3 :
CÀI ĐẶT ỨNG DỤNG......................................................................................73
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN...........................................................77
1. Tổng kết.......................................................................................................77
2. Hướng phát triển..........................................................................................77
TÀI LIỆU THAM KHẢO...................................................................................78


LỜI NÓI ĐẦU
Việt Nam là đất nước được thiên nhiên ban tặng nhiều danh lam thắng cảnh
đẹp. Đó là những điểm đến du lịch hấp dẫn đối với khách trong nước và đặc biệt là du
khách nước ngoài. Tuy nhiên với đặc thù của người du lịch là lần đầu tiên ghé thăm,
khơng có nhiều kinh nghiệm hoặc khơng biết nhiều về điểm du lịch như vị trí, thời tiết,
nơi nghỉ chân và các dịch vụ ăn uống khác. Nhưng thay vào đó hầu như vị khách nào

cũng sử dụng thiết bị truy cập mạng hoặc các thiết bị điện thoại thơng minh.
Qua u cầu thực tế đó nhóm đã tìm hiểu cũng như đánh giá đi đến giải pháp
xây dựng Hệ thống hỗ trợ thông tin du lịch và phát triển xây dựng ứng dụng trên thiết
bị di động chạy trên nền tảng Android. Ứng dụng hoàn thành sẽ giới thiệu cho du
khách những sự lựa chọn địa điểm du lịch hấp dẫn nhất hoặc những địa điểm du lịch
theo tỉnh vùng cùng với những thông tin của địa điểm đó như: món ăn nổi tiếng, các lễ
hội, những hình ảnh đặc trưng nhất...; cung cấp thêm các thơng tin về thời tiết khu vực,
nơi nghỉ dưỡng, ăn uống. Website và ứng dụng trên điện thoại cũng cung cấp các chức
năng về chia sẻ, bình luận và bài giới thiệu về địa điểm để làm tài liệu tham khảo cho
các du khách khác. Ngồi ra nhiều loại hình du lịch mới và các chức năng hữu ích cho
người dùng sẽ được cập nhật, bổ sung trong quá trình phát triển.
Nội dung của đồ án bao gồm:
Chương 1: Tổng quan về đề tài: Giới thiệu sơ lược về mục tiêu đề tài và các
cơ sở lý thuyết liên quan.
Chương 2: Phân tích hệ thống: Chương này đi sâu vào tiếp cận hệ thống được
xây dựng trong đề tài từ các bước khảo sát, phân tích hệ thống.
Chương 3: Thiết kế hệ thống: Thiết kế cơ sở dữ liệu và giao diện hệ thống
trong đề tài.
Kết luận và hướng phát triển: Đưa ra kết quả và đánh giá hệ thống, hướng
phát triển trong tương lai của hệ thống.
Trên thực tế không có sự thành cơng nào mà khơng gắn liền với những sự hỗ
trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác
Với lòng biết ơn sâu sắc nhất, nhóm em xin gửi lời cảm ơn chân thành tới tồn
thể các thầy cơ giáo trong khoa Công nghệ thông tin, những người đã dạy dỗ và truyền
đạt vốn kiến thức vô cùng quý báu của mình cho chúng em trong suốt quãng thời gian
học tại đây. Những tình cảm và kiến thức mà thầy cơ đã gửi trao cho chúng em sẽ là
hành trang cho chúng em để bước đi trên những đoạn đường tương lai.
Một lần nữa em xin được chân thành cảm ơn!.




Chương 1
TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu về hệ thống
Lào là một vùng đất thanh bình và đạm nét cổ kính tơn nghiêm của những ngơi
chùa tháp, đất nước “Triệu Voi” đã và đang làm say lòng nhiều du khách quốc tế.
Những năm qua, ngành du lịch của Lào phát triển mạnh mẽ mang lại nhiều kết quả
tích cực và trở thành một trong những ngành mũi nhọn của nền kinh tế Lào
Trên thực tế có những website (travel.com.vn, skydoor.net,…) đã giải quyết vấn đề
về tra cứu thông tin du lịch nhưng vẫn chưa thực sự đầy đủ. Đi kèm với đó cịn tồn tại
các mặt hạn chế:
-

Nguồn thơng tin chưa xác thực, cịn mang tính quảng cáo nhiều khiến người

-

dùng bị lỗng thơng tin.
Thiếu một vài chức năng mà theo phần lớn người dùng thì những điều này là
cần thiết như xác định địa điểm hiện tại, xem thời tiết tại vị trí du lịch.

Từ yêu cầu thực tế đó và cũng như phân tích từ những sản phẩm đi trước, nhóm đã
tìm hiểu cũng như đánh giá để đi đến giải pháp xây dựng Hệ thống hỗ trợ thông tin du
lịch để khắc phục những hạn chế cịn tồn động trên. Cùng với đó, nhóm cịn xây dựng
cả website và ứng dụng trên điện thoại di động chạy hệ điều hành android như một thể
thống nhất, để du khách có thể tiện truy cập theo hai hình thức như trên.
Trang web mà đề tài hướng đến sẽ cung cấp đầy đủ thông tin cho những ai
muốn đi du lịch Lào. Người dùng có thể đặt những câu hỏi về điểm đến, khách sạn,
nhà hàng, thời tiết hay bất cứ câu hỏi gì khác, hệ thống sẽ cung cấp cho bạn đầy đủ
thơng tin hoặc có rất nhiều người từ có kinh nghiệm hoặc hiểu biết sẽ trả lời cho bạn.

Những chuyến đi và kinh nghiệm thực tế được người dùng chia sẻ cho những người
khác, từ đó bạn có thể dễ dàng thiết kế lịch trình cho chuyến đi của mình.
1.2 Cơ sở lý thuyết về cơ sở dữ liệu
Hệ thống sử dụng hệ cơ sở dữ liệu MySQL.
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nhanh và dễ dàng.
MySQL đang được sử dụng cho nhiều công việc kinh doanh từ lớn tới nhỏ, nó được
phát triển, được cơng bố, được hỗ trợ bởi MySQL AB, là một công ty của Thụy Điển.
Hệ cơ sở dữ liệu này đã trở thành khá phổ biến vì nhiều lý do:




MySQL là mã nguồn mở.



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át
triể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ữa
trong 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 chúng ta có thể tăng kích cỡ này (nếu hệ điều hành có thể xử lý nó) để đạt
tới giới hạn lý thuyết là 8 TB.



MySQL là có thể điều chỉnh. Giấy phép GPL mã nguồn mở cho phép lập trình
viên sửa đổi phần mềm MySQL để phù hợp với môi trường cụ thể của họ.
MySQL sử dụng nhiều kiểu dữ liệu, được chia thành 3 loại: kiểu số, kiểu date và

time, và kiểu chuỗi.
Kiểu dữ liệu số trong MySQL
MySQL sử dụng tất cả các kiểu dữ liệu số theo chuẩn ANSI SQL. Các kiểu dữ
liệu số phổ biến gồm:


INT: Một số nguyên với kích cỡ thơng thường, có thể là signed hoặc unsigned.
Nếu có dấu, thì dãy giá trị có thể là từ -2147483648 tới 2147483647, nếu khơng
dấu thì dãy giá trị là từ 0 tới 4294967295. Chúng ta có thể xác định một độ rộng
lên tới 11 chữ số.




TINYINT: Một số ngun với kích cỡ rất nhỏ, có thể là signed hoặc unsigned.
Nếu có dấu, thì dãy giá trị có thể là từ -128 tới 127, nếu khơng dấu thì dãy giá trị
là từ 0 tới 255. Chúng ta có thể xác định một độ rộng lên tới 4 chữ số.




SMALLINT: Một số ngun với kích cỡ nhỏ, có thể là signed hoặc unsigned.
Nếu có dấu, thì dãy giá trị có thể là từ -32768 tới 32767, nếu khơng dấu thì dãy
giá trị là từ 0 tới 65535. Chúng ta có thể xác định một độ rộng lên tới 5 chữ số.



MEDIUMINT: Một số ngun với kích cỡ trung bình, có thể là signed hoặc
unsigned. Nếu có dấu, thì dãy giá trị có thể là từ -8388608 tới 8388607, nếu
khơng dấu thì dãy giá trị là từ 0 tới 16777215. Chúng ta có thể xác định một độ
rộng lên tới 9 chữ số.



BIGINT: Một số nguyên với kích cỡ lớn, có thể là signed hoặc unsigned. Nếu


dấu,thì

dãy

giá


trị



thể



từ

-9223372036854775808

tới

9223372036854775807, nếu khơng dấu thì dãy giá trị là từ 0 tới
18446744073709551615. Chúng ta có thể xác định một độ rộng lên tới 20 chữ
số.


FLOAT(M,D): Một số thực dấu chấm động không dấu. Chúng ta có thể định
nghĩa độ dài hiển thị (M) và số vị trí sau dấy phảy (D). Điều này là khơng bắt
buộc và sẽ có mặc định là 10,2: với 2 là số vị trí sau dấu phảy và 10 là số chữ số
(bao gồm các phần thập phân). Phần thập phân có thể lên tới 24 vị trí sau dấu
phảy đối với một số FLOAT.



DOUBLE(M,D): Một số thực dấu chấm động khơng dấu. Chúng ta có thể định
nghĩa độ dài hiển thị (M) và số vị trí sau dấy phảy (D). Điều này là khơng bắt

buộc và sẽ có mặc định là 16,4: với 4 là số vị trí sau dấu phảy và 16 là số chữ số
(bao gồm các phần thập phân). Phần thập phân có thể lên tới 53 vị trí sau dấu
phảy đối với một số DOUBLE. REAL là đồng nghĩa với DOUBLE.



DECIMAL(M,D): Một kiểu khác của dấu chấm động không dấu. Mỗi chữ số
thập phân chiếm 1 byte. Việc định nghĩa độ dài hiển thị (M) và số vị trí sau dấy
phảy (D) là bắt buộc. NUMERIC là một từ đồng nghĩa cho DECIMAL.

1.3 Ngôn ngữ lập trình
1.3.1 Ngơn ngữ HTML
Ngơn ngữ HTML (HyperText Markup Language – ngôn ngữ siêu văn bản) là
một trong các loại ngơn ngữ được sử dụng trong lập trình web. Khi truy cập một trang


web cụ thể là click vào các đường link, chúng ta sẽ được dẫn tới nhiều trang các nhau,
và các trang này được gọi là một tài liệu HTML (tập tin HTML).
Một trang HTML như vậy được cấu thành bởi nhiều phần tử HTML nhỏ và được
quy định bằng các thẻ tag. Chúng ta có thể phân biệt một trang web được viết
bằng ngôn ngữ HTML hay PHP thông qua đường link của nó. Ở cuối các trang HTML
thường hay có đi là .HTML hoặc .HTM
HTML là ngơn ngữ lập trình web được đánh giá là đơn giản. Mọi trang web, mọi
trình duyệt web đều có thể hiển thị tốt ngôn ngữ HTML. Hiện nay, phiên bản mới nhất
của HTML là HTML 5 với nhiều tính năng tốt và chất lượng hơn so với các phiên bản
cũ của HTML.
Vai trò của HTML trong lập trình web:
HTML là một loại ngơn ngữ đánh dấu siêu văn bản nên các chức năng của nó
cũng xoay quanh yếu tố này. Cụ thể, HTML giúp cấu thành các cấu trúc cơ bản trên
một website (chia khung sườn, bố cục các thành phần trang web) và góp phần hỗ trợ

khai báo các tập tin kĩ thuật số như video, nhạc, hình ảnh.
Ưu điểm nổi trội nhất và cũng là thế mạnh của HTML là khả năng xây dựng cấu
trúc và khiến trang web đi vào quy củ một hệ thống hoàn chỉnh. HTML chứa những
yếu tố cần thiết mà dù website có thuộc thể loại nào, giao tiếp với ngơn ngữ lập trình
nào để xử lý dữ liệu thì nó vẫn phải cần đến ngơn ngữ HTML để hiển thị nội dung cho
người truy cập.
Đối với các lập trình viên hay nhà phát triển web, họ đều phải học HTML như
một loại ngôn ngữ cơ bản trước khi bắt tay vào thiết kế trang web nào.
Các thẻ trong HTML:
Các trang HTML được quy định bằng các thẻ tag. Những thẻ này được chứa
trong các dấu ngoặc đơn dạng: <tên thẻ>. Trừ một vài thẻ đặc biệt, hầu hết các thẻ cơ
bản đều có các thẻ đóng tương ứng với nó. Ví dụ, thẻ <html> có thẻ đóng tương ứng


là </html>, thẻ <body> có thẻ đóng tương ứng là </body> … Bảng 1.1 là các mẫu thẻ
tag thường gặp trong HTML.
Bảng 1.1. Các mẫu thẻ thường gặp trong HTML

Tag

DOCTYPE…>

<html>

Giải thích

Cịn gọi là thẻ khai báo một tài liệu HTML. Thẻ này xác định loại
tài liệu và phiên bản HTML.


Thẻ này chứa đựng các tài liệu HTML đầy đủ. Ở đầu trang sẽ xuất
hiện các thẻ <head>, </head> và thân tài liệu là các thẻ <body>,
</body> .

<head>

Thẻ này đại diện cho đầu trang tài liệu mà có thể giữ các thẻ
HTML như <title>, <link> …

<title>

Thẻ <title> được sử dụng trong thẻ <head> chỉ tiêu đề tài liệu.

<body>

Thẻ này đại diện cho thân tài liệu và giữ các thẻ như

, <div>,





Thẻ tag này đại diện cho các tiêu đề trang.



Thẻ tag này đại diện cho định dạng các đoạn văn trong trang web.

1.3.2. Ngôn ngữ CSS
Định nghĩa



CSS là viết tắt của Cascading Style Sheets. Đây là một ngôn style sheet được sử
dụng để mô tả giao diện và định dạng của một tài liệu viết bằng ngơn ngữ đánh dấu
(markup). CSS cung cấp một tính năng bổ sung cho HTML. CSS thường được sử
dụng với HTML để thay đổi phong cách của trang web và giao diện người dùng. Ngơn
ngữ này cũng có thể được sử dụng với bất kỳ loại tài liệu XML nào bao gồm cả XML
đơn giản, SVG và XUL.
CSS được sử dụng cùng với HTML và JavaScript trong hầu hết các trang web để
tạo giao diện người dùng cho các ứng dụng web và giao diện người dùng cho nhiều
ứng dụng di động.
Ba lợi ích chính của CSS


Giải quyết một vấn đề lớn:
Trước khi có CSS, các thẻ như phơng chữ, màu sắc, kiểu nền, các sắp xếp phần

tử, đường viền và kích thước phải được lặp lại trên mọi trang web. Đây là một quá
trình rất dài tốn thời gian và công sức.


Tiết kiệm rất nhiều thời gian:
Định nghĩa kiểu CSS được lưu trong các tệp CSS bên ngồi vì vậy có thể thay

đổi tồn bộ trang web bằng cách thay đổi chỉ một tệp.


Cung cấp thêm các thuộc tính:
CSS cung cấp các thuộc tính chi tiết hơn HTML để định nghĩa giao diện của

trang web.
1.3.3. Ngôn ngữ PHP




Giới thiệu chung:
PHP khởi đầu như là một dự án mã nguồn mở nhỏ, nhưng theo đà phát triển,

ngày càng nhiều người thấy rằng nó càng ngày càng hữu ích. 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ủa cá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ên mạ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 Database và giúp cho
người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố
mã nguồn của PHP/FI cho mọi người xem, 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 viết hồi qui của "PHP: Hypertext Preprocessor".
PHP là ngơn ngữ lập trình kịch bản viết cho máy chủ mà được nhúng trong
HTML. Nó được sử dụng để quản lý nội dụng động, Database, Session tracking, …
PHP được tích hợp với một số Database thông dụng như MySQL, PostgreSQL,
Oracle, Sybase, Informix, và Microsoft SQL Server.
PHP thực thi rất tuyệt vời, đặc biệt khi được biên dịch như là một Apache
Module trên Unix side. MySQL Server, khi được khởi động, thực thi các truy vấn phức
tạp với các tập hợp kết quả khổng lồ trong thời gian Record-setting.
PHP hỗ trợ một số lượng rộng rãi các giao thức lớn như POP3, IMAP, và LDAP.
PHP4 bổ sung sự hỗ trợ cho Java và các cấu trúc đối tượng phân phối (COM và
CORBA).
Cú pháp PHP là giống C.




Đặc trưng của PHP

Các đặc trưng quan trọng làm PHP trở thành ngơn ngữ khá tiện lợi:


Đơn giản hóa



Hiệu quả



Bảo mật cao



Linh động



Thân thiện

1.4. Laravel framework
Framework là một thư viện các hàm xây dựng sẵn, chuyên dùng phục vụ cho
cơng việc lập trình PHP. Việc sử dụng các framework hỗ trợ cơng việc lập trình nhanh
hơn, tiết kiệm thời gian và đảm bảo bảo mật hơn cho hệ thống. Một PHP Framework
thường được xây dựng trên mơ hình MVC.



Cho tới năm 2015, thì Framework laravel hiện đang đứng top 1 thế giới về mức
độ phổ biến và ưu dùng. Được cộng đồng hỗ trợ phát triển mạnh mẽ. Tháng 8 năm
2014, Laravel Framework được xem như là một dự án PHP phổ biến nhất trên Github.
Sau nhiều lần được cộng đồng Laravel thế giới hỗ trợ phát triển thì phiên bản
mới nhất hiện nay là Laravel 5.2 và sắp tới là phiên bản 5.3.
Các tính năng cơ bản của Laravel Framework


Bundles: Ở laravel phiên bản 3.x, cung cấp một hệ thống đóng gói các module,
với rất nhiều tính năng đi kèm.



Composer: Ở laravel phiên bản 4.x, được sử dụng như một cơng cụ quản lý với
tính năng như thêm các gói cài đặt, các chức năng PHP phụ trợ cho Laravel có
trong kho Packagist.



Eloquent ORM (object relation mapping): ánh xạ các đối tượng và quan hệ cơ
sở dữ liệu, cung cấp các phương thức nội bộ để thực thi đồng thời cũng bổ sung
các tính năng hạn chế về mối quan hệ giữa các đối tượng cơ sở dữ liệu. Eloquent
ORM trình bày các bảng trong cơ sở dữ liệu dưới dạng các lớp, cung cấp thêm
lựa chọn truy cập cơ sở dữ liệu trực tiếp mới mẻ hơn, chuyên nghiệp hơn.



Application logic: Là một phần của phát triển ứng dụng, được sử dụng bởi bộ

điều khiển controllers.



Routes: Định nghĩa mối quan hệ giữa các đường dẫn (url), các liên kết (link) .
Khi một liên kết được tạo ra bằng cách sử dụng tên của routes, thì một định danh
liên kết thống nhất sẽ được tạo ra bởi laravel.



Restful Controller: cung cấp các tùy chọn để tách các logic phía sau các
request HTTP POST, GET.



Class auto loading: cung cấp việc tải tự động các class trong PHP, mà không
cần include các class vào. Tùy thuộc vào yêu cầu các class cần thiết sẽ được nạp
vào, hạn chế các class không cần thiết.



View: chứa các mã html, hiển thị dữ liệu được chỉ định bởi controller



Migrations: cung cấp một hệ thống kiểm soát các phiên bản lược đồ cơ sở dữ
liệu (database cheme), làm cho web ứng dụng có khả năng tương tác phù


hợp những thay đổi logic, các đoạn mã code của ứng dụng và những thay đổi cần

thiết trong việc bố trí cơ sở dữ liệu, triển khai nới lỏng và cập nhật các ứng dụng.


Unit Testing: đóng một vai trị quan trọng trong Laravel, Unit testting chứa rất
nhiều các hệ thống unit testing, giúp phát hiện và ngăn chặn lỗi trong khn khổ
nhất định. Unit Testing có thể đượcchạy thơng qua tiện ích command-line.



Automatic pagination: Tính năng tự động phân trang được tích hợp
vào Laravel giúp đơn giản hóa các nhiệm vụ thực hiện phân trang so với các
phương pháp thơng thường.

1.5 Kết chương 2
Từ những phân tích trên về cơ sở lý thuyết các công nghệ trên, em sử dụng Laravel
framework để xây dựng các chức năng cho website quản lý và giới thiệu tour du lịch
Lào và hệ cơ sở dữ liệu MySQL để lưu trữ và quản lý dữ liệu hệ thống. Mặc dù các
công nghệ này còn tồn tại những nhược điểm nhất định, nhưng em sẽ tận dụng các ưu
điểm của các công nghệ này để xây dựng website quản lý và giới thiệu tour du lịch
Lào với các chức năng hoạt động tốt nhất có thể



Chương 2
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 Khảo sát hệ thống
2.1.1 Mục đích
Hiện nay các Website về thơng tin du lịch khá nhiều, nhưng chỉ mang tính chất
quảng cáo cho các dịch vụ du lịch. Việc tìm được thơng tin chính xác về địa điểm,
cảnh quan và những đánh giá khách quan từ phía người dùng đều gặp khó khăn. Hệ

thống hỗ trợ thông tin du lịch được xây dựng trên cả nền web và ứng dụng di động để
khắc phục những nhược điểm đó, ngồi ra cịn cung cấp thêm các tiện ích khác sẽ nói
rõ trong mơ tả hệ thống.
Người dùng có thể dễ dàng xem thời tiết tại địa điểm, chỉ đường, thao tác thêm các
địa điểm du lịch mới và đăng tải hình ảnh về địa điểm du lịch dễ dàng qua điện thoại
di động, đồng thời cảnh báo sự cố tại một địa điểm du lịch nào đó cho những người
dùng khác trong hệ thống.
Những nhóm người cung cấp dịch vụ như chủ nhà hàng khách sạn tham gia vào hệ
thống, giới thiệu về loại hình dịch vụ mà mình cung cấp cho khách du lịch mà ở đây là
người dùng hệ thống tham khảo và lựa chọn.
2.1.2 Mô tả hệ thống
-

Hệ thống được xây dựng với nhiệm vụ đầu tiên là cung cấp thông tin về các địa

-

điểm du lịch Lào.
Khi đã đăng nhập vào hệ thống, người dùng có thể truy cập hệ thống để xem thơng
tin về địa điểm, tình hình thời tiết tại địa điểm, các bình luận và hình ảnh của người
dùng trong hệ thống đăng tải về địa điểm nhằm giới thiệu kinh nghiệm du lịch của
họ cho những người khác, được tìm kiếm địa điểm du lịch có sẵn trong hệ thống.
Đồng thời người dùng cũng được phép bình luận và đăng tải hình ảnh trải nghiệm
về các địa điểm, lưu lại địa điểm du lịch và các đơn vị cung cấp dịch vụ để xem
sau, chia sẻ địa điểm lên các trang mạng xã hội; thêm địa điểm du lịch mới được
phát hiện và khai phá nhanh chóng bằng cách đăng tải hình ảnh địa điểm, vị trí địa

-

điểm này có thể được định vị tự động hoặc do người dùng viết.

Nhóm chủ nhà hàng khách sạn cung cấp các dịch vụ du lịch được phép truy cập hệ
thống như một khách du lịch, đồng thời nhóm người này có thể thêm thơng tin như


giá tiền, các dịch vụ nhà hàng khách sạn mà mình cung cấp cho khách du lịch biết
-

đến.
Nhóm quản trị sẽ quản trị các tài khoản người dùng (cấp quyền, sửa, vô hiệu tài
khoản), thông tin địa điểm du lịch, dữ liệu Tỉnh thành, quản lý các bài viết của
nhóm người dùng còn lại, quản lý tin tức du lịch, quản lý loại hình dịch vụ.

2.1.3 Nhóm chức năng chính
2.1.3.1 Chức năng dành cho “Khách du lịch”
-

Đăng nhập hệ thống với quyền của mình.
Thay đổi thơng tin cá nhân và mật khẩu cá nhân.
Xem thông tin địa điểm du lịch, xem tin tức du lịch và dịch vụ.
Bật chỉ đường tới địa điểm du lịch.
Chia sẻ thông tin địa điểm du lịch.
Bình luận và đăng tải hình ảnh về địa điểm du lịch.
Thêm địa điểm du lịch mới
Tìm kiếm địa điểm du lịch

2.1.3.2 Chức năng dành cho “Nhóm dịch vụ”
-

Có các chức năng như nhóm “Khách du lịch”
Quản lý thơng tin dịch vụ của mình, bao gồm:

+ Tạo mới thơng tin về dịch vụ mà mình cung cấp.
+ Sửa thơng tin dịch vụ mà mình cung cấp.
+ Vơ hiệu hóa thơng tin dịch vụ mà mình cung cấp.

2.1.3.3 Chức năng dành cho “Quản trị viên”
-

-

-

-

Đăng nhập hệ thống toàn quyền.
Thay đổi thông tin cá nhân và mật khẩu cá nhân.
Quản lý danh sách người dùng (Nhóm dịch vụ, Khách du lịch, Thành viên ban
quản trị) gồm các hoạt động:
+ Cấp quyền truy cập hệ thống cho người dùng.
+ Cấp lại mật khẩu cho người dùng.
+ Vơ hiệu hóa tài khoản người dùng.
Quản trị địa điểm du lịch gồm hoạt động:
+ Tạo mới địa điểm.
+ Sửa thông tin địa điểm.
+ Vô hiệu hóa địa điểm.
Quản trị bình luận, hình ảnh về địa điểm du lịch/dịch vụ/tin tức
+ Thêm bình luận, hình ảnh về địa điểm du lịch/dịch vụ/tin tức
+ Sửa bình luận, hình ảnh về địa điểm du lịch/dịch vụ/tin tức
+ Xóa bình luận, hình ảnh về địa điểm du lịch/dịch vụ/tin tức
Quản trị thông tin dịch vụ gồm họat động:
+ Thêm thông tin dịch vụ.

+ Sửa thông tin dịch vụ.
+ Xóa thơng tin dịch vụ.


-

-

Quản trị danh mục địa phương (xã-huyện-tỉnh), gồm hoạt động:
+ Thêm địa phương vào danh mục.
+ Sửa địa phương trong danh mục.
+ Xóa địa phương khỏi danh mục.
Quản trị tin tức du lịch gồm hoạt động:
+ Đăng tải tin tức.
+ Sửa tin tức.
+ Xóa tin tức.


2.2

Phân tích hệ thống

2.2.1 Mơ hình hóa chức năng nghiệp vụ
2.2.1.1 Sơ đồ phân rã chức năng

Hình 2.2.1. 1 Sơ đồ phân rã chức năng


2.2.1.2 Sơ đồ tổng quan hệ thống


Hình 2.2.1. 2Sơ đồ tổng quan hệ thống


2.2.1.3 Biểu đồ hoạt động
a. Biểu đồ hoạt động quy trình đăng kí tài khoản người dùng

Hình 2.2.1. 3 Biểu đồ hoạt động đăng ký
b. Biểu đồ hoạt động quy trình đăng nhập hệ thống

Hình 2.2.1. 4 Biểu đồ hoạt động đăng nhập


×