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

Trung phú NA báo cáo website đặt phòng tour bằng laravel đồ án

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 (1.4 MB, 85 trang )

Báo Cáo
PHÂN TÍCH VÀ THIẾT KẾ WEBSITE QUẢN LÝ TOUR DU
LỊCH VÀ ĐẶT PHÒNG KHÁCH SẠN


MỤC LỤC

DANH MỤC HÌNH
Hình 2.1. Minh họa trang web sử dụng HTML và CSS
Hình 2.2. Minh họa JavaScript kết hợp với HTML và CSS
Hình 2.3. Giao diện phần mềm trực tuyết Draw.io
Hình 2.4. Mơ hình MVC trong Laravel
Hình 2.5. Giao diện phần mềm PhpMyAdmin
Hình 3.1. Các tác nhân của hệ thống
Hình 3.2. Use Case tổng quát
Hình 3.3. Use Case hệ thống
Hình 3.4. Use Case của tác nhân khách hàng
Hình 3.5. Use Case quản lý danh mục
Hình 3.6. Use Case quản lý địa điểm
Hình 3.7. Use Case quản lý tour
Hình 3.8. Use Case quản lý người dùng
Hình 3.9. Use Case quản lý admin
Hình 3.10. Use Case quản lý đặt tour
Hình 3.11. Biểu đồ hoạt động đăng ký
Hình 3.12. Biểu đồ hoạt động đăng nhập
Hình 3.13. Biểu đồ hoạt động xem chi tiết tour
Hình 3.14. Biểu đồ hoạt động đặt tour
Hình 3.15. Biểu đồ hoạt động thêm tour
Hình 3.16. Biểu đồ hoạt động cập nhật tour
Hình 3.17. Biểu đồ hoạt động xóa tour
Hình 3.18. Biểu đồ hoạt động tìm kiếm tour


Hình 3.19. Biểu dồ hoạt động thêm địa điểm


Hình 3.20. Biểu đồ hoạt động cập nhật địa điểm
Hình 3.21. Biểu đồ hoạt động xóa địa điểm
Hình 3.22. Biểu đồ hoạt động thêm tin tức
Hình 3.23. Biểu đồ hoạt động cập nhật tin tức
Hình 3.24. Biểu đồ hoạt động xóa tin tức
Hình 3.25. Biểu đồ hoạt động thêm người dùng
Hình 3.26. Biểu đồ hoạt động cập nhật người dùng
Hình 3.27. Biểu đồ hoạt động xóa người dùng
Hình 3.28. Biểu đồ tuần tự đăng ký
Hình 3.29. Biểu đồ tuần tự xem chi tiết tour
Hình 3.30. Biểu đồ tuần tự đăng nhập
Hình 3.31. Biểu đồ tuần tự đặt tour
Hình 3.32. Biểu đồ tuần tự thêm tour
Hình 3.33. Biểu đồ tuần tự cập nhật tour
Hình 3.34. Biểu đồ tuần tự xóa tour
Hình 3.35. Biểu đồ tuần tự thêm địa điểm
Hình 3.36. Biểu đồ tuần tự cập nhật địa điểm
Hình 3.37. Biểu đồ tuần tự xóa địa điểm
Hình 3.38. Biểu đồ tuần tự thêm tin tức
Hình 3.39. Biểu đồ tuần tự cập nhật tin tức
Hình 3.40. Biểu đồ tuần tự xóa tin tức
Hình 3.41. Biểu đồ tuần tự thêm người dùng
Hình 3.42. Biểu đồ tuần tự cập nhật người dùng
Hình 3.43. Biểu đồ tuần tự xóa người dùng
Hình 3.44. Biểu đồ lớp
Hình 4.1. Giao diện đăng ký
Hình 4.2. Giao diện đăng nhập người dùng

Hình 4.3. Giao diện trang chủ
Hình 4.4. Giao diện chi tiết tour


Hình 4.5. Giao diện xem tin tức
Hình 4.6. Giao diện đăng nhập quản trị
Hình 4.7. Giao diện quản trị
Hình 4.8. Giao diện quản lý tour
Hình 4.9. Giao diện thêm tour
Hình 4.10. Giao diện quản lý địa điểm
Hình 4.11. Giao diện quản lý đơn hàng
Hình 4.12. Giao diện quản lý người dùng
Hình 4.13. Giao diện quản lý tin tức


DANH MỤC BẢNG
Bảng 3.1. Bảng categories
Bảng 3.2. Bảng tours
Bảng 3.3. Bảng locations
Bảng 3.4. Bảng hotels
Bảng 3.5. Bảng admins
Bảng 3.6. Bảng users
Bảng 3.7. Bảng articles
Bảng 3.8. Bảng orders
Bảng 3.9. Bảng transactions


Chương 1. Tổng quan
1


Lý do chọn đề tài
Công nghệ thông tin là tập hợp các phương pháp khoa học và các công cụ kỹ thuật
hiện đại, chủ yếu là kỹ thuật máy tính và viễn thông nhằm tổ chức khai thác và sử dụng
có hiệu quả các nguồn tài nguyên thông tin phong phú, tiềm năng trong mọi lĩnh vực hoạt
động của con người và xã hội.
Ngày nay, công nghệ thông tin phát triển nhanh chóng và ứng dụng vào tất cả các
lĩnh vực, có thể nói công nghệ thông tin trở thành thước đo để đánh giá sự phát triển của
xã hội hiện đại – nơi mà con người đang từ bỏ cách làm việc thủ công, tiến đến tin học
hóa trong tất cả các lĩnh vực, để công việc thực hiện có hiệu quả hơn, tiết kiệm thời gian
và nhân lực hơn.
Khi đời sống con người phát triển, nhu cầu du lịch là một trong những nhu cầu
phổ biến. Do đó các tour du lịch ra đời để đáp ứng nhu cầu đó. Việc đặt tour và đặt
phòng giúp thuận tiện hơn, dễ dàng hơn và không bị động khi đến các điểm du lịch.
Là sinh viên được trang bị những kiến thức của ngành hệ công nghệ thông tin với
những kiến thức đã tiếp thu và vận dụng lý thuyết đó vào công việc thực tế nên em đã
chọn đề tài “Phân tích thiết kế website quản lý tour và đặt phịng khách sạn” để thực
hiện đờ án tốt nghiệp của mình.

2

3

Mục tiêu của đề tài
- Xây dựng, thiết kế một hệ thống quản lý tour và đặt phòng khách sạn
- Thực hiện các chức năng ban đầu đã đề ra
- Triển khai và cài đặt chương trình trong thực tế.
Giới hạn và phạm vi của đề tài
Trong phạm vi đề tài này em sẽ nghiên cứu các vấn đề:
- Nghiên cứu về công tác quản lý tour và đặt phòng khách sạn, đi sâu vào nghiên
cứu và phân tích một hệ thống thông tin để xây dựng ứng dụng.

- Ứng dụng được xây dựng bằng ngôn ngữ lập trình PHP và cơ sở dữ liệu xây

4

dựng bằng MySQL
Kết quả dự kiến đạt được
6


Hệ thống website quản lý tour và đặt phòng khách sạn hoàn thành dự kiến đạt
được các kết quả sau:
- Cho phép khách hàng tìm kiếm tour.
- Lựa chọn xem chi tiết thơng tin tour, lịch trình tour.
- Đặt tour Lựa chọn số lượng khách (Tống số lượng, số người lớn, số trẻ em, số trẻ
nhỏ).
- Lựa chọn hình thức thanh toán.
- Nhận mã số booking về email để xác nhận đặt tour
- Khách hàng lựa khu vực cần đặt phịng, chọn khách sạn tḥc khu vực đó
- Lựa chọn loại phòng cần đặt: Phòng king, queen, view biển, view vườn
- Đặt phịng: Nhập các thơng số liên quan đến thông tin cá nhân (Số người, người
lớn, trẻ em, ngày đi ngày về).
- Xác nhận việc đặt phòng trong email của mình.

7


Chương 2. Kiến thức nền tảng
2.1. Cơ sở lý thuyết
2.1.1. Phân tích thiết kế hướng đối tượng:
 Giới thiệu OOAD:


Phân tích thiết kế hướng đối tượng(OOAD) là giai đoạn phát triển mợt
mơ hình chính xác và súc tính cảu vấn đề, có thành phần là các đối tượng và
khái niệm đời thực, dễ hiểu đối với người sử dụng.
 Nguyên tắc trong OOAD:
- Một lớp chỉ nên có một lý do để thay đổi, tức là một lớp chỉ nên xử lý một
chức năng đơn lẻ duy nhất. Nếu đặt nhiều chức năng vào mợt lớp, thì sẽ dẫn
đến sự phụ thuộc giữa các chức năng với nhau.
- Các lớp, module, chức năng nên dễ dàng <Mở> cho việc thêm chức năng
mới và <Đóng> cho việc thay đổi.
- Lớp dẫn xuất phải có khả năng thay thế được lớp cha.
- Chương trình khơng nên ḅc phải cài đặt mợt Interface mà nó không sử
dụng đến.
- Các module cấp cao không nên phụ thuộc vào các module cấp thấp. Cả hai
nên phụ thuộc thông qua lớp trừu tượng. Lớp trừa tượng không nên phụ thuộc
vào chi tiết. Chi tiết nên phụ tḥc vào trừu tượng.
2.1.2. Ngơn ngữ HTML và CSS:

Hình 2.1. Minh họa trang web sử dụng HTML và CSS
 Giới thiệu HTML:

8


HTML(Hypertext Markup Language) là mã được dùng để xây dựng nên
cấu trúc và nội dung của trang web. Ví dụ, nội dung có thể được cấu thành bởi
một loạt các đoạn văn, một danh sách liệt kê, hoặc sử dụng những hình ảnh và
bảng biểu...
 Tính năng mới trong HTML5:






2.1.3.




- Phần tử <small> dùng để chỉ hiển thị cỡ nhỏ, nó có thể được ký hiệu là trình
bao bọc chính xác cho thông tin này.
- Việc sử dụng dấu ngoặc kép có thể phụ thuộc vào người dùng.
- Cho phép người dùng chỉnh sửa bất kỳ văn bản nào có trong phần tử, bao
gồm cả phần tử con của nó.
- HTML5 loại bỏ hồn tồn tḥc tích <type>.
- Cung cấp các đầu vào email cho phép hướng dẫn trình duyệt chỉ cho phép
các chuỗi xác nhận địa chỉ email.
- Dễ dàng tạo thanh trượt với phạm vi đầu vào.
Giới thiệu CSS:
CSS (viết tắt của Cascading Style Sheets) dùng để miêu tả cách trình bày
các tài liệu viết bằng ngơn ngữ HTML và XHTML. CSS được hiểu một cách
mà chúng ra thêm các kiểu hiển thị (font chữ, kích thước, màu sắc,…) cho mợt
tài liệu Web.
Tính năng mới trong CSS3:
- Bo trịn ở các góc ảnh.
- Xây dựng phần tử đợng, tạo đối tườn động animation.
- Biến đổi phần tử bằng cách quay, dịch chuyển…
- Đổ bóng cho phần tử với box-shadow.
- Tạo gradient với hai kiểu linear và radial.
- Bo trong các đường viền ở 4 góc của phần tử box.

Ngôn ngữ JavaScript:
Giới thiệu JavaScript:
JavaScript là một ngôn ngữ lập trình của HTML và ứng dụng Web. Nó
được sử dụng phổ biến nhất như một phần của các trang web, chúng cho phép
Client-Side script tương tác với người sử dụng và tạo các trang web động. Nó
là một ngôn ngữ chương trình thơng dịch với các khả năng hướng đối tượng.
JavaScript kết hợp với HTML và CSS:

9


Hình 2.2. Minh họa JavaScript kết hợp với HTML và CSS
Một website thường có 3 phần cơ bản gồm HTML, CSS và Javascript.
Trong đó, HTML quyết định nội dung và cấu trúc trang web; CSS quyết định
màu sắc, hình dáng, kiểu chữ,… Hầu hết các thay đổi của HTML và CSS đều
được thể hiện dưới dạng tĩnh, không thể thực hiện các hành động với chuyển
động bắt mắt như xoay hình, kiểm tra thơng tin hợp lệ, hiển thị thơng báo
người dùng...
Tất cả các hành động này được chuyển thể từ trạng thái tĩnh sang trạng
thái động nhờ vào thành phần thứ 3 là Javascript. Ba thành phần này kết hợp
với nhau tạo nên website hoàn chỉnh với giao diện (UI) và trải nghiệm người
dùng (UX) chất lượng.
2.1.4. Ngôn ngữ PHP:
 Giới thiệu PHP:
Hypertext Preprocessor, thường được viết tắt thành PHP 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 quát.
Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. PHP đã
trở thành mợt ngơn ngữ lập trình web phở biến nhất thế giới.
 Lý do nên sử dụng ngôn ngữ lập trình PHP:

- Cợng đờng lớn: Nếu gặp phải những khó khăn nào đó, sẽ không phải là điều
lo lắng vì có rất nhiều blog PHP trên Internet.
10


- Dễ học: Có thể học dễ dàng vì nó có tài liệu tuyệt vời về các chức năng về ví
dụ.
- Chi phí thấp: Nó là nguồn mở để có thể sử dụng miễn phí.
- Được sử dụng rộng rãi, phổ biến: Nó được sử dụng để tạo ra các loại nền
tảng như thương mại điện tử, blogs, phương tiện truyền thông...
- Tích hợp với cơ sở dữ liệu: Ví dụ như MySQL, Oracle...
2.1.5. Hệ quản trị cơ sở dữ liệu:
 Giới thiệu Cơ sở dữ liệu:
Cơ sở dữ liệu (Database) là một tập hợp các dữ liệu có tổ chức, thường
được lưu trữ và truy cập điện tử từ hệ thống máy tính. Khi cơ sở dữ liệu phức
tạp hơn, chúng thường được phát triển bằng cách sử dụng các kỹ tḥt thiết kế
và mơ hình hóa chính thức.
 Giới thiệu Hệ quản trị cơ sở dữ liệu:
Hệ quản trị cơ sở dữ liệu (viết tắt của Database Management System) là hệ
thống được thiết kế để quản lý một khối lượng dữ liệu nhất định một cách tự
động và có trật tự. Các hành động quản lý bao gồm chỉnh sửa, xóa, lưu và tìm
kiếm thơng tin trong mợt nhóm dữ liệu nhất định.

11


2.2. Cơng cụ sử dụng
2.2.1. Phần mềm trực tuyến Draw.io:

Hình 2.3. Giao diện phần mềm trực tuyết Draw.io

Draw.io là một công cụ vẽ sơ đồ rất mạnh mẽ, hỗ trợ nhiều hình khối,
chạy online khơng cần cài đặt mà lại miễn phí và không bị giới hạn số biểu đồ
như nhiều tool vẽ web khác.
Draw.io cho phép vẽ hàng nghìn sơ đồ thiết kế phần mềm, phần cứng và
hệ thống. Nó có thư viện template rất phong phú để bạn có thể bắt đầu nhanh
hơn, khơng phải tự mình vẽ từ đầu.
2.2.2. Thư viện Jquery:
 Giới thiệu thư viện Jquery:
JQuery là một thư viện kiểu mới của JavaScript, hệ thống lại các hàm
của JavaScript một cách ngắn gọn, dễ dùng, được tạo vào năm 2006. JQuery
làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện và tương tác với Ajax,
tích hợp nhiều module khác nhau từ module hiệu ứng cho đến module truy vấn
selector.
 Ưu điểm của Jquery:
- Là thư viện lớn của javascript:
Thực hiện được nhiều chức năng hơn so với các thư viện JavaScript
khác.
- Dễ sử dụng:
Đây là lợi thế chính khi sử dụng Jquery, nó dễ dàng sử dụng hơn so với
nhiều thư viện JavaScript chuẩn khác bởi cú pháp đơn giản và bạn chỉ phải
viết ít dòng lệnh để tạo ra các chức năng tương tự.
12


Chỉ với 10 dòng lệnh JQuery bạn có thể thay thế cả 20 chục dòng lệnh
DOM JavaScript, tiết kiệm thời gian của lập trình viên.
- Cợng đờng mã ng̀n mở lớn mạnh:
Jquery cịn tương đối mới, có mợt cợng đờng dành thời gian của họ để
phát triển các plugin của Jquery. Như vậy, có hàng trăm plugin được viết trước
đó có sẵn để tải về ngay lập tức để đẩy nhanh quá trình viết code của người lập

trình. Mợt lợi thế khác đằng sau là hiệu quả và an toàn của các script.
- Có nhiều tài liệu và hướng dẫn:
Các trang web JQuery có tồn bợ tài liệu và hướng dẫn để ngay cả mợt
người mới bắt đầu lập trình cũng có thể làm việc dễ dàng với thư viện Jquery
này.
- Hỗ trợ AJAX:
JQuery cho phép bạn phát triển các template AJAX một cách dễ dàng.
AJAX cho phép một giao diện kiểu dáng đẹp trên website, các chức năng có
thể được thực hiện trên các trang mà khơng địi hỏi tồn bợ trang reload lại.
2.2.3. Framework Laravel:
 Giới thiệu framework Laravel:

Framework chính là một thư viện với các tài nguyên có sẵn cho từng
lĩnh vực để lập trình viên sử dụng thay vì phải tự thiết kế. Với Framework,
lập trình viên chỉ cần tìm hiểu và khai thác những tài nguyên đó, gắn kết
chúng lại với nhau và hoàn chỉnh sản phẩm của mình.
Laravel là mợt PHP Framework mã ng̀n mở miễn phí. Được phát
triển nhằm mục đích hỗ trợ phát triển các ứng dụng web theo mơ hình MVC.
 Mơ hình MVC trong Laravel:
MVC (Model-View-Controller) là mẫu kiến trúc phần mềm trên máy
tính nhằm mục đích tạo lập giao diện cho người dùng. Hệ thống MVC được
chia thành ba phần có khả năng tương tác với nhau và tách biệt các nguyên
tắc nghiệp vụ với giao diện người dùng. Ba thành phần ấy bao gồm:
- View:
View là một phần của ứng dụng chịu trách nhiệm cho việc trình bày dữ
liệu. Thành phần này được tạo bởi dữ liệu thu thập từ dữ liệu mơ hình, và
giúp người dùng có cái nhìn trực quan về trang web, cũng như ứng dụng.

13



View cũng đại diện cho dữ liệu từ các cuộc trị chụn, sơ đờ và bảng.
Ví dụ: bất kỳ View nào cũng sẽ có bao gồm tất cả các thành phần giao diện
người dùng như nút bấm, menu, khung nhập...
- Model:
Model của kiến trúc MVC là thành phần chính đảm nhiệm chức năng
lưu trữ dữ liệu và các bộ phận logic liên quan của tồn bợ ứng dụng.
Model chịu trách nhiệm cho các thao tác dữ liệu giữa Controller hoặc
bất kỳ logic nghiệp vụ liên quan nào khác như cho phép xem, truy xuất dữ
liệu...
- Controller:
Controller xử lý tương tác người dùng của ứng dụng. Nó xử lý dữ liệu
đầu vào từ bàn phím và chuột của người dùng, sau đó thông báo tới View và
Model.
Controller gửi các lệnh tới Model để thay đổi trạng thái của Model.
Controller cũng gửi các lệnh tương tự tới View để thực hiện các thay đởi về
giao diện.

Hình 2.4. Mơ hình MVC trong Laravel
 Tính năng nổi bật của Laravel:
- Tính mơ đun:
Tính mơ đun là khả năng một thành phần ứng dụng web có thể tách rời
và kêt hợp lại. Có thể phân chia logic nghiệp vụ thành các mo-đun khác
nhau, tất cả đều hoạt động cùng nhau để làm cho ứng dụng web hoạt động.

14


Sử dụng cấu trúc mô-đun có thể thiết kế và phát triển ứng dụng doanh
nghiệp quy mô lớn một cách dễ dàng. Laravel cung cấp các hướng dẫn rất

đơn giản để tạo các mô-đun hoặc pakege trong Laravel.
-Tính năng xác thực:
Xác thực là một phần không thể thiếu của bất kỳ website hiện đại nào.
Viết các thực trong các Frameword khác có thể mất rất nhiều thời gian.
Nhưng với Laravel thì ngược lại, chỉ cần chạy mợt lệnh đơn giản, đã có thể
tạo một hệ thống xác thực đầy đủ chức năng.
- Tính năng Caching:
Caching(bộ nhớ đệm) là một kỹ thuật để lưu trữ dữ liệu trong một vị trí
lưu trữ tạm thời có thể lấy ra nhanh chóng khi cần, chủ yếu được sử dụng để
làm tăng hiệu suất của website.
Laravel gần nhưng lưu tất cả dữ liệu từ View đến routes. Điều này giúp
Laravel giảm thời gian xử lý và tăng hiệu suất rất nhiều.
- Tính năng Routing:
Định tuyến(Routing) trong Laravel rất dễ hiểu, có thể sử dụng để tạo một
ứng dùng tĩnh dễ dàng. Có thể nhóm các routes, đặt tên cho chúng, áp dụng
các bộ lọc cho chúng và liên kết mơ hình dữ liệu với chúng. Các routes có
thể sử dụng để tạo các URL thân thiện với cơng cụ tìm kiếm.
- Database Query Builder:
Database Query Builder của Laravel cung cấp một cách thuận tiện để tạo
các truy cấp cơ sở dữ liệu. Nó đi kèm với vơ số chức năng của trình trợ giúp
có thể để lọc dữ liệu.
Có thể thực hiện các truy vấn phức tạp một cách dễ dàng bằng join trong
Laravel. Cú pháp Query Builder rất dễ hiểu và làm cho việc viết các truy vấn
cơ sở dữ liệu trở nên nhẹ nhàng hơn rất nhiều.
- Tính năng bảo mật rất tốt:
Laravel cung cấp cách tạo các ứng dụng web an toàn. Lưu trữ tất cả các
mật khẩu dưới dạng hash, thay vì mật khẩu text đơn giản.
Laravel cung cấp bảo mật để chống lại các cuộc tấn công truy vấn cơ sở
dữ liệu. An toàn khi xử lý với dữ liệu mà người dùng cung cấp.
- Artisan:


15


Cơng cụ dịng lệnh của Laravel được gọi là Artisan. Laravel đi kèm với
hàng ngàn lệnh được xây dựng sẵn.
2.2.4. MySQL:
 Giới thiệu MySQL:

MySQL là hệ quản trị cơ sở dữ liệu sử dụng mã nguồn mở phổ biến
nhất thế giới và được ưa cḥng trong quá trình phát triển web, ứng dụng...
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ó
CSDL trên Internet.
 Ưu điểm của MySQL:
- Dễ sử dụng: MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định, dễ sử
dụng và có thể hoạt động trên nhiề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.
- Đa tính năng: MySQL hỗ trợ rất nhiều chức năng được mong chờ từ một hệ
quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.
- Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và
hơn thế nữa nó có thể được mở rộng nếu cần thiết.
- Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc
rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.
- Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập CSDL
trên Internet khi sở hữu nhiều nhiều tính năng bảo mật, ngay cả ở cấp cao.
2.2.5. Phần mềm PhpMyAdmin:
 PhpMyAdmin là gì?

PhpMyAdmin là phần mềm mã nguồn mở được viết bằng ngôn ngữ PHP
giúp quản trị cơ sở dữ liệu MySQL thông qua giao diện web. Đây là công cụ

quản trị MySQL phổ biến nhất được sử dụng bởi hàng triệu người dùng trên
toàn thế giới, đặc biệt là các nhà quản trị cơ sở dữ liệu hay database
administrator.

16


Hình 2.5. Giao diện phần mềm PhpMyAdmin
 Các tính năng chung của PhpMyAdmin:
- Quản lý cơ sở dữ liệu: Tạo mới, sửa, xóa; thêm bảng, hàng, trường; tìm
kiếm các đối tượng.
- Quản lý người dùng(user): Thêm, sửa, xóa(phân quyền).
- Nhập xuất dữ liệu(Import/Export): Hỗ trợ các định dạng SQL, XML và
CSV.
- Sao lưu và khôi phục(Backup/Restore): Thao tác thủ công.
- Tạo đồ họa của bố cục cơ sở dữ liệu ở các định dạng khác nhau.
- Tạo truy vấn phức tạp bằng cách sử dụng Query-by-example(QBE).

17


Chương 3. Phân tích và thiết kế hệ thống
3.1. Khảo sát hệ thống:
3.1.1. Khảo sát thực trạng:
Do sự phát triển của xã hội, con người phải bận rộn với công việc làm cho họ
cảm thấy căng thẳng giải pháp tối ưu có thể là mợt chún du lịch. Chính vì điều đó
nhu cầu du lịch đang tăng dần để đáp ứng điều đó các công ty du lịch đang mở ra
càng nhiều và ngày càng phát triễn.
Hiện nay các địa điểm du lịch đang rất nhiều ví dụ Sapa, Đà Lạt, Hà Nội,..
khách hàng chỉ cần muốn đến đâu để thư giản thì các cơng ty du lịch sẽ đáp ứng cho

khách hàng bằng các tour khác nhau với các mức giá cực kì tốt. Ngồi ra việc lựa
chọn tour này mang đến cho khách hàng nhiều sự tiện lợi vì đây là lịch trình tour có
sẵn khách hàng sẽ khơng phải tự mình suy nghĩ để sắp xếp thời gian đến các địa
điểm tham quan khác nhau.
Khách hàng chỉ cần đến công ty du lịch, ở đó các nhân viên sẽ tư vấn cho
khách hàng các tour thông qua các danh mục tour có sẵn trên hệ thống. Trên danh
mục này, khách hàng sẽ được tự do thoải mái lựa chọn địa điểm mình muốn tới,
xem được lịch trình của từng tour, loại khách sạn muốn nghỉ và ngày đi. Vì có thể
xem được lịch trình khách hàng có thể dể dàng chọn những tour phù hợp với thời
gian của mình mà khơng ảnh hưởng tới cơng việc.
Sau khi xem xét, lựa chọn được tour và số lượng người tham gia tour trên hệ
thống nhân viên sẽ báo giá chính thức cho khách hàng. Nếu khách hàng đồng ý với
mức giá trên thì sẽ tiến tới bước thanh toán. Nhân viên sẽ lưu thơng tin khách hàng
trong quá trình thanh toán trên hệ thống để tiện cho việc phục vụ và giải quyết các
khiếu nại.
Khi đã hoàn thành việc thanh toán nhân viên sẽ cung cấp cho khách hàng biên
lai và lịch trình của tour để khách hàng có thể xem trước và lên lịch nghỉ ngơi cho
chuyến đi chơi của khách hàng.

18


3.1.2. Yêu cầu với hệ thống:

 Yêu cầu về chức năng:
• Thiết lập quyền và giao diện hiển thị với các quyền tương ứng.
• Người dùng:
- Đăng nhập, đăng ký hệ thống.
- Xem các tin tức
- Tìm kiếm các tour.

- Đặt tour.

• Quản trị viên: Có tất cả các chức năng quản lý hệ thống:
- Quản lý người dùng.
- Quản lý tin tức.
- Quản lý tour.
- Quản lý đặt tour.
- Quản lý đơn hàng.

 Yêu cầu về hệ thống:
• Giao diện thân thiện, dễ nhìn, màu sắc khơng đối lập.
• Có khả năng cập nhật, thêm, xóa dễ dàng.

19


• Có khả năng tra và tìm kiếm nhanh chóng.
• Thơng tin được cập nhật và chỉnh sửa thường xun.
• An toàn, bảo mật dữ liệu.
3.2. Use Case của hệ thống:
3.2.1. Các tác nhân của hệ thống:

Hình 3.1. Các tác nhân của hệ thống

Hệ thống gồm hai tác nhân chính:
- QUANTRIVIEN: Là người quản trị hệ thống, có các quyền và chức
năng cao nhất với hệ thống: đăng nhập, quản lý danh mục, quản lý địa
điểm, quản lý tour, quản lý đặt tour, ... với các chức năng như thêm,
sửa, xóa.
- KHACHHANG: Là người dùng của hệ thống thực hiện đăng ký,

đăng nhập có các chức năng như xem chi tiết tour, tìm kiếm tour, đặt
tour, xem chi tiết tin tức.

3.2.2. Use Case tổng quát:

20


Hình 3.2. Use Case tổng quát
3.2.3. Use Case hệ thống:

21


Hình 3.3. Use Case hệ thống
 UseCase Đăng ký:
− Tác nhân: Khách hàng.
− Mô tả tổng quát: Khách hàng truy cập website có thể đăng ký, xem danh

sách tour, tìm kiếm tour và đặt các tour mong muốn.
− Điều kiện đầu vào: Khi khách hàng truy cập và chọn đăng ký.
 Dòng sự kiện chính:
 Khách hàng chọn đăng ký.
 Hệ thống hiển thị trang đăng ký.
 Khách hàng nhập các trường thông tin và chọn đăng ký.
 Hệ thống kiểm tra các trường dữ liệu:
▫ Nếu thỏa mãn thì chuyển đến trang chủ.
▫ Nếu khơng thỏa mãn thì thực hiện dòng sự kiện rẽ nhánh A1.
 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ệ.

 Nhập lại thông tin.
 Quay lại bước 4 của sự kiện chính.
− Điều kiện đầu ra: Lưu tài khoản khách hàng đã đăng ký.
 UseCase Đăng nhập:
− Tác nhân: Người quản lý và khách hàng.
− Mô tả tổng quát: Người quản lý và khách hàng đăng nhập vào hệ thống.
− Điều kiện đầu vào: UseCase sử dụng khi người dùng muốn đăng nhập vào

hệ thống.
22


 Dòng sự kiện chính:
 Hệ thống yêu cầu nhập tài khoản và mật khẩu.
 Người dùng nhập tài khoản và mật khẩu.
 Hệ thống kiểm tra tên và mật khẩu vừa nhập:
▫ Nếu đúng sẽ kiểm tra quyền, và hiển thị quyền tương ứng của tài

khoản.
▫ Nếu sai thực hiện l̀ng sự kiện phụ A1.
 Dịng sự kiện phụ A1:
 Hệ thống sẽ thông báo việc nhập dữ liệu không hợp lệ.
 Người dùng nhập lại tài khoản và mật khẩu.
 Quay lại bước 3 của luồng sự kiện chính, hoặc hủy bỏ việc đăng nhập,
khi đó ca sử dụng kết thúc.
 UseCase Đăng xuất:
− Tác nhân: Người quản lý và khách hàng.
− Mô tả tổng quát: Người quản lý và khách hàng muốn thoát tài khoản khỏi

hệ thống.

− Điều kiện đầu vào: UseCase sử dụng khi người quản trị và thành viên chọn
đăng xuất.
 Dòng sự kiện chính:
 Hệ thống hủy việc lưu thông tin đăng nhập.
 Quay về màn hình trang chủ.
3.2.4. Use Case của tác nhân khách hàng:

23


Hình 3.4. Use Case của tác nhân khách hàng
 UseCase Xem tin tức:
− Tác nhân: Khách hàng.
− Mô tả tổng quát: Khách hàng muốn xem các tin tức liên quan đến các tour.
− Điều kiện đầu vào: UseCase sử dụng khi khách hàng chọn tin tức.
 Dòng sự kiện chính:
 Hệ thống lấy danh sách các tin tức.
 Hiển thị danh sách tin tức trên màn hình.
 UseCase Tìm kiếm tour:
− Tác nhân: Khách hàng.
− Mô tả tổng quát: Khách hàng muốn tìm kiếm tour.
− Điều kiện đầu vào: UseCase sử dụng khi khách hàng truy cập hệ thống.
 Dòng sự kiện chính:
 Khách hàng nhập từ khóa muốn tìm kiếm.
 Hệ thống lấy danh sách tour.
 Hệ thống so sánh dữ liệu từ khóa với thông tin các tour, và hiển thị

thông tin tour theo từ khóa khách hàng nhập.
 UseCase Xem chi tiết tour:
− Tác nhân: Khách hàng.

− Mô tả tổng quát: Khách hàng muốn xem chi tiết tour.
24




Điều kiện đầu vào: UseCase sử dụng khi khách hàng chọn tour.
 Dịng sự kiện chính:
 Hệ thống lấy thơng tin chi tiết của tour theo mã.
 Hiển thị form chi tiết tour.

 UseCase Đặt tour:
− Tác nhân: Khách hàng.
− Mô tả tổng quát: Các khách hàng muốn đặt tour của hệ thống.
− Điều kiện đầu vào: UseCase sử dụng khi bắt đầu đăng nhập thành cơng hệ

thống.
 Dịng sự kiện chính:
 Ca sử dụng bắt đầu khi khách hàng đăng nhập vào hệ thống.
 Khách hàng chọn tour muốn đặt.
 Khách hàng chọn số lượng người đi tour, chọn phòng khách sạn và
chọn đặt tour.
Hệ thống kiểm tra các trường thơng tin:
- Nếu tour cịn hỗ trợ, thực hiện bước tiếp theo.
- Nếu khơng thì thơng báo tour hết hỗ trợ, và hủy thao tác.
 Hệ thống thông báo đặt tour thành công.
 Hệ thống lưu thông tin tour vào cơ sở dữ liệu.
− Điều kiện đầu ra: Các thông tin đặt tour được lưu trong cơ sở dữ liệu.



3.2.5. Use Case quản lý danh mục:

Hình 3.5. Use Case quản lý danh mục
25


×