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 Chương 1 Tổng quan 3 1 1 Lý do chọn đề tài 3 1 2 Mục tiêu của đề tài 3 1 3 Giới hạn và phạm vi của đề tài 3 1.
Trang 1Bá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
Trang 2MỤ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
Trang 3Hì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ủ
Trang 4Hì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
Trang 6Chươ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ậthiệ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ụngcó 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áclĩ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ủaxã 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ọchó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ầuphổ biến Do đó các tour du lịch ra đời để đáp ứng nhu cầu đó Việc đặt tour và đặtphò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ớinhữ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 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ế
3 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êncứ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âydựng bằng MySQL
4 Kết quả dự kiến đạt được
Trang 7Hệ 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 thuộ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ườilớn, trẻ em, ngày đi ngày về)
- Xác nhận việc đặt phòng trong email của mình
Trang 8Chươ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ộtchứ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ăngmớ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 buộ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ả hainê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ộcvào chi tiết Chi tiết nên phụ thuộ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:
Trang 9HTML(Hypertext Markup Language) là mã được dùng để xây dựng nêncấu trúc và nội dung của trang web Ví dụ, nội dung có thể được cấu thành bởimộ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:
- 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ử, baogồm cả phần tử con của nó
- HTML5 loại bỏ hoàn toàn thuộ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épcá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
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
2.1.3. 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épClient-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:
Trang 10Hì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 địnhmà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áongườ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ạngthái động nhờ vào thành phần thứ 3 là Javascript Ba thành phần này kết hợpvới nhau tạo nên website hoàn chỉnh với giao diện (UI) và trải nghiệm ngườidù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ểncá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
Trang 11- 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ềntả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ứctạp hơn, chúng thường được phát triển bằng cách sử dụng các kỹ thuậ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ìmkiếm thông tin trong một nhóm dữ liệu nhất định
Trang 122.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 nhanhhơ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 JQuerylà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ấnselector
Ư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 JavaScriptkhá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ớinhiều thư viện JavaScript chuẩn khác bởi cú pháp đơn giản và bạn chỉ phảiviết ít dòng lệnh để tạo ra các chức năng tương tự
Trang 13Chỉ với 10 dòng lệnh JQuery bạn có thể thay thế cả 20 chục dòng lệnhDOM JavaScript, tiết kiệm thời gian của lập trình viên.
- Cộng đồng mã nguồ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ậptrì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ó toàn bộ tài liệu và hướng dẫn để ngay cả mộtngườ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 Jquerynà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 toà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ếtchú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ã nguồ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áytính nhằm mục đích tạo lập giao diện cho người dùng Hệ thống MVC đượcchia thành ba phần có khả năng tương tác với nhau và tách biệt các nguyêntắ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
Trang 14View cũng đại diện cho dữ liệu từ các cuộc trò chuyệ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ệnngười dùng như nút bấm, menu, khung nhập
- 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ácnhau, tất cả đều hoạt động cùng nhau để làm cho ứng dụng web hoạt động
Trang 15Sử dụng cấu trúc mô-đun có thể thiết kế và phát triển ứng dụng doanhnghiệ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úpLaravel 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ụngcá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ạocá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úpcó 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 trongLaravel 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ácmậ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:
Trang 16Công cụ dòng lệnh của Laravel được gọi là Artisan Laravel đi kèm vớihà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 chuộ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ớncá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ệcrấ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 CSDLtrê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ữ PHPgiú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êntoàn thế giới, đặc biệt là các nhà quản trị cơ sở dữ liệu hay databaseadministrator
Trang 17Hì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ìmkiế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)
Trang 18Chươ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 chuyế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ở racà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 chokhách hàng bằng các tour khác nhau với các mức giá cực kì tốt Ngoài ra việc lựachọ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 chokhá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 danhmụ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ờigian 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ớimứ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àngtrong 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áckhiế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ênlai 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 chochuyến đi chơi của khách hàng
Trang 193.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
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
Trang 20• 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 xuyên
• 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:
Trang 21Hình 3.2 Use Case tổng quát
3.2.3 Use Case hệ thống:
Trang 22Hì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 danhsá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àohệ thống
Trang 23 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àikhoản
▫ Nếu sai thực hiện luồ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ỏihệ 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:
Trang 24Hì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
Trang 25− Đ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
Trang 26− Tác nhân: Người quản trị.
− Mô tả tổng quát: Người quản trị quản lý các danh mục sản phẩm, giúp dễdàng trong việc tìm kiếm
− Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị
Dòng sự kiện chính:
Quản trị đăng nhập hệ thống
Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì truy cập hệ thống,
và chọn quản lý danh mục
Hệ thống hiển thị danh sách danh mục, và các chức năng: thêm, sửa vàxóa danh mục:
▫ Thêm thông tin danh mục:
Hệ thống hiển thị form nhập thông tin danh mục
Người quản lý nhập thông tin danh mục
Nhập nút thêm danh mục
Hệ thống kiểm tra các trường dữ liệu:
- Nếu thỏa mãn, thì thực hiện bước tiếp theo
- Nếu không, thì thực hiện luồng sự kiện A1
Hệ thống thông báo thêm danh mục thành công
Hệ thống lưu lại thông tin danh mục
▫ Sửa thông tin danh mục:
Hệ thống hiển thị form cập nhật thông tin danh mục
Người quản lý nhập thông tin cần thay đổi
Nhập nút cập nhật danh mục
Hệ thống kiểm tra các trường dữ liệu:
- Nếu thỏa mãn, thì thực hiện bước tiếp theo
- Nếu không, thì thực hiện luồng sự kiện A1
Hệ thống thông báo cập nhật danh mục thành công
Hệ thống cập nhật thông tin danh mục
▫ Xóa danh mục:
Người quản lý chọn thông tin danh mục cần xóa
Hệ thống kiểm tra:
- Nếu không có ràng buộc, thực hiện bước tiếp theo
- Ngược lại, hủy xóa
Dòng sự kiện rẽ nhánh A1:
Hệ thống báo lỗi
Quản trị thưc hiện nhập lại dữ liệu
Quay lại bước 3 của sự kiện phụ
− Điều kiện đầu ra: Danh sách các danh mục được cập nhật đầy đủ vào cơ sở
dữ liệu
Trang 273.2.6 Use Case quản lý địa điểm:
Hình 3.6 Use Case quản lý địa điểm
− Tác nhân: Người quản trị
− Mô tả tổng quát: Người quản trị quản lý các địa điểm có trong các tour dulịch
− Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị
Dòng sự kiện chính:
Quản trị đăng nhập hệ thống
Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì truy cập hệ thống,
và chọn quản lý địa điểm
Hệ thống hiển thị danh sách địa điểm, và các chức năng: thêm, sửa vàxóa địa điểm:
▫ Thêm thông tin địa điểm:
Hệ thống hiển thị form nhập thông tin địa điểm
Người quản lý nhập thông tin địa điểm
Nhập nút thêm địa điểm
Hệ thống kiểm tra các trường dữ liệu:
- Nếu thỏa mãn, thì thực hiện bước tiếp theo
- Nếu không, thì thực hiện luồng sự kiện A1
Hệ thống thông báo thêm địa điểm thành công
Hệ thống lưu lại thông tin địa điểm
▫ Sửa thông tin địa điểm:
Trang 28 Người quản lý nhập thông tin cần thay đổi.
Nhập nút cập nhật địa điểm
Hệ thống kiểm tra các trường dữ liệu:
- Nếu thỏa mãn, thì thực hiện bước tiếp theo
- Nếu không, thì thực hiện luồng sự kiện A1
Hệ thống thông báo cập nhật địa điểm thành công
Hệ thống cập nhật thông tin địa điểm
▫ Xóa địa điểm:
Người quản lý chọn thông tin địa điểm cần xóa
Hệ thống kiểm tra:
- Nếu không có ràng buộc, thực hiện bước tiếp theo
- Ngược lại, hủy xóa
Dòng sự kiện rẽ nhánh A1:
Hệ thống báo lỗi
Quản trị thưc hiện nhập lại dữ liệu
Quay lại bước 3 của sự kiện phụ
− Điều kiện đầu ra: Danh sách các địa điểm được cập nhật đầy đủ vào cơ sở
dữ liệu
3.2.7 Use Case quản lý tour:
Trang 29Hình 3.7 Use Case quản lý tour
− Tác nhân: Người quản trị
− Mô tả tổng quát: Người quản trị quản lý các tour du lịch
− Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị
Dòng sự kiện chính:
Quản trị đăng nhập hệ thống
Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì truy cập hệ thống,
và chọn quản lý tour
Hệ thống hiển thị danh sách tour, và các chức năng: thêm, sửa và xóa
và xem chi tiết tour:
▫ Thêm thông tin tour:
Hệ thống hiển thị form nhập thông tin tour
Người quản lý nhập thông tin tour
Nhập nút thêm tour
Hệ thống kiểm tra các trường dữ liệu:
- Nếu thỏa mãn, thì thực hiện bước tiếp theo
- Nếu không, thì thực hiện luồng sự kiện A1
Hệ thống thông báo thêm tour thành công
Hệ thống lưu lại thông tin tour
▫ Sửa thông tin tour:
Hệ thống hiển thị form cập nhật thông tin tour
Người quản lý nhập thông tin cần thay đổi
Trang 30 Hệ thống kiểm tra các trường dữ liệu:
- Nếu thỏa mãn, thì thực hiện bước tiếp theo
- Nếu không, thì thực hiện luồng sự kiện A1
Hệ thống thông báo cập nhật tour thành công
Hệ thống cập nhật thông tin tour
▫ Xóa tour:
Người quản lý chọn thông tin tour cần xóa
Hệ thống kiểm tra:
- Nếu không có ràng buộc, thực hiện bước tiếp theo
- Ngược lại, hủy xóa
▫ Xem chi tiết tour:
Quản lý chọn tour muốn xem chi tiết
Chọn xem chi tiết tour
Hệ thống lấy thông tin chi tiết tour theo ID
Hệ thống hiện thị form chi tiết tour trên màn hình
Dòng sự kiện rẽ nhánh A1:
Hệ thống báo lỗi
Quản trị thưc hiện nhập lại dữ liệu
Quay lại bước 3 của sự kiện phụ
− Điều kiện đầu ra: Danh sách các tour được cập nhật đầy đủ vào cơ sở dữliệu
3.2.8 Use Case quản lý người dùng:
Hình 3.8 Use Case quản lý người dùng
Trang 31− Tác nhân: Người quản trị.
− Mô tả tổng quát: Người quản trị quản lý thông tin khách hàng đăng kýngười dùng
− Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị
Dòng sự kiện chính:
Quản trị đăng nhập hệ thống
Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì truy cập hệ thống,
và chọn quản lý người dùng
Hệ thống hiển thị danh sách người dùng, và các chức năng: thêm, sửa
và xóa người dùng:
▫ Thêm thông tin người dùng:
Hệ thống hiển thị form nhập thông tin người dùng
Người quản lý nhập thông tin người dùng
Nhập nút thêm người dùng
Hệ thống kiểm tra các trường dữ liệu:
- Nếu thỏa mãn, thì thực hiện bước tiếp theo
- Nếu không, thì thực hiện luồng sự kiện A1
Hệ thống thông báo thêm người dùng thành công
Hệ thống lưu lại thông tin người dùng
▫ Sửa thông tin người dùng:
Hệ thống hiển thị form cập nhật thông tin người dùng
Người quản lý nhập thông tin cần thay đổi
Nhập nút cập nhật người dùng
Hệ thống kiểm tra các trường dữ liệu:
- Nếu thỏa mãn, thì thực hiện bước tiếp theo
- Nếu không, thì thực hiện luồng sự kiện A1
Hệ thống thông báo cập nhật người dùng thành công
Hệ thống cập nhật thông tin người dùng
▫ Xóa người dùng:
Người quản lý chọn thông tin người dùng cần xóa
Hệ thống kiểm tra:
- Nếu không có ràng buộc, thực hiện bước tiếp theo
- Ngược lại, hủy xóa
Dòng sự kiện rẽ nhánh A1:
Hệ thống báo lỗi
Quản trị thưc hiện nhập lại dữ liệu
Quay lại bước 3 của sự kiện phụ
− Điều kiện đầu ra: Danh sách các người dùng được cập nhật đầy đủ vào cơ
sở dữ liệu
Trang 323.2.9 Use Case quản lý admin:
Hình 3.9 Use Case quản lý admin
− Tác nhân: Người quản trị
− Mô tả tổng quát: Người quản trị quản lý các tài khoản admin quản lý hệthống
− Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị
Dòng sự kiện chính:
Quản trị đăng nhập hệ thống
Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì truy cập hệ thống,
và chọn quản lý admin
Hệ thống hiển thị danh sách admin, và các chức năng: thêm, sửa vàxóa admin:
▫ Thêm thông tin admin:
Hệ thống hiển thị form nhập thông tin admin
Người quản lý nhập thông tin admin
Nhập nút thêm admin
Trang 33 Hệ thống kiểm tra các trường dữ liệu:
- Nếu thỏa mãn, thì thực hiện bước tiếp theo
- Nếu không, thì thực hiện luồng sự kiện A1
Hệ thống thông báo thêm admin thành công
Hệ thống lưu lại thông tin admin
▫ Sửa thông tin admin:
Hệ thống hiển thị form cập nhật thông tin admin
Người quản lý nhập thông tin cần thay đổi
Nhập nút cập nhật admin
Hệ thống kiểm tra các trường dữ liệu:
- Nếu thỏa mãn, thì thực hiện bước tiếp theo
- Nếu không, thì thực hiện luồng sự kiện A1
Hệ thống thông báo cập nhật admin thành công
Hệ thống cập nhật thông tin admin
▫ Xóa admin:
Người quản lý chọn thông tin admin cần xóa
Hệ thống kiểm tra:
- Nếu không có ràng buộc, thực hiện bước tiếp theo
- Ngược lại, hủy xóa
Dòng sự kiện rẽ nhánh A1:
Hệ thống báo lỗi
Quản trị thưc hiện nhập lại dữ liệu
Quay lại bước 3 của sự kiện phụ
− Điều kiện đầu ra: Danh sách các admin được cập nhật đầy đủ vào cơ sở dữliệu
3.2.10 Use Case quản lý đặt tour:
Trang 34Hình 3.10 Use Case quản lý đặt tour
− Tác nhân: Người quản trị
− Mô tả tổng quát: Người quản trị quản lý các tour du lịch khách hàng đã đặt
− Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị
Dòng sự kiện chính:
Quản trị đăng nhập hệ thống
Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì truy cập hệ thống,
và chọn quản lý đặt tour
Hệ thống hiển thị danh sách đặt tour, và các chức năng: sửa và xóa vàxem chi tiết đặt đặt tour:
▫ Sửa thông tin đặt tour:
Hệ thống hiển thị form cập nhật thông tin đặt tour
Người quản lý nhập thông tin cần thay đổi
Nhập nút cập nhật đặt tour
Hệ thống kiểm tra các trường dữ liệu:
- Nếu thỏa mãn, thì thực hiện bước tiếp theo
- Nếu không, thì thực hiện luồng sự kiện A1
Hệ thống thông báo cập nhật đặt tour thành công
Hệ thống cập nhật thông tin đặt tour
▫ Xóa đặt tour:
Người quản lý chọn thông tin đặt tour cần xóa
Hệ thống kiểm tra:
- Nếu không có ràng buộc, thực hiện bước tiếp theo
- Ngược lại, hủy xóa
▫ Xem chi tiết đặt tour:
Trang 35 Quản lý chọn đặt tour muốn xem chi tiết.
Chọn xem chi tiết đặt tour
Hệ thống lấy thông tin chi tiết đặt tour theo ID
Hệ thống hiện thị form chi tiết đặt tour trên màn hình
Dòng sự kiện rẽ nhánh A1:
Hệ thống báo lỗi
Quản trị thưc hiện nhập lại dữ liệu
Quay lại bước 3 của sự kiện phụ
− Điều kiện đầu ra: Danh sách các đặt tour được cập nhật đầy đủ vào cơ sở dữliệu
3.3 Biểu đồ hoạt động:
Biểu đồ hoạt động đăng ký:
Trang 36Hình 3.11 Biểu đồ hoạt động đăng ký
Biểu đồ hoạt động đăng nhập:
Trang 37Hình 3.12 Biểu đồ hoạt động đăng nhập
Trang 38Hình 3.13 Biểu đồ hoạt động xem chi tiết tour
Biểu đồ hoạt động đặt tour:
Trang 39Hình 3.14 Biểu đồ hoạt động đặt tour
Biểu đồ hoạt động quản lý tour:
Trang 40Hình 3.15 Biểu đồ hoạt động thêm tour