Tải bản đầy đủ (.doc) (60 trang)

Báo cáo booking du lịch

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 (809.86 KB, 60 trang )

ĐẠI HỌC ABC

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

Độc lập - Tự do – Hạnh phúc

ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Họ và tên sinh viên: Nguyễn văn a
Lớp: IT16A1.11

Khoá: 2016 - 2020

Ngành đào tạo: Công nghệ phần mềm

Hệ đào tạo: Đại học

1/ Tên đồ án tốt nghiệp:
Xây dựng hệ thống Booking Tour .

2/ Nội dung chính của đồ án:
Xây dựng website Booking Tour tích hợp thanh tốn Online

3/ Cơ sở dữ liệu ban đầu
Quy trình hoạt động đặt Tour và tour online.
Quy trình hoạt động thanh toán online.
Kĩ thuật thiết kế website với ngôn ngữ PHP sử dụng framework Laravel và MySQL.

4/ Ngày giao đồ án: ……………………..
5/ Ngày nộp đồ án : ……………………..


TRƯỞNG BỘ MÔN (Duyệt)

GIÁO VIÊN HƯỚNG DẪN

(Ký, ghi rõ họ tên)

(Ký, ghi rõ họ tên)

TRƯỞNG KHOA


ii

LỜI CAM ĐOAN
Em xin cam đoan những kết quả đạt được trong báo cáo này là do em nghiên
cứu, tổng hợp và thực hiện dựa trên sự hướng dẫn của Th.S Nguyễn Quốc Vương,
không sao chép lại bất kỳ điểu gì của cá nhân khác. Những nội dung được trình bày
trong báo cáo là của cá nhân và được tham khảo và tổng hợp từ các nguồn tài liệu khác
nhau. Tất cả tài liệu tham khảo, tổng hợp đều được trích dẫn với nguồn gốc rõ ràng.
Em xin hồn tồn chịu trách nhiệm về lời cam đoan của mình. Nếu có điều gì
sai trái, Em xin chịu mọi hình thức kỷ luật theo quy định.
Đà Nẵng, 28 tháng 04 năm 2022

Nguyễn văn a


iii

LỜI CẢM ƠN
Trải qua 4 năm học tập tại trường Đại học ABC, em đã được các quý thầy cô

tận tình giảng dạy và giúp đỡ, dẫn đường đến con đường thành công cùng những kiến
thức và trải nghiệm vô cùng quý giá. Đây là một chặng đường dài cùng những hành
trang quan trọng trong sự nghiệp tương lai của bản thân em.
Vì vậy, đầu tiên em muốn gửi lời cảm ơn tới các thầy cô trong khoa Công Nghệ
Thông Tin, đặc biệt là thầy Nguyễn Quốc Vương đã tận tình giúp đỡ, hướng dẫn để em
có thể hồn thành đồ án tốt nghiệp này. Và em cũng gửi lời cảm ơn đến ban giám hiệu
nhà trường cùng tất cả thầy cô khác tại trường Đại Học ABC.
Mặc dù em đã cố gắng và nỗ lực trong suốt quá trình học tập, nhưng khơng thể
tránh khỏi những thiếu sót về kiến thức, kĩ năng và thái độ. Em rất mong nhận được sự
chỉ bảo, góp ý chân thành từ các thầy, cô cùng tất cả các bạn.
Em xin chân thành cảm ơn,
Đà Nẵng, 28 tháng 04 năm 2022
Nguyễn văn a


iv

LỜI MỞ ĐẦU
Trong hoạt động môi giới kinh doanh. Giờ đây, đặt tour trực tuyến đã khẳng
định được vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp. Đối với một
khách sạn hay homestay, việc quảng bá và giới thiệu tour đến khách hàng các dịch vụ
mới sẽ đáp ứng được nhu cầu của khách hàng. Bắt kịp xu thế công nghệ thông tin đang
tăng cao, cùng với sự bùng nổ về công nghệ 4.0 đã thay đổi hành vi của khách hàng
dần dịch chuyển sang các trang đặt tour trực tuyến tại nhà. Vì vậy, một trang đặt tour
điện tử cho khách sạn hoặc homestay là điều mà các người chủ nào cũng muốn sở hữu.
Đó là lý do em đã thực hiện đồ án “Xây dựng hệ thống Booking Tour tích hợp
Thanh tốn Online sử dụng Laravel Framework”. Trên trang đặt tour trực tuyến này,
quản trị viên có thể đưa lên các tour và quản lý, theo dõi các đơn đặt tour, lợi nhuận,
phản hồi của khách hàng. Đồng thời, khách hàng cũng có thể trở thành thành viên của
khách sạn, có thể tự do đặt tour, theo dõi đơn đặt tour và tham khảo các tour cũng như

dịch vụ của khách sạn mà không cần phải đến trực tiếp. Ngồi ra, trang web cịn mang
lại cho người dùng một trải nghiệm đặt tour mới mẻ, hiện đại nhờ vào thiết kế hiện đại
cùng với sự tối giản của website.
Với sự hướng dẫn tận tình của Thầy Nguyễn Quốc Vương em đã hoàn thành bài
báo cáo đồ án này. Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ
thống nhưng chắc rằng khơng tránh khỏi những thiếu sót. Em rất mong nhận được sự
thơng cảm và góp ý của các quý thầy, cô.
Em xin chân thành cảm ơn,
Nguyễn văn a


v

CHƯƠNG 1: M
ỤC LỤC
LỜI CAM ĐOAN.........................................................................................................................ii
LỜI CẢM ƠN..............................................................................................................................iii
LỜI MỞ ĐẦU..............................................................................................................................iv
Nguyễn văn a...............................................................................................................................iv
CHƯƠNG 1: MỤC LỤC..............................................................................................................v
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT...........................................................................................1
1.1. LÝ THUYẾT CHUNG.....................................................................................................1
1.2. LARAVEL FRAMEWORK............................................................................................9
1.3. BOOTSTRAP FRAMEWORK....................................................................................14
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG.......................................................16
2.1. PHÂN TÍCH BÀI TỐN...............................................................................................16
2.2. PHÂN TÍCH THIẾT......................................................................................................16
2.3. CẤU HÌNH HỆ THỐNG...............................................................................................40
2.4. GIAO DIỆN NGƯỜI DÙNG........................................................................................40
CHƯƠNG 3: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN......................................................47

3.1. KẾT LUẬN......................................................................................................................47
3.2. HƯỚNG PHÁT TRIỂN.................................................................................................47
HỌC LIỆU THAM KHẢO......................................................................................................49


-1-

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
1.1. LÝ THUYẾT CHUNG
1.1.1. Booking Online
Booking online có thể hiểu là đặt trực tuyến. Cụ thể, trong lĩnh vực du lịch chính
là đặt tour khách sạn, nhà nghỉ hay các dịch vụ tour, vé tàu thông qua một hệ thống
hay các phương tiện quảng bá như: website, mạng xã hội, dịch vụ quảng cáo, email….
Với thời đại công nghệ số 4.0 bùng nổ như hiện nay thì việc Booking online
khơng cịn q xa lạ mà ngược lại chúng còn rất tiện lợi và thường được rất nhiều công
ty, hoạt động tổ chức lựa chọn. Booking online cịn có thể giúp cho cơng ty quản lý
việc cài đặt, lưu trữ thông tin của khách hàng hay xây dựng các chương trình giảm giá
một cách thuận tiện.
Ví dụ đơn giản, trước đây để có thể đặt tour khách sạn, nhà nghỉ… bắt buộc bạn
phải liên lạc với quầy lễ tân để trao đổi, đặt tour rồi làm các thủ tục khá phức tạp. Thế
nhưng hầu hết hiện nay các công ty về lĩnh vực du lịch đã phát triển hệ thống đặt
vé/đặt hàng hay đặt tour khách sạn trực tuyến, giúp bạn có thể dễ dàng truy cập cũng
như tiết kiệm thời gian của cả hai bên.
Hiện tại có nhiều mơ hình Booking online khác nhau. Dưới đây là một số các mơ
hình phổ biến và đã thành cơng trên thế giới:

1.1.2. Mơ hình Booking Online B2B (Business to Business)
Đây là mơ hình Booking Online dựa trên mối quan hệ giữa các chủ khách sạn với
nhau. Một bên cung cấp các giải pháp Booking Online một bên sử dụng ứng dụng đó
để tìm và đặt tour. Điển hình của mơ hình này chính là trang Booking.com tạo ra môi

trường trung gian cho các khách sạn và homestay thuê các gian hàng để giới thiệu về
khách sạn của họ.

1.1.3. Mơ hình Booking Online B2C (Business to Customer)
Đây là mơ hình Booking Online giữa khách sạn trực tiếp với khách hàng. Nghĩa
là doanh nghiệp đưa danh sách tour của mình lên internet, khách hàng xem thơng tin
tour, đặt tour, nhận thông tin đặt tour qua mạng với các sản phẩm số, qua việc thanh
tốn online.
Điển hình của mơ hình B2C là Mường Thanh Tour. Một trong những khách sạn
lớn nhất tại Đà Nẵng. Mường Thanh Tour đưa thông tin khách sạn của mình lên
internet, khách hàng đặt tour, Mường Thanh Tour cho phép khách hàng thanh toán
online hoặc thanh tốn khi nhận tour.

1.1.4. Tình trạng phát triển Booking Online ở Việt Nam
Ở Việt Nam hiện tại đã xuất hiện nhiều Sites Booking Online với các mơ hình
khác nhau. Nhiều nhất vẫn là các Sites theo mơ hình B2C. Đó là các sites đặt tour trực
tuyến của các khách sạn, homestay. Số lượng các Sites thế này khá nhiều nhưng nhìn
chung chưa có đơn vị nào thành cơng. Đối với các khách sạn, các sites này tính năng
chính của họ vẫn là quảng cáo tour, dịch vụ và các event cịn tính năng đặt tour trực
tuyến chỉ là phụ nên nó có rất nhiều hạn chế và cũng khơng được nhiều khách hàng
quan tâm: họ thích đến tận nơi xem tour rồi đặt hơn là xem trên mạng xong đặt tour và
Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


-2-

chờ đợi. Với các khách sạn, các homestay có các site đặt tour thì phạm vi hoạt động
cũng rất hẹp: hẹp trong phạm vị hoạt động, hẹp trong số lượng chủng loại tour, hẹp

trong các dịch vụ hỗ trợ thương mại điện tử.
Các sites theo hình thức B2B cũng đã xuất hiện và bước đầu có được những sự
thành cơng nhất định. Đó là: Luxstay. Trong đó mơ hình hoạt động của Luxstay khá
giống với Booking.com: cho phép doanh nghiệp, cá nhân kinh doanh trên sites và đơn
vị chủ quản thu lợi nhuận từ việc thu và sử dụng gian hàng và phí quảng cáo, ngồi ra
Luxstay cịn kết hợp thêm cả hình thức B2C họ cũng có các khách sạn để hoạt động
kinh doanh.

1.1.5. Ngơn ngữ lập trình PHP
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình
kị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 cho
máy chủ, mã nguồn mở, dùng cho mục đích tổng qt. Nó rất thích hợp với web và có
thể dễ dàng nhúng vào trang HTML.
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). Chi tiết như sau:
Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt
người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt.
MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgres, 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ác webserver.
Thông thường các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux,
Ubuntu...
Vậy PHP hoạt động như thế nào?
Khi người sử dụng gọi trang PHP, Web Server sẽ triệu gọi PHP Engine để thông
dịch dịch trang PHP và trả kết quả cho người dùng như hình bên dưới:

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1



-3-

HÌNH 1.1. Mơ hình hoạt động của một trang PHP (Nguồn: Google)

1.1.6. Lập trình hướng đối tượng
Lập trình hướng đối tượng là một kỹ thuật lập trình cho phép lập trình viên tạo
ra các đối tượng trong code trừu tượng hóa các đối tượng thực tế trong cuộc sống.
Hướng tiếp cận này hiện đang rất thành công và đã trở thành một trong những khuôn
mẫu phát triển phần mềm, đặc biệt là các phần mềm cho doanh nghiệp.
Khi phát triển ứng dụng sử dụng OOP, chúng ta sẽ định nghĩa các lớp (class) để
mơ hình các đối tượng thực tế. Trong ứng dụng các lớp này sẽ được khởi tạo thành các
đối tượng và trong suốt thời gian ứng dụng chạy, các phương thức (method) của đối
tượng này sẽ được gọi.
Lớp định nghĩa đối tượng sẽ như thế nào: gồm những phương thức và thuộc
tính (property) gì. Một đối tượng chỉ là một thể hiện của lớp. Các lớp tương tác với
nhau bởi các public API: là tập các phương thức, thuộc tính public của nó.
Ví dụ: Lớp XeDap là một thiết kế chung cho nhiều đối tượng xe đạp được tạo
ra.

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


-4-

4 đặc tính của lập trình hướng đối tượng:
• Tính đóng gói (Encapsulation):

Là cách để che dấu những tính chất xử lý bên trong của đối tượng, những đối
tượng khác không thể tác động trực tiếp làm thay đổi trạng thái chỉ có thể tác động
thơng các method public của của đối tượng đó.
• Tính kế thừa (Inheritance):
Là kỹ thuật cho phép kế thừa lại những tính năng mà một đối tượng khác đã có,
giúp tránh việc code lặp dư thừa mà chỉ xử lý cơng việc tương tự.
• Tính đa hình (Polymorphism):
Là một đối tượng thuộc các lớp khác nhau có thể hiểu cùng một thơng điệp theo
cách khác nhau.
Ví dụ đa hình trong thực tế: có 2 con vật: chó, mèo. Hai con vật này khi nhận
được mệnh lệnh là "hãy kêu" thì chó kêu "gâu gâu", mèo kêu "meo meo". Ví dụ trên
cả 2 con vật đều hiểu chung một thông điệp "hãy kêu" và thực hiện theo cách riêng của
chúng.

1.1.7. Tính trừu tượng (Abstraction):
Là phương pháp trừu tượng hóa định nghĩa lên những hành động, tính chất của
loại đối tượng nào đó cần phải có.

HÌNH 1.2. Lập trình hướng đối tượng (Nguồn: Google)
Phân biệt Abstract Class và Interface:
• Abstract class: là một class cha cho tất cả các class có cùng bản chất.
Bản chất ở đây được hiểu là kiểu, loại, nhiệm vụ của class. Hai class
cùng hiện thực một interface có thể hồn tồn khác nhau về bản chất.
Hiểu đơn giản như một thằng con (child class) chỉ có thể là con của một
thằng cha, có tính cách giống cha (abstract class) nó.

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1



-5-

• Interface: là một chức năng mà bạn có thể thêm vào bất kỳ class nào. Từ
chức năng ở đây khơng đồng nghĩa với phương thức (hoặc hàm).
Interface có thể bao gồm nhiều hàm/phương thức và tất cả chúng cùng
phục vụ cho một chức năng.
Vậy, bạn không nên nhầm lẫn khi nói về việc một class được implement hay
extend. Nhiều người thường hay đồng nhất là không phân biệt hai từ này, nhưng chính
chúng đã nói lên sự khác biệt giữa interface và abstract class. Bạn chỉ có thể thừa kế
(extend) từ một class và chỉ có thể hiện thực (implement) các chức năng (interface)
cho class của mình. Theo cách ngắn gọn, quan hệ giữa một class khi thừa kế một
abstract class được gọi là is-a, và một class khi hiện thực một interface được gọi là
can-do (hoặc –able).
Bảng so sánh Abstract Class và Interface:
Interface

Abstract class

Multiple inheritance

Một class có thể hiện
thực nhiều interface.(tạm Không hỗ trợ đa thừa kế
coi là thừa kế)

Default implementation

Khơng thể định nghĩa
code xử lý, chỉ có thể
khai báo.


Access Modifiers

Mọi phương thức,
property đều mặc định là Có thể xác định modifier.
public.

Adding functionality

Mọi phương thức,
property của interface
Không cần thiết.
cần được hiện thực trong
class.

Fields and Constants

Khơng

Có thể định nghĩa thân
phương thức, property.



BẢNG 1.1. So sách Abstract Class và Interface
OOP khác với các khái niệm lập trình hàm, thủ tục như thế nào?
Trong lập trình cấu trúc (lập trình hàm) thì chương trình được chia nhỏ thành
các chương trình con(các hàm) mỗi chương trình con thực hiện một cơng việc xác
định.Chương trình sẽ gọi đến chương trình con theo một giải thuật hoặc một cấu trúc
được xác định trong chương trình chính,Các ngơn ngữ lập trình cấu trúc phổ biến là

Pascal,C. C++ là 1 ngôn ngữ nửa cấu trúc(do kế thừa từ C)mà vẫn có đặc trưng của lập
trình hướng đối tượng.
Đặc trưng cơ bản nhất của lập trình cấu trúc thể hiện ở mối quan hệ:
CHƯƠNG TRÌNH = CẤU TRÚC DỮ LIỆU + GIẢI THUẬT
Ưu điểm là chương trình sáng sủa dễ hiểu, dễ theo dõi và có tư duy giải thuật
rất rõ ràng. Tuy nhiên nó lại có nhược điểm là không hỗ trợ việc sử dụng lại mã nguồn
và không phù hợp với các phần mềm lớn.
Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


-6-

Vậy nên để khắc phục những hạn chế này khi giải quyết những bài toán
lớn,người ta xây dựng một phương pháp tiếp cận mới là lập trình hướng đối tượng
nhằm mục đích đóng gói các dữ liệu để hạn chế truy nhập tự do vào dữ liệu(tính bảo
mật) và cho phép sử dụng lại mã nguồn,hạn chế việc viết lại mã từ đầu cho các chương
trình.
Ưu và nhược điểm của OOP:
Ưu điểm:







Loại bỏ các đoạn mã lặp lại
Tạo ra các chương trình an tồn, bảo mật

Dễ dàng mở rộng và nâng cấp
Rút ngắn thời gian xây dựng hệ thống
Tăng năng suất và hiệu quả hơn
Chương trình được thiết kế theo đúng quy trình

Nhược điểm:
• Chương trình hướng đối tượng lớn hơn nhiều so với các chương trình
khác.
• Các chương trình hướng đối tượng địi hỏi nhiều cơng sức và thời
gian hơn.
• Tốc độ chương trình hướng đối tượng chậm hơn các chương trình
khác, một phần do kích thước của chúng. Các khía cạnh khác của các
chương trình hướng đối tượng cũng địi hỏi nhiều tài ngun hệ
thống hơn, do đó làm chậm chương trình.

1.1.8. Mơ hình MVC
MVC là từ viết tắt của 'Model View Controller'. Nó đại diện cho các nhà phát
triển kiến trúc áp dụng khi xây dựng các ứng dụng. Với kiến trúc MVC, chúng ta xem
xét cấu trúc ứng dụng liên quan đến cách luồng dữ liệu của ứng dụng của chúng ta
hoạt động như thế nào.
Model: là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị cơ
sở dữ liệu (mysql, mssql… ); nó sẽ bao gồm các class/function xử lý nhiều nghiệp vụ
như kết nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu…
View: là nơi chứa những giao diện như một nút bấm, khung nhập, menu, hình
ảnh… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ
thống.
Controller: là nơi tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó sẽ
gồm những class/ function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu thông tin
cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó ra cho người
dùng nhờ lớp View.


Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


-7-

Hình 1.3. Mơ hình MVC (Nguồn: Google)

1.1.9. Web Server
"Web server" có thể là phần cứng hoặc phần mềm, hoặc cả hai.
Ở khía cạnh phần cứng, một web server là một máy tính lưu trữ các file thành
phần của một website (ví dụ: các tài liệu HTML, các file ảnh, CSS và các file
JavaScript) và có thể phân phát chúng tới thiết bị của người dùng cuối (end-user). Nó
kết nối tới mạng Internet và có thể truy cập tới thơng qua một tên miền giống như
google.com.
Ở khía cạnh phần mềm, một web server bao gồm một số phần để điều khiển
cách người sử dụng web truy cập tới các file được lưu trữ trên một HTTP server(máy
chủ HTTP). Một HTTP server là một phần mềm hiểu được các URL (các địa chỉ web)
và HTTP (giao thức trình duyệt của bạn sử dụng để xem các trang web).
Ở mức cơ bản nhất, bất cứ khi nào một trình duyệt cần một file được lưu trữ
trên một web server, trình duyệt request (yêu cầu) file đó thơng qua HTTP. Khi một
request tới đúng web server (phần cứng), HTTP server (phần mềm) gửi tài liệu được
yêu cầu trở lại, cũng thông qua HTTP.

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1



-8-

HÌNH 1.4. Mơ hình hoạt động của Web Server (Nguồn: Google)

1.1.10. Session
Session đơn giản là 1 cách để chúng ta lưu lại dữ liệu của người dùng sử dụng
website. Giá trị của session được lưu trong một tập tin trên máy chủ. Ví dụ khi bạn
đăng nhập vào một trang web và đăng nhập với tài khoản đã đăng ký trước đó. Máy
chủ sau khi xác thực được thơng tin bạn cung cấp là đúng nó sẽ sinh ra một tập tin
(hay chính là session của trình duyệt của bạn) chứa dữ liệu cần lưu trữ của người dùng.

1.1.11 Cookies
Cookie là một đoạn văn bản ghi thông tin được tạo ra và lưu trên trình duyệt
của máy người dùng. Cookie thường được tạo ra khi người dùng truy cập một website,
cookie sẽ ghi nhớ những thông tin như tên đăng nhập, mật khẩu, các tùy chọn do
người dùng lựa chọn đi kèm. Các thông tin này được lưu trong máy tính để nhận biết
người dùng khi truy cập vào một trang web.

1.1.12 Ajax
Ajax (Asynchronous JavaScript and XML) – một khái niệm khơng hề xa lạ với
dân lập trình web. Nó là một kỹ thuật xử lý giúp chúng ta tạo ra sự sinh động cho
Website của mình mà khơng reload lại trang. Ajax là sự kết hợp của một nhóm các
cơng nghệ có sẵn trong Javascript sau đây:
• HTML & CSS: Hiển thị thơng tin
• DOM (Document Object Model): Tương tác với thơng tin được hiển thị
thơng qua Javascript
• XMLHttpRequest: Trao đổi dữ liệu với Server một cách không đồng bộ
• XML: Là định dạng cho dữ liệu truyền
Ví dụ về một hàm gọi Ajax với jQuery:

$.ajax({
url: "test.php",
type: "post",
data: values ,
success: function (response) {
Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


-9-

console.log(response);
},
error: function(error) {
console.log(error);
}
});

1.1.13 HTTP Request
Request có thể hiểu nhanh là thông tin gửi từ client lên server. Khi bạn lên trình
duyệt browser gõ một địa chỉ nào đó, ví dụ bạn gõ là google.com thì ngay lập tức trình
duyệt sẽ dựa vào tên domain để gửi yêu cầu truy cập đến địa chỉ IP mà domain này
đang trỏ tới, lúc này phía server sẽ phân tích yêu cầu và sẽ gửi luồng xử lý tới vị trí vị
trí lưu trữ của mã nguồn PHP (hoặc mã nguồn bất kỳ) và nhiệm vụ của các mã nguồn
là tiếp nhận yêu cầu, phân tích request đó và trả kết quả lại cho client.
Chúng ta có hai phương thức (2 cách) để gửi request từ client lên server đó là
sử dụng phương thức GET và phương thức POST.

1.1.14 HTTP Response

Response là dữ liệu mà server trả về cho client. Ví dụ khi bạn nhập vào địa chỉ
google.com thì kết quả trả về (response) chính là giao diện của website và các thơng
tin của header. Như vậy dữ liệu mà server trả về là những đoạn mã HTML kèm theo
các thông tin của header.
Browser sẽ dựa vào các thông tin này để hiển thị trạng thái kết quả của request,
còn mã HTML dùng để hiển thị giao diện của website. Nếu bạn nhập vào một URL
khơng tồn tại thì thơng tin của header sẽ khơng có gì.

1.2. LARAVEL FRAMEWORK
1.2.1. Giới thiệu
Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi
Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiến trúc
model-view-controller (MVC). Những tính năng nổi bật của Laravel bao gồm cú pháp
dễ hiểu – rõ ràng, một hệ thống đóng gói modular và quản lý gói phụ thuộc, nhiều cách
khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ
việc triển khai vào bảo trì ứng dụng.
Số lượng các PHP framework khơng ngừng gia tăng và nếu tính ra có đến hàng
trăm framework đang tồn tại. Laravel với tính đơn giản và kế thừa được nhiều ưu điểm
từ nhiều các framework khác vẫn là ứng cử viên sáng giá nhất cho vị trí số 1 về PHP
framework.
Laravel có 3 đặc tính nổi trội:
Đơn giản: Các chức năng của Laravel rất dễ hiểu và thực hiện.
Ngắn gọn: Hầu hết các chức năng của Laravel hoạt động liên tục với cấu hình rất
nhỏ, dựa vào các quy tắc chuẩn để giảm bớt code-bloat

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1



- 10 -

Trình bày hợp lý: Hướng dẫn sử dụng Laravel rất đầy đủ và ln cập nhật. Nhà
lập trình, người tạo ra framework luôn cập nhật tài liệu trước khi cho ra một phiên bản
mới, đảm bảo những người học lập trình ln ln có những tài liệu mới nhất.

1.2.2. CSRF
CSRF (Cross Site Request Forgery) là kĩ thuật tấn công bằng cách sử dụng quyền
chứng thực của người sử dụng đối với 1 website khác. Các ứng dụng web hoạt động
theo cơ chế nhận các câu lệnh HTTP từ người sử dụng, sau đó thực thi các câu lệnh
này.
Hacker sử dụng phương pháp CSRF để lừa trình duyệt của người dùng gửi đi các
câu lệnh http đến các ứng dụng web. Trong trường hợp phiên làm việc của người dùng
chưa hết hiệu lực thì các câu lệnh trên sẽ được thực hiện với quyền chứng thực của
người sử dụng.

1.2.3. Resource Controller
Các method cơ bản của của một Resource Controller: index, create, store, show,
edit, update, destroy.
HTTP Method

URI

Action

Route Name

GET

/photos


index

photos.index

GET

/photos/create

create

photos.create

POST

/photos

store

photos.store

GET

/photos/{photo}

show

photos.show

GET


/photos/{photo}/edit

edit

photos.edit

PUT/PATCH

/photos/{photo}

update

photos.update

DELETE

/photos/{photo}

destroy

photos.destroy

BẢNG 1.2. Resource Controller

1.2.4. Migration
Migration trong Laravel giống như một control database có tác dụng quản lý
cũng như lưu trữ lại cấu trúc của database giúp cho việc sửa đổi database trở lên dễ
dàng hơn.


1.2.5. Seeding Database
Seeding hay còn gọi là seeder, seed, … thực ra nó là một class chứa code để tạo
ra các dữ liệu mẫu cho database trong quá trình xây dựng ứng dụng.

1.2.6. Eloquent ORM
Eloquent ORM đi kèm với Laravel cung cấp một API ActiveRecord đơn giản
và tiện lợi cho giao tiếp với database. Mỗi database table sẽ có một "Model" tương
ứng để tương tác với table đó. Model cho phép bạn query dữ liệu trong table, cũng như
chèn thêm các dữ liệu mới.
Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


- 11 -

Eloquent ORM là bản mở rộng từ Query Builder.

1.2.7. Query Builder
Query builder cung cấp một giao thức thuận tiện, linh hoạt cho việc tạo và thực
thi các truy vấn dữ liệu. Nó có thể sử dụng để thực hiện hầu hết các tính tốn dữ liệu
trong ứng dụng của bạn, và làm việc trên tất các các hệ cơ sở dữ liệu được hỗ trợ.
Laravel query builder sử dụng PDO parameter binding để bảo vệ ứng dụng của
bạn khỏi SQL injection. Vì vậy khơng cần phải xử lý các chuỗi khi truyền vào.

1.2.8. So sánh Eloquent và Query Builder
Query Builder






Sử dụng thao tác trực tiếp với bảng
Câu lệnh phức tạp hơn
Có thể thực hiện các truy vấn phức tạp
Tốc độ thực hiện truy vấn nhanh

Eloquent ORM
• Để sử dụng được Eloquent ORM cần phải tạo thêm Eloquent model
trong thư mục app. Mỗi Eloquent model này đều phải extend Model
class.
• Câu lệnh ngắn gọn đẹp hơn. Thêm 1 số tính năng soft Delete, các scope,
và các event boot.
• Việc thực hiện truy vấn phức tạp khó khăn hơn nhưng có thể dùng Query
Builder thay thế.
• Tốc độ thực hiện truy vấn chậm hơn Query Builder, nhất là ở những truy
vấn cần thao tác với dữ liệu lớn.

1.2.9. Eager Loading
Eager Loading là kĩ thuật để giải quyết bài tốn N+1.
Ví dụ: Ta muốn load tất cả các products. Sau đó in ra tất cả từng category của
từng product (giả sử mỗi product chỉ thuộc duy nhất 1 category và category có kết nối
với product trong model). Ta làm như sau:
$products = Product::all();
foreach ($products as $product) {
echo $product->category->name;
}
Nhìn vào đoạn code trên, có vẻ như là ổn. Tuy nhiên nếu xét về hiệu năng, thì
điều đó thật tệ. Với N product, ta sẽ phải thực hiện tất cả N+1 query để get tất cả
product và category tương ứng.

Để thực hiện yêu cầu trên trong laravel ta chỉ cần viết:
$products = Product::with('category')->get();

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


- 12 -

Ở cách này chỉ thực hiện 2 câu truy vấn:
select * from product
select * from category where id in (1, 2, 3, 4, 5, ...)
Như vậy Eager Loading sẽ giúp hiệu năng của ứng dụng web tăng lên đáng kể.

1.2.10. Accessors & Mutators
Accessors và Mutators cho phép bạn thay đổi lại giá trị các thuộc tính của
Eloquent khi lấy ra từ một model hoặc khi set giá trị cho nó. Ví dụ bạn muốn mã hóa
dữ liệu trước khi lưu vào database và sau đó là giải mã khi lấy ra.
Accessor bản chất là một phương thức được tự động gọi bởi Eloquent khi truy
cập giá trị của column.
Ngược lại với Accessor chính là Mutator. Phương thức Mutator sẽ được tự động
gọi bởi Eloquent khi gán giá trị cho column.

1.2.11. Middleware
Middleware là phần nằm giữa client và server, xử lý các request/response vào/ra
server của client.
Middleware cung cấp một giải pháp khá tiện ích cho việc filtering HTTP các
requests vào ứng dụng. Ví dụ, Laravel có chứa một middleware xác thực người dùng
đăng nhập vào hệ thống. Nếu user chưa đăng nhập, middleware sẽ chuyển hướng user

tới màn hình đăng nhập. Tuy nhiên, nếu user đã đăng nhập rồi, thì middleware sẽ cho
phép request được thực hiện tiếp tiến trình xử lý vào ứng dụng.

1.2.12. Localization
Chức năng localization của Laravel cung cấp một cách tiện lợi cho việc lấy các
chuỗi dữ liệu từ các ngôn ngữ khác nhau, cho phép ứng dụng hỗ trợ đa ngôn ngữ.
Các chuỗi ngôn ngữ được lưu trong file nằm trong thư mục resources/lang.
Trong thư mục này có chứa các thư mục con cho mỗi ngôn ngữ được hỗ trợ bởi ứng
dụng. Tất cả các file ngôn ngữ đơn giản chỉ cần trả về mảng các chuỗi khố. Ví dụ:
return [
'welcome' => 'Welcome to our application'
];

1.2.13. Dependency Injection
Dependency Injection là một design pattern được sử dụng phổ biến trong các
Framework hiện đại. Hiểu đơn giản có nghĩa là nếu một Class A hoạt động phụ thuộc
vào một vài Class khác, thì thay vì khởi tạo các instance của các Class kia bên trong
Class A, ta sẽ inject những instance đó vào thơng qua constructor hay setter. Những
instance của các Class và Class A cần để hoạt động đó được gọi là dependency.
Có 3 dạng Dependency Injection:

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


- 13 -

• Constructor Injection: Các dependency sẽ được container truyền vào

(inject vào) 1 class thông qua constructor của class đó. Đây là cách thơng
dụng nhất.
• Setter Injection: Các dependency sẽ được truyền vào 1 class thơng qua các
hàm Setter.
• Interface Injection: Class cần inject sẽ implement 1 interface. Interface này
chứa 1 hàm tên Inject. Container sẽ injection dependency vào 1 class thơng
qua việc gọi hàm Inject của interface đó. Đây là cách rườm rà và ít được sử
dụng nhất.
Dĩ nhiên, Dependency Injection khơng phải vạn năng, nó cũng có những ưu
điểm và khuyết điểm, do đó khơng phải project nào cũng nên áp dụng DI. Với những
dự án lớn, code nhiều, DI là thứ rất cần thiết để đảm bảo code dễ bảo trì, dễ thay đổi.
ƯU ĐIỂM





KHUYẾT ĐIỂM

Giảm sự kết dính giữa các module
• Khái niệm DI khá “khó tiêu”, các
Code dễ bảo trì, dễ thay thế module
developer mới sẽ gặp khó khăn khi học
Rất dễ test và viết Unit Test
• Sử dụng interface nên đơi khi sẽ khó
Dễ dàng thấy quan hệ giữa các module
debug, do khơng biết chính xác module
(Vì các dependency đều được inject vào
nào được gọi
• Các object được khởi tạo tồn bộ ngay từ

constructor)
đầu, có thể làm giảm performance
• Làm tăng độ phức tạp của code

1.2.14. Repository
Repository Design Pattern hiện là một phương pháp làm việc với project
Laravel rất phổ biến. Hiểu một cách đơn giản đó là bạn sẽ tạo ra một tầng Repository ở
giữa Controller và Model (ORM Layer), với nhiệm vụ là thực hiện các business logic
xử lý Database, từ đó tránh được việc viết Business Logic ở cả Controller lẫn Model,
tạo ra những hàm có thể được sử dụng lại ở nhiều nơi khác nhau.
Những lý do ta nên sử dụng mẫu Repository Pattern:





Code dễ dàng maintain.
Tăng tính bảo mật và rõ ràng cho code.
Lỗi ít hơn.
Tránh việc lặp code.

1.2.15. Route
Route trong Laravel cũng như các framework khác đều có chức năng là định ra
các dạng request (hiểu nơm na là url) định sẵn và cũng có các action (hành động) do
chúng ta định nghĩa cho nó.

1.2.16. Laravel Thanh tốn Online
Thanh tốn Online là gì?
Thanh tốn Online, viết tắt của Quick response code (tạm dịch "Mã phản hồi
nhanh") hay còn gọi là mã vạch ma trận (matrix-barcode) là dạng mã vạch hai chiều

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


- 14 -

(2D) có thể được đọc bởi một máy đọc mã vạch hay smartphone (điện thoại thơng
minh) có chức năng chụp ảnh (camera) với ứng dụng chuyên biệt để quét mã vạch.
Thanh toán Online (mã QR) được tạo ra bởi Denso Wave (công ty con của
Toyota) vào năm 1994, có hình dạng bao gồm các điểm đen và ơ vng nằm trong ơ
vng mẫu trên nền trắng. Thanh tốn Online có thể được đọc nhanh hơn, tiết kiệm
thời gian và không gian so với các loại mã vạch truyền thống.
Một mã QR có thể chứa đựng thơng tin một địa chỉ web (URL), thời gian diễn
ra một sự kiện, thông tin liên hệ (như vCard), địa chỉ email, tin nhắn SMS, nội dung ký
tự văn bản hay thậm chí là thơng tin định vị vị trí địa lý. Tùy thuộc thiết bị đọc mã QR
mà bạn dùng khi quét, nó sẽ dẫn bạn tới một trang web, gọi đến một số điện thoại, xem
một tin nhắn...
Laravel Thanh toán Online là thư viện của Laravel hỗ trợ chức năng mã hóa dữ
liệu về dạng Thanh tốn Online và ngược lại.

1.2.17. CRUD
CRUD viết tắt của Create, Read, Update, Delete là một thuật ngữ lập trình nói
đến 4 phương thức quen thuộc khi làm việc với kho dữ liệu. Ứng dụng CRUD là ứng
dụng cung cấp đủ các hoạt động trên cùng với phân trang và tìm kiếm. Ứng dụng
CRUD rất thuận tiện trong việc sử dụng đem lại trải nghiệm tốt cho người dùng.

1.2.18. Laravel Socialite
Laravel Socialite là thư viện của Laravel hỗ trợ chức năng đăng nhập thông qua
tài khoản của các dịch vụ social cung cấp Oauth.

Hiện tại, Socialite hỗ trợ việc đăng nhập sử dụng tài khoản của: facebook,
twitter, linkedin, google, github or bitbucket. Ngồi ra cịn rất nhiều các drivers khác.

1.3. BOOTSTRAP FRAMEWORK
1.3.1. Giới thiệu
Bootstrap là 1 framework HTML, CSS, và JavaScript cho phép người dùng dễ
dàng thiết kế website theo 1 chuẩn nhất định, tạo các website thân thiện với các thiết bị
cầm tay như mobile, ipad, tablet,...
Bootstrap bao gồm những cái cơ bản có sẵn như: typography, forms, buttons,
tables, navigation, modal, image carousels và nhiều thứ khác. Trong bootstrap có thêm
nhiều Component, Javascript hỗ trợ cho việc thiết kế responsive của bạn dễ dàng,
thuận tiện và nhanh chóng hơn.

1.3.2. Tại sao nên sử dụng Bootstrap?
Bootstrap là một trong những framework được sử dụng nhiều nhất trên thế giới
để xây dựng nên một website. Bootstrap đã xây dựng nên 1 chuẩn riêng và rất được
người dùng ưa chuộng. Chính vì thế, chúng ta hay nghe tới một cụm từ rất thông dụng
"Thiết kế theo chuẩn Bootstrap".
Từ cái "chuẩn mực" này, chúng ta có thể thấy rõ được những điểm thuận lợi khi
sử dụng Bootstrap:

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


- 15 -

• Rất dễ để sử dụng: Nó đơn giản vì nó được dựa trên HTML, CSS và
Javascript chỉ cần có kiến thức cơ bản về 3 kiến thức đó là có thể sử

dụng bootstrap tốt.
• Responsive: Bootstrap xây dựng sẵn responsive css trên các thiết bị
mobiles, tablets, và desktops. Tính năng này khiến cho người dùng tiết
kiệm được rất nhiều thời gian trong việc tạo ra một website thân thiện
với các thiết bị điện tử, thiết bị cầm tay.
• Tương thích với trình duyệt: Nó tương thích với tất cả các trình duyệt
(Chrome, Firefox, Internet Explorer, Safari, and Opera). Tuy nhiên, với
IE browser, Bootstrap chỉ hỗ trợ từ IE9 trở lên. Điều này vơ cùng dễ hiểu
vì IE8 khơng support HTML5 và CSS3.

1.3.3. Cách sử dụng Bootstrap
Có 2 cách để có thể sử dụng Bootstrap trên web:
• Download Bootstrap package từ getbootstrap.com
• Thêm Bootstrap từ CDN

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


- 16 -

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1. PHÂN TÍCH BÀI TỐN
2.1.1. Phát biểu bài tốn
Website Booking Tour là một website đặt tour trực tuyến cung cấp cho doanh
nghiệp và cá nhân nền tảng kinh doanh phù hợp với xu hướng của ngành cơng nghiệp
4.0. Ngồi ra, website còn cung cấp và phục vụ khách hàng các chức năng đặt tour tiện
lợi, hiện đại cùng với trải nghiệm đặt tour tốt nhất.


2.1.2. Yêu cầu của bài toán
Website cần đáp ứng những chức năng sau:
• Giao diện hiện đại, thân thiện, đơn giản, khơng lịe loẹt, dễ nhìn, sáng sủa.
• Bảo mật thơng tin người dùng, có quy định về chính sách riêng tư.
• Hỗ trợ người dùng đăng ký, đăng nhập, quên mật khẩu ( truyền thống hoặc
đăng nhập thơng qua tài khoản Gmail - Google ).
• Xác nhận email sau khi đăng ký tài khoản nhằm tránh các tài khoản ảo.
• Tour được sắp xếp hiển thị hợp lý theo danh mục, bố cục rõ ràng.
• Người dùng có thể xem, tìm kiếm, đặt tour, theo dõi trạng thái đơn đặt tour,
hủy đơn khi đơn chưa được xác nhận hoặc đơn chưa vượt quá số ngày quy
định.
• Người dùng có thể đánh giá đơn đặt tour khi trả tour.
• Người dùng có thể quản lý thơng tin cá nhân, đổi mật khẩu.
• Người dùng sẽ nhận hóa đơn điện tử qua email sau khi đặt tour, thanh tốn,
phản hồi.
• Người dùng có thể tùy chỉnh ngơn ngữ (VI, EN).
• Người dùng có thể phản hồi ý kiến của mình cho trang quản trị.
• Người dùng có thể nhận thơng báo (tin tức mới, Chương trình khuyến mãi
mới) qua email.
• Người dùng có thế lựa chọn hình thức thanh tốn ( tại khách sạn, VNPay).
• Trang quản trị bao gồm đầy đủ các chức năng quản lý từng thành phần.
• Trang quản trị hiển thị đầy đủ các số liệu thống kê.
• Trang quản trị hỗ trợ checkin, checkout thơng qua Thanh tốn Online.
• Theo dõi cập nhật nhật ký làm việc của quản trị viên.
• Trang quản trị hỗ trợ tạo, phân quyền theo chức năng cho quản trị viên.
• Trang quản trị phản hồi lại góp ý của khách hàng thơng qua email.

2.2. PHÂN TÍCH THIẾT
2.2.1. Tác nhân và vai trò
2.2.1.1. Xác định các tác nhân

STT
1

Tên tác nhân

Vai trị

Khách hàng (User)

Người có nhu cầu đặt tour tương tác trực tiếp với trang

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


- 17 -

website
2

Quản trị viên (Admin)

Người quản lý trang website về tour, đơn đặt tour, phản
hồi, checkin, checkout, người dùng,...

3

Hệ thống (System)


Xử lý các chức năng của trang web
BẢNG 2.1. Xác định các tác nhân

2.2.1.2 Xác định các Use-case
STT

Tác nhân

1

Khách hàng

Use-case

Ý nghĩa

Đăng ký và Đăng nhập

Tạo 1 tài khoản để hưởng quyền
lợi của khách hàng, đăng nhập để
sử dụng đầy đủ các chức năng của
trang web và sau đó đăng xuất khỏi
tài khoản để bảo mật tài khoản.

Đăng nhập bằng tài
khoản Google

Thực hiện đăng nhập với tài khoản
Google của khách hàng.


Quên mật khẩu

Giúp khách hàng lấy lại mật khẩu.

Xem thông tin tour

Giới thiệu và trưng bày các thông
tin liên quan về tour.

Xem tour theo thể loại
tour

Hiển thị các tour theo thể loại tour
đã chọn.

Xem bài viết

Giúp khách hàng cập nhật thơng
tin mới nhất về khách sạn…

Tìm kiếm tour

Giúp khách hàng tìm kiếm tour
dựa trên những từ khóa ngày đến
ngày đi … để tiết kiệm thời gian.

Thêm tour vào đơn đặt
tour

Giúp khách hàng thêm tour đã

chọn vào đơn đặt tour.

Đặt tour

Giúp khách hàng thực hiện đặt tour
đã chọn.

Thanh toán online

Giúp khách hàng thực hiện thanh
tốn đơn đặt tour thơng qua
VNPay.

Phản hồi

Sinh viên thực hiện: Nguyễn văn a

Tiếp nhận phản hồi của khách hàng
và trả lời lại cho khách hành thông
qua email.

Lớp: IT16a1


- 18 -

2

Quản trị viên


Đánh giá đơn đặt tour

Sau khi trả tour, thì cho khách hành
đánh giá chất lượng dịch vụ của
khách sạn.

Theo dõi đơn đặt tour

Giúp khách hàng cập nhập thông
tin chi tiết về đơn hàng đã đặt.

Sắp xếp tour

Hỗ trợ khách hàng dễ dàng lựa
chọn tour theo loại tour, giá, số
lượng người…

Đa ngôn ngữ

Hỗ trợ khách hàng với nhiều ngôn
ngữ khác nhau.

Nhận email quảng cáo

Hỗ trợ khách hàng đăng ký nhận
quảng cáo từ khách sạn.

Xem tin tức

Giúp khách hàng cập nhật tin tức,

xem tin tức mới do khách sạn
đăng.

Quản lý đơn đặt tour

Giúp khách hàng cập nhập bổ sung
thơng tin đơn đặt tour, hỗ trợ cho
việc thanh tốn.

Quản lý thông tin cá
nhân

Giúp khách hàng xem thông tin cá
nhân, cập nhập bổ sung thông tin
cá nhân, hỗ trợ cho việc thanh
toán.

Đăng nhập, đăng xuất

Đăng nhập để sử dụng đầy đủ các
chức năng của trang website và sau
đó đăng xuất khỏi tài khoản để bảo
mật tài khoản.

Quản lý loại tour

Giúp tạo, sửa, xóa loại tour.

Quản lý nhãn


Giúp tạo, sửa, xóa nhãn.

Quản lý dịch vụ tour

Giúp tạo, sửa, xóa dịch vụ.

Quản lý giá ngày đặc
biệt(ngày lễ)

Giúp tạo, sửa, xóa giá ngày đặc
biệt.

Quản lý người dùng

Giúp hiển thị, cập nhật trạng thái,
xóa người dùng, xuất dữ liệu người
dùng ra file exce.

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


- 19 -

3

Hệ thống

Quản lý phản hồi


Giúp hiển thị, phản hồi.

Quản lý dịch vụ phát
sinh

Giúp tạo, sửa, xóa dịch vụ phát
sinh.

Quản lý bài viết

Giúp tạo, sửa, xóa bài viết.

Quản lý tour

Giúp tạo, sửa, xóa tour, xuất dữ
liệu ra file exce.

Quản lý checkin,
checkout

Giúp tìm kiếm thơng tin đơn đặt
tour thơng qua mã Thanh toán
Online, cập nhật trạng thái đơn đặt
tour.

Quản lý nhật ký công
việc

Giúp hiển thị nhật ký công việc

trên hệ thống.

Quản lý quản trị viên

Giúp tạo, sửa, xóa, phân quyền
quản trị viên.

Quản lý đơn đặt tour

Giúp hiển thị, cập nhập trạng thái
đơn hàng, xóa đơn đặt tour, xuất
dữ liệu đơn đặt tour ra file exce.

Đa ngôn ngữ

Hỗ trợ người dùng với nhiều ngôn
ngữ khác nhau.

Xem thống kê

Hiển thị các bảng số liệu thống kê
của trang web.

Gửi thông tin đơn đặt
tour

Gửi thông tin đơn đặt tour qua
email của khách hàng.

Gửi nội dung phản hồi


Gửi nội dung phản hồi cho khách
hàng.

Gửi thông báo

Gửi thông báo đến khách hàng
(tour mới, tin tức, event…).

Hiển thị thơng báo

Hiển thị thơng báo khi có khách
hàng đặt tour, góp ý…

Gửi email xác nhận
đăng ký

Gửi email xác nhận đăng ký tài
khoản, tránh các email ảo.

BẢNG 2.2. Xác định các Use-case

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


- 20 -

2.2.2. Biểu đồ Use-Case tổng quát

2.2.2.1. Biểu đồ Use-case tổng quát khách hàng

HÌNH 2.1. Biểu đồ Use-case tổng quát khách hàng

Sinh viên thực hiện: Nguyễn văn a

Lớp: IT16a1


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×