CƠ SỞ LÝ THUYẾT
LÝ THUYẾT ÁP DỤNG
Website, hay còn gọi là trang web, là một tập hợp các trang web nằm trong một tên miền hoặc tên miền phụ trên Internet Mỗi trang web được xây dựng bằng ngôn ngữ HTML hoặc XHTML và có thể truy cập thông qua giao thức HTTP Một website bao gồm nhiều trang con (webpage), là các tập tin HTML hoặc XHTML được lưu trữ trên máy chủ Thông tin trên các trang này có thể ở nhiều định dạng khác nhau, bao gồm văn bản, âm thanh, hình ảnh và video.
MVC là viết tắt của Model, View và Controller, là một mô hình thiết kế quan trọng trong kỹ thuật phần mềm Mô hình này phân chia mã nguồn thành ba phần riêng biệt, mỗi phần đảm nhận một chức năng khác nhau, giúp tối ưu hóa quy trình phát triển ứng dụng.
Hình 2.1: Mô hình MVC a Model (M)
Model là bộ phận lưu trữ dữ liệu của ứng dụng, đóng vai trò cầu nối giữa View và Controller Nó có thể được biểu diễn dưới dạng cơ sở dữ liệu hoặc file XML, cho phép thực hiện các thao tác như xem, truy xuất và xử lý dữ liệu Trong khi đó, View là phần giao diện dành cho người sử dụng, nơi người dùng có thể truy cập thông tin từ MVC thông qua các thao tác tìm kiếm hoặc sử dụng trên website.
Trong các ứng dụng web, MVC View đóng vai trò quan trọng trong việc tạo ra các thành phần HTML và ghi nhận hoạt động của người dùng để tương tác với Controller Tuy nhiên, View không có mối quan hệ trực tiếp với Controller và không lấy dữ liệu từ Controller, mà chỉ hiển thị yêu cầu được chuyển tới Controller.
Bộ phận Controller chịu trách nhiệm xử lý các yêu cầu từ người dùng thông qua view, cung cấp dữ liệu phù hợp và kết nối với model để đảm bảo tính tương tác hiệu quả trong ứng dụng.
2.1.3 Mô hình thương mại điện tử B2C
B2C là viết tắt của cụm từ Business To Consumer (Doanh nghiệp - Người tiêu dùng)
B2C, hay Business to Consumer, là thuật ngữ chỉ các giao dịch giữa doanh nghiệp và người tiêu dùng Quá trình này bao gồm việc bán sản phẩm và dịch vụ trực tiếp đến tay người tiêu dùng cuối cùng Những doanh nghiệp thực hiện bán hàng trực tiếp cho người tiêu dùng thường được phân loại là doanh nghiệp B2C.
CÔNG NGHỆ ÁP DỤNG
HTML, viết tắt của Hypertext Markup Language, là ngôn ngữ giúp người dùng cấu trúc và tạo ra các thành phần trên trang web hoặc ứng dụng, bao gồm phân chia đoạn văn, tiêu đề, liên kết và trích dẫn.
Khi làm việc với HTML, chúng ta sẽ sử dụng cấu trúc code đơn giản (tags và attributes) để đánh dấu lên trang web
HTML documents là các tệp có đuôi html hoặc htm, có thể được mở bằng bất kỳ trình duyệt web nào như Google Chrome, Safari hay Mozilla Firefox Trình duyệt sẽ đọc các tệp HTML và hiển thị nội dung trên internet để người dùng dễ dàng truy cập và xem.
Hình 2.3: Ngôn ngữ HTML b CSS
CSS là ngôn ngữ tạo phong cách cho trang web – Cascading Style Sheet language
CSS được sử dụng để tạo phong cách và định kiểu cho các yếu tố trong ngôn ngữ đánh dấu như HTML, giúp điều khiển định dạng cho nhiều trang web cùng lúc, tiết kiệm công sức cho người viết Nó phân biệt cách hiển thị của trang web với nội dung chính bằng việc điều chỉnh bố cục, màu sắc và font chữ Mối quan hệ giữa HTML và CSS là rất chặt chẽ; trong đó HTML là ngôn ngữ markup nền tảng của trang web, còn CSS định hình phong cách, tạo nên giao diện tổng thể của website, khiến chúng không thể tách rời.
Hình 2.4: Ngôn ngữ CSS c JavaScript
JavaScript là ngôn ngữ lập trình chủ yếu dùng để tạo ra các trang web tương tác, được tích hợp trực tiếp vào HTML Nó cho phép kiểm soát hành vi của trang web hiệu quả hơn so với chỉ sử dụng HTML JavaScript có nhiều ưu điểm vượt trội, bao gồm không cần compiler vì có thể được biên dịch trực tiếp bởi trình duyệt, dễ học hơn so với các ngôn ngữ khác, và lỗi dễ phát hiện, giúp việc sửa chữa trở nên đơn giản Ngôn ngữ này có thể được gắn vào các phần tử hoặc sự kiện của trang web, hoạt động trên nhiều trình duyệt và nền tảng khác nhau Bên cạnh đó, JavaScript giúp kiểm tra dữ liệu đầu vào và giảm thiểu việc kiểm tra thủ công khi truy cập cơ sở dữ liệu, từ đó nâng cao tính tương tác và hiệu suất của website.
Hình 2.5: Ngôn ngữ JavaScript d Bootstrap
Bootstrap simplifies and accelerates the web design process by providing essential components such as typography, forms, buttons, tables, grids, navigation, and image carousels.
Bootstrap là bộ công cụ mã nguồn mở miễn phí giúp tạo mẫu website hoàn chỉnh Với các thuộc tính giao diện được định sẵn như kích thước, màu sắc, và độ cao, các designer có thể dễ dàng sáng tạo ra những sản phẩm mới mẻ, đồng thời tiết kiệm thời gian khi sử dụng framework này trong thiết kế giao diện website.
JQuery là một thư viện Javascript nổi bật, được phát triển bởi John Resig vào năm 2006, và trở thành công cụ quan trọng trong lập trình web Sử dụng JQuery giúp lập trình viên tiết kiệm thời gian và công sức trong quá trình thiết kế website so với việc sử dụng Slogan.
Hình 2.7: Logo jQuery 2.2.2 Backend a PHP
PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản mã nguồn mở, chủ yếu dùng để phát triển ứng dụng máy chủ Với khả năng nhúng dễ dàng vào HTML, PHP tối ưu hóa cho ứng dụng web, mang lại tốc độ nhanh và cú pháp dễ học giống C và Java Nhờ vào thời gian xây dựng sản phẩm ngắn, PHP đã nhanh chóng trở thành ngôn ngữ lập trình web phổ biến nhất trên thế giới.
Hình 2.8: Ngôn ngữ PHP b MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới, được ưa chuộng bởi các nhà phát triển ứng dụng nhờ vào tốc độ cao, tính ổn định và dễ sử dụng Hệ thống này hoạt động trên nhiều hệ điều hành khác nhau và cung cấp nhiều hàm tiện ích mạnh mẽ Với tính bảo mật cao, MySQL rất phù hợp cho các ứng dụng truy cập cơ sở dữ liệu qua internet Người dùng có thể tải MySQL miễn phí từ trang chủ, với nhiều phiên bản tương thích cho Windows, Linux, Mac OS X và các hệ điều hành khác như Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris và SunOS.
MySQL là một hệ quản trị cơ sở dữ liệu phổ biến, hỗ trợ nhiều ngôn ngữ lập trình như NodeJs, PHP và Perl, giúp lưu trữ thông tin cho các trang web được phát triển bằng các ngôn ngữ này.
Hình 2.9: Hệ quản trị CSDL MySQL c PHPMailer
Trong PHP, hàm mail được sử dụng để gửi email, nhưng nó có nhiều hạn chế, đặc biệt là hầu hết các hosting không cho phép sử dụng hàm này Do đó, các nhà phát triển web thường cần đến các thư viện gửi mail bên ngoài như PHPMailer và Swiftmailer Trong số đó, PHPMailer là một thư viện rất phổ biến và được nhiều người sử dụng.
Hiện nay, nhiều ứng dụng web cung cấp tài liệu văn bản dưới dạng hóa đơn, hợp đồng hoặc PDF Trong số các lớp PHP có sẵn để tạo file PDF trực tuyến, TCPDF là một lựa chọn phổ biến.
PHẦN MỀM SỬ DỤNG
Visual Studio Code, trình biên tập mã nguồn miễn phí do Microsoft phát triển, tương thích với Windows, Linux và macOS Đây là sự kết hợp hoàn hảo giữa môi trường phát triển tích hợp (IDE) và trình biên tập mã nguồn, mang đến trải nghiệm lập trình hiệu quả cho người dùng.
Visual Studio Code cung cấp tính năng debug mạnh mẽ, tích hợp Git, hỗ trợ syntax highlighting, tự hoàn thành mã thông minh, và snippets, giúp cải thiện quy trình lập trình Ngoài ra, với khả năng tùy chỉnh cao, người dùng có thể thay đổi theme, phím tắt và nhiều tùy chọn khác để phù hợp với nhu cầu cá nhân.
Hình 2.12: Phần mềm Visual Studio Code 2.3.2 XAMPP
XAMPP là chương trình tạo web server được ứng dụng trên các hệ điều hành Linux, MacOS, Windows, Cross-platform, Solaris.
XAMPP là một phần mềm tích hợp bao gồm 5 thành phần chính: Cross-Platform (X), Apache (A), MariaDB (M), PHP (P) và Perl (P) Tên gọi XAMPP được hình thành từ chữ cái đầu của các phần mềm này, thể hiện sự kết hợp hoàn hảo cho việc phát triển ứng dụng web.
XAMPP là công cụ lý tưởng để xây dựng và phát triển các dự án website sử dụng ngôn ngữ PHP Nó cho phép người dùng nghiên cứu và phát triển website trên Localhost của máy tính cá nhân, phục vụ cho nhiều mục đích từ học tập đến nâng cấp và thử nghiệm các sản phẩm của lập trình viên.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
ĐỐI TƯỢNG SỬ DỤNG
Bảng 3.1: Chức năng của Admin
Chức năng Chức năng con Đăng nhập
Xem danh sánh tài khoản Thêm tài khoảnmới Chỉnh sửa tài khoản Xóa tài khoản Tìm kiếm tài khoản
Doanh thu theo tháng Tour được đặt nhiều nhất
Số lượng đặt Doanh thu
Xem danh sánh tour Thêm tour
Chỉnh sửa tour Sao chép tour Xóa tour Tìm kiếm tour
Xem danh sánh Blog Thêm Blog
Chỉnh sửa Blog Xóa Blog Tìm kiếm Blog
Xem danh sách tỉnh Thêm tỉnh
Chỉnh sửa tỉnh Xóa tỉnh Tìm kiếm tỉnh
Xem danh sách quốc gia Thêm quốc gia
Chỉnh sửa quốc gia Tìm kiếm quốc gia
Quản lý đơn đặt tour
Danh sách hóa đơn Hủy Tour
Chức năng Chức năng con
Danh sách trợ giúp Trả lời trợ giúp Xóa trợ giúp Tìm kiếm
Danh sách Slide Thêm Side Sửa Slide Xóa Slide
Thêm Slide Sửa Slide Xóa Slide Tìm kiếm Slide Danh sách Slide
Bảng 3.2: Chức năng của Khách hàng
Chức năng Chức năng con Đăng ký Đăng nhập
Quán lý thông tin cá nhân
Thay đổi mật khẩu Quản lý tour tour đã đặt Trợ giúp Đăng xuất
Bảng 3.3: Chức năng của Người quản lý tour
Chức năng Chức năng con Đăng nhập Đăng xuất
Quản lý trợ giúp Trả lời trợ giúp
Quản lý tour Danh sách tour
Chức năng Chức năng con
Chỉnh sửa tour Sao chép tour Xóa tour
In danh sách tour Tìm kiếm tour
Xem danh sánh blog Thêm blog
Chỉnh sửa blog Xóa blog Tìm kiếm blog Quán lý thông tin cá nhân Thay đổ mật khẩu
Danh sách trợ giúp Trả lời trợ giúp Xóa trợ giúp Tìm kiếm Đăng xuất
PHÂN TÍCH YÊU CẦU
- Đầu vào: Tên tài khoản (hoặc email) và mật khẩu
Bước 1: Người dùng nhập form đăng nhập và gửi form
Bước 2: Server kiểm tra đăng nhập
Bước 3: Server phản hồi lại kết quả đăng nhập cho người dùng
Đăng nhập thành công: Thông báo đăng nhập thành công
Đăng nhập không thành công: Thông báo nhập form sai b Đăng xuất
Bước 1: Người dùng đăng xuất
Bước 2: Server đăng xuất người dùng
- Đầu ra : Không c Quản lý tài khoản
Xem danh sách tài khoản
Bước 1: Người dùng truy cập trang xem danh sách tài khoản
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách tài khoản
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách tài khoản
- Đầu vào: Id tài khoản
Bước 1: Người dùng truy cập trang xem tài khoản
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin tài khoản
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin tài khoản
- Đầu vào: Tên tài khoản, mật khẩu, họ, tên, sdt, email, loại tài khoản
Bước 1: Người dùng nhập form thêm tài khoản và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server thêm tài khoản mới vào CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Thêm tài khoản thành công: Thông báo thêm tài khoản thành công
- Đầu vào: Id tài khoản, mật khẩu, họ, tên, sdt, email
Bước 1: Người dùng nhập form chỉnh sửa tài khoản và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server cập nhật lại tài khoản trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Chỉnh sửa tài khoản thành công: Thông báo chỉnh sửa tài khoản thành công Xóa tài khoản
- Đầu vào: Id tài khoản
Bước 1: Người dùng nhấn nút xóa tài khoản
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra tài khoản nếu có liên kết khóa ngoại
Bước 4: Server xóa tài khoản trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id tài khoản có liên kết khóa ngoại: Thông báo tài khoản không thể xóa
Xóa tài khoản thành công: Thông báo xóa tài khoản thành công d Quản lý tour
Bước 1: Người dùng truy cập trang xem danh sách tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách tour
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách tour
Bước 1: Người dùng truy cập trang xem tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin tour
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin tour
Khi đặt tour, bạn cần cung cấp các thông tin quan trọng như tên tour, số lượng người tham gia, địa chỉ xuất phát và điểm đến, ngày khởi hành và ngày kết thúc Ngoài ra, phương tiện di chuyển, giá gốc, giá tour hiện tại, giá cho người lớn và giá cho trẻ em cũng là những yếu tố cần lưu ý để đảm bảo chuyến đi diễn ra suôn sẻ và tiết kiệm.
Bước 1: Người dùng nhập form thêm tour và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server thêm tour mới vào CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Thêm tour thành công: Thông báo thêm tour thành công
Để tổ chức một chuyến du lịch hoàn hảo, bạn cần chuẩn bị các thông tin quan trọng như ID tour, tên tour, số lượng người tham gia, địa chỉ xuất phát và điểm đến Ngoài ra, hãy xác định ngày khởi hành và ngày kết thúc, cùng với phương tiện di chuyển Cuối cùng, bạn cần lưu ý giá gốc, giá tour hiện tại, giá cho người lớn và giá cho trẻ em để đảm bảo sự lựa chọn phù hợp cho mọi thành viên trong đoàn.
Bước 1: Người dùng nhập form chỉnh sửa tour và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server cập nhật lại tour trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Chỉnh sửa tour thành công: Thông báo chỉnh sửa tour thành công
Bước 1: Người dùng nhấn nút xóa tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra tour nếu có liên kết khóa ngoại
Bước 4: Server xóa tour trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id tour có liên kết khóa ngoại: Thông báo tour không thể xóa
Xóa tour thành công: Thông báo xóa tour thành công e Quản lý blog
Bước 1: Người dùng truy cập trang xem danh sách blog
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách blog
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách blog
Bước 1: Người dùng truy cập trang xem blog
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin blog
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin blog
- Đầu vào: Tiêu đề, tóm tắt, nội dung
Bước 1: Người dùng nhập form thêm blog và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server thêm blog mới vào CSDL
- Đầu ra : Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Thêm blog thành công: Thông báo thêm blog thành công
- Đầu vào: Id blog, Tiêu đề, tóm tắt, nội dung
Bước 1: Người dùng nhập form chỉnh sửa blog và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server cập nhật lại blog trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Chỉnh sửa blog thành công: Thông báo chỉnh sửa blog thành công Xóa blog
Bước 1: Người dùng nhấn nút xóa blog
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra blog nếu có liên kết khóa ngoại
Bước 4: Server xóa blog trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id blog có liên kết khóa ngoại: Thông báo blog không thể xóa
Xóa blog thành công: Thông báo xóa blog thành công
Bước 1: Người dùng truy cập trang xem danh sách tỉnh
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách tỉnh
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách tỉnh
Bước 1: Người dùng truy cập trang xem tỉnh
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin tỉnh
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin tỉnh
- Đầu vào: Tên tỉnh, quốc gia
Bước 1: Người dùng nhập form thêm tỉnh và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server thêm tỉnh mới vào CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Thêm tỉnh thành công: Thông báo thêm tỉnh thành công
- Đầu vào: Id tỉnh, quốc gia
Bước 1: Người dùng nhập form chỉnh sửa tỉnh và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server cập nhật lại tỉnh trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Chỉnh sửa tỉnh thành công: Thông báo chỉnh sửa tỉnh thành công Xóa tỉnh
Bước 1: Người dùng nhấn nút xóa tỉnh
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra tỉnh nếu có liên kết khóa ngoại
Bước 4: Server xóa tỉnh trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id tỉnh có liên kết khóa ngoại: Thông báo tỉnh không thể xóa
Xóa tỉnh thành công: Thông báo xóa tỉnh thành công f Quản lý quốc gia
Xem danh sách quốc gia
Bước 1: Người dùng truy cập trang xem danh sách quốc gia
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách quốc gia
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách quốc gia
- Đầu vào: Id quốc gia
Bước 1: Người dùng truy cập trang xem quốc gia
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin quốc gia
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin quốc gia
- Đầu vào:Tên quốc gia
Bước 1: Người dùng nhập form thêm quốc gia và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server thêm quốc gia mới vào CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Thêm quốc gia thành công: Thông báo thêm quốc gia thành công
- Đầu vào: Id quốc gia, tên quốc gia
Bước 1: Người dùng nhập form chỉnh sửa quốc gia và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server cập nhật lại quốc gia trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Chỉnh sửa quốc gia thành công: Thông báo chỉnh sửa quốc gia thành công Xóa quốc gia
- Đầu vào: Id quốc gia
Bước 1: Người dùng nhấn nút xóa quốc gia
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra quốc gia nếu có liên kết khóa ngoại
Bước 4: Server xóa quốc gia trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id quốc gia có liên kết khóa ngoại: Thông báo quốc gia không thể xóa
Xóa quốc gia thành công: Thông báo xóa quốc gia thành công g Quản lý đơn đặt tour
Xem danh sách đặt tour
Bước 1: Người dùng truy cập trang xem danh sách đặt tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách đặt tour
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách đặt tour
- Đầu vào: Id đặt tour
Bước 1: Người dùng truy cập trang xem đặt tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin đặt tour
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin đặt tour
- Đầu vào: Id đặt tour
Bước 1: Người dùng nhấn nút hủy đặt tour
Bước 2: Server kiểm tra quyền truy cập
Bước 4: Server hủy đặt tour trên CSDL
Bước 5: Server thông báo hủy tour qua email
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id đặt tour có liên kết khóa ngoại: Thông báo đặt tour không thể xóa
Hủy đặt tour thành công: Thông báo xóa đặt tour thành công
- Đầu vào: Id đặt tour
Bước 1: Người dùng nhấn nút xác nhận đặt tour
Bước 2: Server kiểm tra quyền truy cập
Bước 4: Server cập nhật đặt tour trên CSDL
Bước 5: Server thông báo tour đã được xác nhận qua email
Không có quyền truy cập: Thông báo quyền bị hạn chế
Xác nhận đặt tour thành công: Thông báo xác nhận đặt tour thành công Xác nhận đã hoàn thành tour
- Đầu vào: Id đặt tour
Bước 1: Người dùng nhấn nút xác nhận đã hoàn thành tour
Bước 2: Server kiểm tra quyền truy cập
Bước 4: Server cập nhật đặt tour trên CSDL
Bước 5: Server thông báo tour đã hoàn thành qua email
Không có quyền truy cập: Thông báo quyền bị hạn chế
Xác nhận hoàn thành tour thành công: Thông báo xác nhận hoàn thành tour thành công h Quản lý trợ giúp
Xem danh sách trợ giúp
Bước 1: Người dùng truy cập trang xem danh sách trợ giúp
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách trợ giúp
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách trợ giúp
- Đầu vào: Id trợ giúp
Bước 1: Người dùng truy cập trang xem trợ giúp
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin trợ giúp
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin trợ giúp
- Đầu vào: Id trợ giúp, loại trợ giúp, nội dung gửi trợ giúp
Bước 1: Người dùng nhập form phản hồi trợ giúp và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server cập nhật lại trợ giúp trên CSDL
Bước 5: Server gửi email thông báo phản hồi
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Phản hồi trợ giúp thành công: Thông báo chỉnh sửa trợ giúp thành công Xóa trợ giúp
- Đầu vào: Id trợ giúp
Bước 1: Người dùng nhấn nút xóa trợ giúp
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra trợ giúp nếu có liên kết khóa ngoại
- Bước 4: Server xóa trợ giúp trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id trợ giúp có liên kết khóa ngoại: Thông báo trợ giúp không thể xóa
Xóa trợ giúp thành công: Thông báo xóa trợ giúp thành công i Quản lý slide
Bước 1: Người dùng truy cập trang xem danh sách slide
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách slide
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách slide
Bước 1: Người dùng truy cập trang xem slide
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin slide
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin slide
- Đầu vào: Tiêu đề, nội dung, ngày bắt đầu, ngày kết thúc, địa chỉ url
Bước 1: Người dùng nhập form thêm slide và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server thêm slide mới vào CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Thêm slide thành công: Thông báo thêm slide thành công
- Đầu vào: Id slide, tiêu đề, nội dung, ngày bắt đầu, ngày kết thúc, địa chỉ url
Bước 1: Người dùng nhập form chỉnh sửa slide và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server cập nhật lại slide trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Chỉnh sửa slide thành công: Thông báo chỉnh sửa slide thành công Xóa slide
Bước 1: Người dùng nhập nhấn nút xóa slide
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra slide nếu có liên kết khóa ngoại
Bước 4: Server xóa slide trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id slide có liên kết khóa ngoại: Thông báo slide không thể xóa
Xóa slide thành công: Thông báo xóa slide thành công j Quản lý loại slide
Xem danh sách loại slide
Bước 1: Người dùng truy cập trang xem danh sách loại slide
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách loại slide
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách loại slide
- Đầu vào: Id loại slide
Bước 1: Người dùng truy cập trang xem loại slide
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin loại slide
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin loại slide
- Đầu vào: Tên loại slide
Bước 1: Người dùng nhập form chỉnh sửa loại slide và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server thêm loại slide mới vào CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Chỉnh sửa loại slide thành công: Thông báo thêm loại slide thành công Chỉnh sửa loại slide
- Đầu vào: Id loại slide, tên loại slide
Bước 1: Người dùng nhập form chỉnh sửa loại slide và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server cập nhật lại loại slide trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Chỉnh sửa loại slide thành công: Thông báo chỉnh sửa loại slide thành công Xóa loại slide
- Đầu vào: Id loại slide
Bước 1: Người dùng nhập form thêm loại slide và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra loại slide nếu có liên kết khóa ngoại
Bước 4: Server xóa loại slide trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id loại slide có liên kết khóa ngoại: Thông báo loại slide không thể xóa
Xóa loại slide thành công: Thông báo xóa loại slide thành công
- Đầu vào:Tên tài khoản (hoặc email) và mật khẩu
Bước 1: Người dùng nhập form đăng nhập và gửi form
Bước 2: Server kiểm tra đăng nhập
Bước 3: Server phản hồi lại kết quả đăng nhập cho người dùng
Đăng nhập thành công: Thông báo đăng nhập thành công
Đăng nhập không thành công: Thông báo nhập form sai b Đăng xuất
Bước 1: Người dùng đăng xuất
Bước 2: Server đăng xuất người dùng
- Đầu ra: Không c Đăng ký
- Đầu vào: Tên tài khoản (hoặc email) và mật khẩu
Bước 1: Người dùng nhập form đăng nhập và gửi form
Bước 2: Server kiểm tra đăng nhập
Bước 3: Server phản hồi lại kết quả đăng nhập cho người dùng
Đăng nhập thành công: Thông báo đăng nhập thành công
Đăng nhập không thành công: Thông báo nhập form sai d Xem danh sách tour
Bước 1: Người dùng truy cập trang xem danh sách tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách tour
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách tour e Xem tour
Bước 1: Người dùng truy cập trang xem tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin tour
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin tour f Đặt tour
- Đầu vào: Họ tên, id tour, số điện thoại, email
Bước 1: Người dùng nhập form đặt tour và gửi form
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server thêm đặt tour mới vào CSDL
Bước 5: Server gửi email thông báo có đơn đặt tour mới
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Đặt tour thành công: Thông báo đặt tour thành công g Xem danh sách đặt tour
Bước 1: Người dùng truy cập trang xem danh sách đặt tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách đặt tour
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách đặt tour h Xem đặt tour
- Đầu vào: Id đặt tour
Bước 1: Người dùng truy cập trang xem đặt tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin đặt tour
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin đặt tour i Hủy đặt tour
- Đầu vào: Id đặt tour
Bước 1: Người dùng nhấn nút hủy đặt tour
Bước 2: Server kiểm tra quyền truy cập
Bước 4: Server hủy đặt tour trên CSDL
Bước 5: Server thông báo hủy tour qua email
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id đặt tour có liên kết khóa ngoại: Thông báo đặt tour không thể xóa
Hủy đặt tour thành công: Thông báo xóa đặt tour thành công j Chỉnh sửa tài khoản
- Đầu vào: Id tài khoản, mật khẩu, họ, tên, sdt, email
Bước 1: Người dùng nhập form chỉnh sửa tài khoản và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server cập nhật lại tài khoản trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Chỉnh sửa tài khoản thành công: Thông báo chỉnh sửa tài khoản thành công k Gửi trợ giúp
- Đầu vào: Loại trợ giúp, nội dung gửi trợ giúp
Bước 1: Người dùng nhập form gửi trợ giúp và gửi form
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server thêm trợ giúp mới vào CSDL
Bước 5: Server gửi email thông báo có trợ giúp mới
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Thêm trợ giúp thành công: Thông báo thêm trợ giúp thành công
3.2.3 Người quản lý tour a Đăng nhập
- Đầu vào: Tên tài khoản (hoặc email) và mật khẩu
Bước 1: Người dùng nhập form đăng nhập và gửi form
Bước 2: Server kiểm tra đăng nhập
Bước 3: Server phản hồi lại kết quả đăng nhập cho người dùng
Đăng nhập thành công: Thông báo đăng nhập thành công
Đăng nhập không thành công: Thông báo nhập form sai b Quản lý tour
Bước 1: Người dùng truy cập trang xem danh sách tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách tour
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách tour
Bước 1: Người dùng truy cập trang xem tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin tour
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin tour
Khi đặt tour du lịch, bạn cần cung cấp thông tin quan trọng như tên tour, số lượng người tham gia, địa chỉ xuất phát và điểm đến, ngày khởi hành và ngày kết thúc Ngoài ra, phương tiện di chuyển, giá gốc, giá tour hiện tại, giá cho người lớn và giá cho trẻ em cũng là những yếu tố cần thiết để đảm bảo chuyến đi của bạn diễn ra suôn sẻ và tiết kiệm.
Bước 1: Người dùng nhập form thêm tour và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server thêm tour mới vào CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Thêm tour thành công: Thông báo thêm tour thành công
Để tổ chức tour du lịch, cần cung cấp các thông tin quan trọng như ID tour, tên tour, số lượng người tham gia, địa chỉ xuất phát và điểm đến, ngày khởi hành và ngày kết thúc Ngoài ra, phương tiện di chuyển, giá gốc, giá tour và giá cho người lớn, trẻ em cũng là những yếu tố cần thiết để đảm bảo chuyến đi diễn ra suôn sẻ và thuận lợi.
Bước 1: Người dùng nhập form chỉnh sửa tour và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server cập nhật lại tour trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Chỉnh sửa tour thành công: Thông báo chỉnh sửa tour thành công
Bước 1: Người dùng nhấn nút xóa tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra tour nếu có liên kết khóa ngoại
Bước 4: Server xóa tour trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id tour có liên kết khóa ngoại: Thông báo tour không thể xóa
Xóa tour thành công: Thông báo xóa tour thành công c Quản lý blog
Bước 1: Người dùng truy cập trang xem danh sách blog
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách blog
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách blog.
Bước 1: Người dùng truy cập trang xem blog
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin blog
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin blog
- Đầu vào: Tiêu đề, tóm tắt, nội dung
Bước 1: Người dùng nhập form thêm blog và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server thêm blog mới vào CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Thêm blog thành công: Thông báo thêm blog thành công
- Đầu vào: Id blog, Tiêu đề, tóm tắt, nội dung
Bước 1: Người dùng nhập form chỉnh sửa blog và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server cập nhật lại blog trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Chỉnh sửa blog thành công: Thông báo chỉnh sửa blog thành công
Bước 1: Người dùng nhấn nút xóa blog
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra blog nếu có liên kết khóa ngoại
Bước 4: Sersver xóa blog trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id blog có liên kết khóa ngoại: Thông báo blog không thể xóa
Xóa blog thành công: Thông báo xóa blog thành công d Quản lý đặt tour
Xem danh sách đặt tour
Bước 1: Người dùng truy cập trang xem danh sách đặt tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách đặt tour
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách đặt tour
- Đầu vào: Id đặt tour
Bước 1: Người dùng truy cập trang xem đặt tour
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin đặt tour
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin đặt tour
- Đầu vào: Id đặt tour
Bước 1: Người dùng nhấn nút hủy đặt tour
Bước 2: Server kiểm tra quyền truy cập
Bước 4: Server hủy đặt tour trên CSDL
Bước 5: Server thông báo hủy tour qua email
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id đặt tour có liên kết khóa ngoại: Thông báo đặt tour không thể xóa
Hủy đặt tour thành công: Thông báo xóa đặt tour thành công
- Đầu vào: Id đặt tour
Bước 1: Người dùng nhấn nút xác nhận đặt tour
Bước 2: Server kiểm tra quyền truy cập
Bước 4: Server cập nhật đặt tour trên CSDL
Bước 5: Server thông báo tour đã được xác nhận qua email
Không có quyền truy cập: Thông báo quyền bị hạn chế
Xác nhận đặt tour thành công: Thông báo xác nhận đặt tour thành công Xác nhận đã hoàn thành tour
- Đầu vào: Id đặt tour
Bước 1: Người dùng nhấn nút xác nhậnđã hoàn thành tour
Bước 2: Server kiểm tra quyền truy cập
Bước 4: Server cập nhật đặt tour trên CSDL
Bước 5: Server thông báo tour đã hoàn thành qua email
Không có quyền truy cập: Thông báo quyền bị hạn chế
Xác nhận hoàn thành tour thành công: Thông báo xác nhận hoàn thành tour thành công e Quản lý trợ giúp
Xem danh sách trợ giúp
Bước 1: Người dùng truy cập trang xem danh sách trợ giúp
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về danh sách trợ giúp
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Danh sách trợ giúp
- Đầu vào: Id trợ giúp
Bước 1: Người dùng truy cập trang xem trợ giúp
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server trả về thông tin trợ giúp
Không có quyền truy cập: Thông báo quyền bị hạn chế
Có quyền truy cập: Thông tin trợ giúp
- Đầu vào: Id trợ giúp, loại trợ giúp, nội dung gửi trợ giúp
Bước 1: Người dùng nhập form phản hồi trợ giúp và gửi form
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra dữ liệu trong form
Bước 4: Server cập nhật lại trợ giúp trên CSDL
Bước 5: Server gửi email thông báo phản hồi
Không có quyền truy cập: Thông báo quyền bị hạn chế
Dữ liệu form chưa hợp lệ: Thông báo form nhập chưa hợp lệ
Phản hồi trợ giúp thành công: Thông báo chỉnh sửa trợ giúp thành công Xóa trợ giúp
- Đầu vào: Id trợ giúp
Bước 1: Người dùng nhấn nút xóa trợ giúp
Bước 2: Server kiểm tra quyền truy cập
Bước 3: Server kiểm tra trợ giúp nếu có liên kết khóa ngoại
Bước 4: Server xóa trợ giúp trên CSDL
Không có quyền truy cập: Thông báo quyền bị hạn chế
Id trợ giúp có liên kết khóa ngoại: Thông báo trợ giúp không thể xóa
Xóa trợ giúp thành công: Thông báo xóa trợ giúp thành công.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.3.1 Sơ đồ use case a Sơ đồ use case tổng quát
Hình 3.1: Sơ đồ Use case tổng quát b Đặc tả sơ đồ use case
1 Từ giao diện chính khách hàng chọn đăng nhập
2 Hệ thống hiển thị giao diện đăng ký, yêu cầu khách hàng nhập thông tin cá nhân vào form đăng ký
3 Khách hàng nhập thông tin cá nhân sau đó nhấn nút đăng ký
4 Hệ thống kiểm tra thông tin đăng ký đã hợp lệ chưa, nếu chưa thì quay lại A1 giao diện đăng ký
5 Hệ thống cập nhập thông tin của khách hàng vào danh sách khách hàng
Hình 3.2: Sơ đồ use case đăng ký
1 Từ giao diện khách hàng chọn đăng nhập
2 Hệ thống hiển thị giao diện đăng nhập, yêu cầu khách hàng nhập tên tài khoản và mật khẩu
3 Khách hàng nhập tên tài khoản và mật khẩu, chọn đăng nhập
4 Hệ thống kiểm tra thông tin tài khoản và mật khẩu, nếu nhập sai tên tài khoản và mật khẩu A1
Hình 3.3: Sơ đồ use case đăng nhập
Sơ đồ use case tìm kiếm
1 Khách hàng di chuyển chuột vào thanh tìm kiếm
2 Khách hàng nhập tên tour cần tìm vào thanh tìm kiếm
3 Nhấn enter hoặc nhấn nút tìm kiếm
4 Hệ thống sẽ kiểm tra thông tin tìm kiếm
5 Nếu sản phẩm tồn tại thì kết quả tìm kiếm sẽ được hiển thị
Hình 3.4: Sơ đồ use case tìm kiếm
Sơ đồ use case quản lý đặt tour
1 Khách hàng vào trang quản lý tour
2 Khách hàng sẽ thấy nút in thông tin tour, sau đó khách nhấn nút in thông tin tour
3 Trang quản lý tour sẽ có nút hủy tour
5 Hệ thống sẽ kiểm trả và hiển thị thông tin
Hình 3.5: Sơ đồ use case quản lý đặt tour
Sơ đồ use case đăng nhập
1 Từ giao diện khách hàng chọn đăng nhập
2 Hệ thống hiển thị giao diện đăng nhập, yêu cầu nhập tên tài khoản và mật khẩu
3 Admin nhập tên tài khoản và mật khẩu, chọn đăng nhập
4 Hệ thống kiểm tra thông tin tài khoản và mật khẩu, nếu nhập sai tên tài khoản và mật khẩu A1
Hình 3.6: Sơ đồ use case đăng nhập
Sơ đồ use case xem thống kê
1 Admin chọn chức năng thống kê
2 Hệ thống sẽ liệt kê thông tin doanh thu và tour được đặt nhiều
Hình 3.7: Sơ đồ động từ xem thống kê
Sơ đồ use case quản lý tài khoản
1 Admin chọn một chức năng cần xử lý
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Admin nhập thông tin đầy đủ và nhấn nút
5 Lưu thông tin vào cơ sở dữ liệu
Hình 3.8: Sơ đồ use case quản lý tài khoản
Sơ đồ use case quản lý tour
1 Admin chọn một chức năng cần xử lý
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Admin nhập thông tin đầy đủ và nhấn nút
5 Lưu thông tin vào cơ sở dữ liệu
Hình 3.9: Sơ đồ use case quản lý tour
Sơ đồ use case quản lý Blog
1 Admin chọn một chức năng cần xử lý
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Admin nhập thông tin đầy đủ và nhấn nút
5 Lưu thông tin vào cơ sở dữ liệu
Hình 3.10: Sơ đồ use case quản lý Blog
Sơ đồ use case trợ giúp
1 Admin chọn một chức năng cần xử lý
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Admin nhập thông tin đầy đủ và nhấn nút
5 Lưu thông tin vào cơ sở dữ liệu
Hình 3.11: Sơ đồ use case trợ giúp
Sơ đồ use case quản lý tỉnh
1 Admin chọn một chức năng cần xử lý
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Admin nhập thông tin đầy đủ và nhấn nút
5 Lưu thông tin vào cơ sở dữ liệu
Hình 3.12: Sơ đồ use case quản lý tỉnh
Sơ đồ use case quản lý quốc gia
1 Admin chọn một chức năng cần xử lý
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Admin nhập thông tin đầy đủ và nhấn nút
5 Lưu thông tin vào cơ sở dữ liệu
Hình 3.13: Sơ đồ use case quản lý quốc gia
Sơ đồ use case quản lý slide
1 Admin chọn một chức năng cần xử lý
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Admin nhập thông tin đầy đủ và nhấn nút
5 Lưu thông tin vào cơ sở dữ liệu
Hình 3.14: Sơ đồ use case quản lý slide
Sơ đồ use case quản lý loại slide
1 Admin chọn một chức năng cần xử lý
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Admin nhập thông tin đầy đủ và nhấn nút
5 Lưu thông tin vào cơ sở dữ liệu
Hình 3.15: Sơ đồ use case quản lý loại slide
Sơ đồ use case quản lý đặt tour
1 Admin chọn một chức năng cần xử lý
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Admin nhập thông tin đầy đủ và nhấn nút
5 Lưu thông tin vào cơ sở dữ liệu
Hình 3.16: Sơ đồ use case quản lý đặt tour
- Nhân viên quản lý tour
Sơ đồ use case đăng nhập
1 Từ giao diện trang website chọn đăng nhập
2 Hệ thống hiển thị giao diện đăng nhập, yêu cầu nhập tên tài khoản và mật khẩu
3 Nhân viên quản lý nhập tên tài khoản và mật khẩu, chọn đăng nhập
4 Hệ thống kiểm tra thông tin tài khoản và mật khẩu, nếu nhập sai tên tài khoản và mật khẩu A1
Hình 3.17: Sơ đồ use case đăng nhập nhân viên quản lý
Sơ đồ use case quản lý Blog
1 Admin chọn một chức năng cần xử lý
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Admin nhập thông tin đầy đủ và nhấn nút
5 Lưu thông tin vào cơ sở dữ liệu
Hình 3.18: Sơ đồ use case nhân viên quản lý Blog
Sơ đồ use case quản lý đặt tour
1 Admin chọn một chức năng cần xử lý
2 Hệ thống hiển thị và yêu cầu nhập thông tin
3 Admin nhập thông tin đầy đủ và nhấn nút
5 Lưu thông tin vào cơ sở dữ liệu
Hình 3.19: Sơ đồ use case nhân viên quản lý đặt tour 3.3.2 Sơ đồ tuần tự a Đăng ký
Bảng 3.4: Giải thích sơ đồ tuần tự đăng ký
Luồng sự kiện - Bước 1: Người dùng truy cập trang đăng ký
- Bước 2: Trang đăng ký gửi yêu cầu cho Controller đăng ký hiển thị trang
- Bước 3: Controller hiển thị trang đăng ký
- Bước 4: Người dùng nhập form đăng ký và gửi form
- Bước 5: Trang đăng ký gửi yêu cầu đăng ký
- Bước 6: Controller đăng ký truy xuất tài khoản
- Bước 7: Controller đăng ký kiểm tra form đăng ký
Nếu cho phép đăng ký: Controller đăng ký thêm tài khoản mới
Nếu không cho phép đăng ký: Thông báo đăng ký không thành công
- Bước 10: Thông báo đăng ký thành công
Hình 3.20: Sơ đồ tuần tự đăng ký b Đăng nhập
Bảng 3.5: Giải thích sơ đồ tuần tự đăng nhập
Luồng sự kiện - Bước 1: Người dùng truy cập trang đăng nhập
- Bước 2: Trang đăng nhập gửi yêu cầu cho Controller đăng nhập hiển thị trang
- Bước 3: Controller hiển thị trang đăng nhập
- Bước 4: Người dùng nhập form đăng nhập và gửi form
- Bước 5: Trang đăng nhập gửi yêu cầu đăng nhập
- Bước 6: Controller đăng nhập truy xuất tài khoản
- Bước 7: CSDL trả về thông tin tài khoản
- Bước 8: Controller đăng nhập kiểm tra form đăng ký
Nếu đăng nhập thành công: Controller đăng ký thêm tài khoản mới
Nếu đăng nhập không thành công: Thông báo đăng ký không thành công
Hình 3.21: Sơ đồ tuần tự đăng nhập c Đăng xuất
Bảng 3.6: Giải thích sơ đồ tuần tự đăng xuất
Luồng sự kiện - Bước 1: Người dùng nhấn nút đăng xuất
- Bước 2: Giao diện đăng xuất yêu cầu đăng xuất
- Bước 3: Controller đăng xuất người dùng
- Bước 4: Controller thông báo đã đăng xuất
Hình 3.22: Sơ đồ tuần tự đăng xuất d Xem danh sách
Bảng 3.7: Giải thích sơ đồ tuần tự xem danh sách
Chức năng - Xem danh sách tài khoản
Luồng sự kiện - Bước 1: Người dùng truy cập trang xem
- Bước 2: Trang xem danh sách gửi yêu cầu cho Controller hiển thị trang
- Bước 3: Controller truy xuất tài khoản trên CSDL
- Bước 4: Controller hiển thị thông tin tài khoản cho người dùng
Hình 3.23: Sơ đồ tuần tự xem danh sách e Xem chi tiết
Bảng 3.8: Giải thích sơ đồ tuần tự xem chi tiết
Chức năng - Xem tài khoản
Luồng sự kiện - Bước 1: Người dùng truy cập trang xem chi tiết
- Bước 2: Trang xem chi tiết gửi yêu cầu cho Controller hiển thị trang
- Bước 3: Controller truy xuất tài khoản trên CSDL
- Bước 4: Controller hiển thị thông tin cho người dùng
Hình 3.24: Sơ đồ tuần tự xem chi tiết f Tìm kiếm
Bảng 3.9: Giải thích sơ đồ tuần tự tìm kiếm
Chức năng - Tìm kiếm tài khoản
Luồng sự kiện - Bước 1: Người dùng truy cập trang tìm kiếm
- Bước 2: Trang kiếm gửi yêu cầu cho Controller hiển thị trang
- Bước 3: Controller hiển thị trang tìm kiếm
- Bước 4: Trang tìm kiếm chờ người dùng nhập từ khóa và gửi form
- Bước 5: Trang tìm kiếm gửi yêu cầu tìm kiếm
- Bước 6: Controller truy xuất tài khoản trên CSDL
- Bước 7: CSDL trả về kết quả truy vấn
- Bước 8: Controller hiển thị kết quả tìm kiếm
Hình 3.25: Sơ đồ tuần tự tìm kiếm g Thêm mới
Bảng 3.10: Giải thích sơ đồ tuần tự thêm mới
Luồng sự kiện - Bước 1: Người dùng truy cập trang thêm mới
- Bước 2: Trang thêm mới yêu cầu cho Controller hiển thị trang
- Bước 3: Controller hiển thị trang
- Bước 4: Người dùng nhập form thêm tài khoản
- Bước 5: Người dùng gửi form
- Bước 6: Trang thêm gửi yêu cầu thêm mới
- Bước 7: Controller truy xuất thông tin trên CSDL
- Bước 8: CSDL trả về kết quả truy xuất
- Bước 9: Controller kiểm tra form nhập và thông tin trên CSDL
- Bước 10: Nếu cho phép thì thêm mới
- Bước 11: Thông báo thêm mới thành công
- Bước 12: Nếu không cho phép thì thông báo thêm không thành công
Hình 3.26: Sơ đồ tuần tự thêm mới h Chỉnh sửa
Bảng 3.11: Giải thích sơ đồ tuần tự chỉnh sửa
Chỉnh sửa thông tin cá nhân
- Khách hàng: Chỉnh sửa thông tin cá nhân
Luồng sự kiện - Bước 1: Người dùng truy cập trang chỉnh sửa
- Bước 2: Trang chỉnh sửa yêu cầu cho Controller hiển thị trang
- Bước 3: Controller truy xuất thông tin
- Bước 4: CSDL trả về thông tin truy xuất
- Bước 5: Controller hiển thị trang
- Bước 6: Người dùng nhập form chỉnh sửa
- Bước 7: Người dùng gửi form
- Bước 8: Trang chỉnh sửa gửi yêu cầu chỉnh sửa
- Bước 9: Controller truy xuất thông tin trên CSDL
- Bước 10: CSDL trả về kết quả truy xuất
- Bước 11: Controller kiểm tra form nhập và thông tin trên CSDL
- Bước 12: Nếu cho phép cập nhật tài khoản
- Bước 13: Thông báo chỉnh sửa thành công
- Bước 14: Nếu không cho phép thông báo cập nhật không thành công
Hình 3.27: Sơ đồ tuần tự chỉnh sửa i Xóa
Bảng 3.12: Giải thích sơ đồ tuần tự xóa
Luồng sự kiện - Bước 1: Nhấn nút xóa
- Bước 2: Trang xóa yêu cầu xóa
- Bước 3: Kiểm tra thông tin
- Bước 5: CSDL trả về kết quả truy xuất
Hình 3.28: Sơ đồ tuần tự xóa j Đặt tour
Bảng 3.13: Giải thích sơ đồ tuần tự đặt tour
Luồng sự kiện - Bước 1: Người dùng truy cập trang xem tour
- Bước 2: Trang xem tour yêu cầu Controller hiển thị trang
- Bước 3: Controller hiển thị trang
- Bước 4: Người dùng điền thông tin đặt tour và gửi form
- Bước 5: Trang xem tour yêu cầu đặt tour
- Bước 6: Controller truy xuất thông tin tour trên CSDL
- Bước 7: CSDL trả về thông tin tour
- Bước 8: Controller kiểm tra form nhập và thông tin trên CSDL
- Bước 9: Cho phép đặt tour thì thêm đơn đặt tour mới trên CSDL
- Bước 10: Thêm đơn đặt tour mới
- Bước 11: Thông báo đặt tour thành công
- Bước 12: Không cho phép đặt tour thì thông báo đặt tour không thành công
Hình 3.29: Sơ đồ tuần tự đặt tour k Hủy tour
Bảng 3.14: Giải thích sơ đồ tuần tự hủy đặt tour
Luồng sự kiện - Bước 1: Người dùng nhấn nút hủy đặt tour
- Bước 2: Trang tour đã đặt yêu cầu hủy đặt tour
- Bước 3: Controller truy xuất thông tin trên CSDL
- Bước 4: CSDL trả về thông tin đặt tour
- Bước 5: Controller kiểm tra thông tin trên trang và thông tin trên CSDL
- Bước 6: Nếu cho phép hủy thì hủy tour
- Bước 7: Gửi email thông báo hủy tour
- Bước 8: Thông báo hủy thành công
- Bước 9: Nếu không cho phép hủy thì thông báo hủy không thành công
Hình 3.30: Sơ đồ tuần hủy đặt tour l Gửi trợ giúp
Bảng 3.15: Giải thích sơ đồ tuần tự gửi trợ giúp
Luồng sự kiện - Bước 1: Người dùng điền thông tin gửi trợ giúp và gửi form
- Bước 2: Form gửi yêu cầu trợ giúp
- Bước 3: Thêm trợ giúp mới trên CSDL
- Bước 4: Nếu gửi trợ giúp thành công thì gửi email thông báo
- Bước 5: Thông báo gửi trợ giúp thành công
- Bước 6: Nếu gửi trợ giúp không thành côngt hì gửi email thông báo gửi trợ giúp không thành công
Hình 3.31: Sơ đồ tuần tự gửi trợ giúp m Phản hồi trợ giúp
Bảng 3.16: Giải thích sơ đồ tuần tự phản hồi trợ giúp
Luồng sự kiện - Bước 1: Người dùng nhập form gửi phản hồi trợ giúp
- Bước 2: Form phản hồi trợ giúp yêu cầu phản hồi trợ giúp
- Bước 3: Controller truy xuất thông tin trợ giúp trên CSDL
- Bước 4: CSDL trả về thông tin trợ giúp
- Bước 5: Controller kiểm tra thông tin trên form và thông tin trên CSDL
- Bước 6: Nếu cho phép gửi trợ giúp thì cập nhật phản hồi trợ giúp
- Bước 7: Thông báo phản hồi trợ giúp không thành công
- Bước 8: Nếu không cho phép gửi trợ giúp thì thông cáo gửi phản hồi không thành công
Hình 3.32: Sơ đồ tuần tự phản hồi trợ giúp n Hiển thị danh sách đặt tour
Bảng 3.17: Giải thích sơ đồ hiển thị danh sách tour
Luồng sự kiện - Bước 1: Người dùng truy cập trang in danh sách đặt tour
- Bước 2: Trang in danh sách đặt tour gửi yêu cầu cho Controller in danh sách đặt tour
- Bước 3: Controller truy xuất danh sách tour trên CSDL
- Bước 4: CSDL hiển thị thông tin đặt tour
- Bước 5: Controller tạo file danh sách
- Bước 6: Controller hiển thị danh sách
Hình 3.33: Sơ đồ tuần tự in danh sách tour o In hóa đơn đặt tour
Bảng 3.18: Giải thích sơ đồ in hóa đơn đặt tour
Luồng sự kiện - Bước 1: Người dùng truy cập trang in hóa đơn đặt tour
- Bước 2: Trang in hóa đơn đặt tour gửi yêu cầu cho Controller in hóa đơn đặt tour
- Bước 3: Controller truy xuất thông tin tour trên CSDL
- Bước 4: CSDL trả về kết quả truy xuất
- Bước 5: Controller tạo file hóa đơn
- Bước 6: Controller hiển thị hóa đơn
Hình 3.34: Sơ đồ tuần tự in hóa đơn đặt tour
3.3.3 Sơ đồ lớp a Sơ đồ
Hình 3.35: Sơ đồ lớp b Mô tả
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 username String Tên người dùng
2 password String Mật khẩu người dùng
5 sdt Number Số điện thoại
STT Tên phương thức Mô tả
1 danhSach() Xem danh sách tài khoản
2 xem() Xem thông tin tài khoản
3 sua() Sửa thông tin tài khoản
Bảng 3.20: Lớp tài khoản quản lý
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 username String Tên người dùng
2 password String Mật khẩu người dùng
5 sdt Number Số điện thoại
STT Tên phương thức Mô tả
1 danhSach() Xem danh sách tài khoản
2 xem() Xem thông tin tài khoản
3 sua() Sửa thông tin tài khoản
STT Lớp Tên quan hệ Mô tả
1 Blog Quản lý Một tài khoản người quản lý quản lý được nhiều blog
2 Tour Quản lý Một tài khoản người quản lý quản lý được nhiều tour
3 TroGiup Phản hồi Một tài khoản người quản lý phản hồi phản hồi được nhiều trợ giúp
4 TaiKhoan Kế thừa Tài khoản quản lý kế thừa từ lớp
Bảng 3.21: Lớp tài khoản khách hàng
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 username String Tên người dùng
2 password String Mật khẩu người dùng
5 sdt Number Số điện thoại
STT Tên phương thức Mô tả
1 danhSach() Xem danh sách tài khoản
2 xem() Xem thông tin tài khoản
3 sua() Sửa thông tin tài khoản
STT Lớp Tên quan hệ Mô tả
1 Tỉnh Thuộc Một tài khoản khách hàng chỉ thuộc một tỉnh
2 Tour Đặt Một tài khoản người khách hàng đặt được nhiều tour
3 TroGiup Gửi Một tài khoản khách hàng gửi được nhiều trợ giúp
4 TaiKhoan Kế thừa Tài khoản quản lý kế thừa từ lớp
Bảng 3.22: Lớp blog Thuộc tính
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 tieuDe String Tên người dùng
2 tomTat String Mật khẩu người dùng
STT Tên phương thức Mô tả
1 danhSach() Xem danh sách tài khoản
2 xem() Xem thông tin tài khoản
3 sua() Sửa thông tin tài khoản
STT Lớp Tên quan hệ Mô tả
1 TaiKhoanQuanLy Quản lý Một blog được quản lý bời một tài khoản quản lý
Bảng 3.23: Lớp tour Thuộc tính
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 diaChiXuatPhat String Nơi khởi hạnh
4 soNguoi Number Số lượng tối đa đặt được
5 ngayKhoiHanh DateTime Ngày bắt đầu đi
7 giaNguoiLon Number Giá của người lớn
8 giaEmTre Giá của em trẻ
STT Tên phương thức Mô tả
1 danhSach() Xem danh sách tour
2 xem() Xem thông tin tour
3 sua() Sửa thông tin tour
6 xacNhanDat() Xác nhân đặt tour
7 xacNhanHoanThanh() Xác nhân tour đã hoàn thành
STT Lớp Tên quan hệ Mô tả
1 TaiKhoanNguoiQuanLy Quản lý Một người quản lý sẽ quản lý được nhiều tour
2 TaiKhoavKhachHang Đặt Một khách hàng đặt được nhiều tour và một tour sẽ được nhiều khách hàng đặt
3 Tinh Thuộc Một tỉnh sẽ thuộc với nhiều tour
Bảng 3.24: Lớp tỉnh Thuộc tính
STT Tên thuộc tính Kiểu dữ liệu Mô tả
STT Tên phương thức Mô tả
1 danhSach() Xem danh sách tỉnh
2 xem() Xem thông tin tỉnh
3 sua() Sửa thông tin tỉnh
STT Lớp Tên quan hệ Mô tả
1 QuocGia Thuộc Mỗi tỉnh sẽ chỉ thuộc với một quốc gia
2 Tour Thuộc Một tỉnh sẽ thêm được nhiều tour
3 TaiKhoanKhachHang Thuộc Một tỉnh có nhiều khách hàng
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 ten String Tên quốc gia
STT Tên phương thức Mô tả
1 danhSach() Xem danh sách quốc gia
2 xem() Xem thông tin quốc gia
3 sua() Sửa thông tin quốc gia
STT Lớp Tên quan hệ Mô tả
1 Tinh Thuộc Một quốc gia có thuộc với nhiều tỉnh
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 noDungGoi String Nội dụng khách hàng gửi
2 traLoi String Nôi dụng người quản lý hay admin trả lời
STT Tên phương thức Mô tả
1 danhSach() Xem danh sách trợ giúp
2 xem() Xem thông tin trợ giúp
3 sua() Sửa thông tin trợ giúp
5 traLoi() Trả lời trợ giúp
STT Lớp Tên quan hệ Mô tả
1 TaiKhoanNguoiQuanLy Phản hồi Một người quản lý tour sẽ phản hồi được nhiều trợ giúp và một trợ giúp sẽ được nhiều người quản lý tour phản hồi
2 TaiKhoanKhachHang Gửi Một trợ giúp chỉ được gửi bởi một tài khoản khách hàng
3 LoaiTroGiup Thuộc Một trợ giúp chỉ thuộc với một loại trợ giúp
Bảng 3.27: Lớp loại trở giúp
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 ten String Tên loại trợ giúp
STT Tên phương thức Mô tả
1 danhSach() Xem danh sách trợ giúp
2 xem() Xem thông tin trợ giúp
3 sua() Sửa thông tin trợ giúp
STT Lớp Tên quan hệ Mô tả
1 TroGiup Thuộc Một loại trợ giúp có nhiều trợ giúp
Bảng 3.28: Lớp slide Thuộc tính
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 tieuDe String noiDung String ngayBatDau DateTime
STT Tên phương thức Mô tả
1 danhSach() Xem danh sách slide
2 xem() Xem thông tin slide
3 sua() Sửa thông tin slide
STT Lớp Tên quan hệ Mô tả
1 LoaiSlide Thuộc Một slide chỉ thuộc một loại slide
STT Tên thuộc tính Kiểu dữ liệu Mô tả
STT Tên phương thức Mô tả
1 danhSach() Xem danh sách loại slide
2 xem() Xem thông tin loại slide
3 sua() Sửa thông tin loại slide
STT Lớp Tên quan hệ Mô tả
1 Slide Thuộc Một loại slide có nhiều slide
3.3.4 Lược đồ cơ sở dữ liệu a Lược đồ
Hình 3.36: Lược đồ CSDL b Mô tả
Bảng 3.30: Lược đồ CSDL tài khoản
STT Tên trường Kiểu dữ liệu Khóa Mô tả
Bảng 3.31: Lược đồ CSDL khách hàng
STT Tên trường Kiểu dữ liệu Khóa Mô tả
2 Id_tai _khoan Int(11) Khóa ngoại Id_tai_khoan trong khách hàng là khóa ngoại liên kết với cột Id là khóa chính trong bảng tài khoản
5 Id_tinh Int(11) Khóa ngoại Id_tinh trong bảng khách hàng là khóa ngoại liên kết với cột Id là khóa chính trong bảng tỉnh
Bảng 3.32: Lược đồ CSDL tỉnh
STT Tên trường Kiểu dữ liệu Khóa Mô tả
1 Id Int(11) Khóa chính Cột Id_tỉnh là khóa chính của Id_tinh_xuat_phat và id_tinh_diem_den
2 Id_qouc_gia Int(11) Khóa ngoại Id_qouc_gia là Id ngoại của cột Id bảng guốc ga
Bảng 3.33: Lược đồ CSDL quốc gia
STT Tên trường Kiểu dữ liệu Khóa Mô tả
Bảng 3.34: Lược đồ CSDL tour
STT Tên trường Kiểu dữ liệu Khóa Mô tả
2 Id_tai_khoa Int(11) Khóa ngoại Id_tai_khoan là Id ngoại của cột Id bảng tài khoản
3 Id_tinh_xuat_phat Int(11) Khóa ngoại Id_tinh_xuat_phat là
Id ngoại của cột Id bảng tỉnh
4 Dia_chi_xuat_phat Vachar(255)
5 Id_tinh_diem_den Int(11) Khóa ngoại Id_tinh_diem_den là
Id ngoại của cột Id bảng tỉnh
6 Dia_chi_diem_den Varchar(255)
Bảng 3.35: Lược đồ CSDL blog
STT Tên trường Kiểu dữ liệu Khóa Mô tả
2 Id_tai_khoan Int(11) Khóa ngoại Id_tai_khoan là Id ngoại của cột Id bảng tài khoản
Bảng 3.36: Lược đồ CSDL trợ giúp
STT Tên trường Kiểu dữ liệu Khóa Mô tả
2 Id_loai_tro_giup Int(11) Khóa ngoại Id_loai_tro_giup là Id ngoại của cột Id bảng loại trợ giúp
3 Id_tai_khoan_gui Int(11) Khóa ngoại Id_tai_khoan_gui là
Id ngoại của cột Id bảng khách hàng
4 Id_tai_khoan_tra_loi Int(11) Khóa ngoại Id_tai_khoan_tra_loi là Id ngoại của cột Id bảng tài khoản
5 Id_tour Int(11) Khóa ngoại Id_tour là Id ngoại của cột Id bảng tour
Bảng 3.37: Lược đồ CSDL loại trợ giúp
STT Tên trường Kiểu dữ liệu Khóa Mô tả
Bảng 3.38: Lược đồ CSDL đặt tour
STT Tên trường Kiểu dữ liệu Khóa Mô tả
3 Id_tai_khoan Int(11) Khóa ngoại Id_tai_khoan là Id ngoại của cột Id bảng tài khoản
4 Id_tour Int(11) Khóa ngoại Id_tour là Id ngoại của cột Id bảng tour
Bảng 3.39: Lược đồ CSDL slide
STT Tên trường Kiểu dữ liệu Khóa Mô tả
2 Id_tai_khoan Int(11) Khóa ngoại Id_tai_khoa là Id ngoại của cột Id bảng tài khoản
3 Id_loai_slide Iny(11) Khóa ngoại Id_loai_slide là Id ngoại của cột Id bảng loại slide
Bảng 3.40: Lược đồ CSDL loại slide
STT Tên trường Kiểu dữ liệu Khóa Mô tả
KẾT QUẢ DEMO
FRONTEND
Khi truy cập vào website thì trang chủ sẽ được hiển thị đầu tiên Tại trang chủ có các thành phần như sau:
- Header: Bao gồm logo bên trái và các menu bên phải (Tất cả trang đều có header)
- Slide: Trang chủ có các slide để hiển thị
- Tour nổi bật: Hiển thị các tour được đặt nhiều nhất và sắp xếp giảm dần
- Tour khuyến mãi: Hiển thị các tour được giảm giá nhiều nhất và sắp xếp giảm dần
- Tour mời nhất: Hiển thị các tour được thêm vào mới nhất và sắp xếp giảm dần
Hình 4.1: Giao diện trang chủ trên máy tính
Hình 4.2: Giao diện trang chủ trên điện thoại 4.1.2 Trang tour trong nước
Trang tour trong nước hiển thị các tour ở trong nước Việt Nam Sắp xếp giảm dần theo ngày tạo tour
Hình 4.3: Giao diện trang tour trong nước
Trang tour nước ngoài hiển thị danh sách tour không phải là tour Việt Nam
Hình 4.4: Giao diện trang tour nước ngoài 4.1.4 Trang danh sách tour
Giao diện danh sách tour hiển thị tất cả tour cả trong nước và ngoài nước Sắp xếp giảm dần theo ngày đăng
Hình 4.5: Giao diện xem danh sách tour 4.1.5 Trang xem tour
Trang xem tour cung cấp hình ảnh và thông tin chi tiết về tour, bao gồm lịch trình, các dịch vụ đi kèm, chính sách và form đặt tour Ngoài ra, trang cũng hỗ trợ người dùng với các thông tin cần thiết để dễ dàng đặt tour và nhận trợ giúp.
Khách hàng chỉ cần điền thông tin vào khung đặt tour, xác nhận đã đọc và chấp nhận các điều khoản dịch vụ, sau đó nhấn nút ĐẶT TOUR để hoàn tất việc đặt tour.
Sau khi khách hàng hoàn tất việc đặt tour, giao diện xác nhận sẽ hiển thị và khách hàng sẽ nhận được email thông báo về việc đặt tour thành công.
Hình 4.6: Giao diện xem tour
Hình 4.7: Giao diện hiển thị thông tin đặt tour
Sau khi khách hàng đặt tour thành công hệ thống sẽ gửi mail thông tin đặt tour cho khách hàng:
Khách hàng cần đặt tour và chuyển khoản tổng số tiền trước ngày khởi hành để quản lý tour xác nhận việc đặt tour.
Hình 4.8: Thông tin đặt tour được gửi qua email 4.1.6 Trang quản lý tour
Khi đăng nhập vào tài khoản của người quản lý thì người quản lý sẽ truy cập được chức năng quản lý tour
- Trang quản lý tour hiển thị tất cả tour của website
- Mỗi tour có chức năng: Xem đơn đặt tour, Sao chép tour, chỉnh sửa tour và xóa tour
Hình 4.9: Giao diện quản lý tour
Giao diện chỉnh sửa tour và sao chép tour
Hình 4.10: Giao diện chỉnh sửa và copy tour
Tại giao diện xem đơn đặt tour có 4 phần: Chưa xác nhận, đang thực hiện, đã hoàn thành và đã hủy
- Phần chưa xác nhận hiển thị danh sách khách đặt tour nhưng chưa được xác nhận
- Phần đang thực hiện hiển thị danh sách sách khách hàng đã được xác nhận tour
- Phần đã hoàn thành hiển thị danh sách khách hàng đã hoàn thành tour
- Phần đã hủy hiển thị danh sách khách hàng đã bị hủy tour
Hình 4.11: Giao diện xem đơn đặt tour
Giao diện hiển thị danh sách khách hàng đặt tour liệt kê tất cả khách hàng đang thực hiện tour và thông tin tour
Hình 4.12: Giao diện hiển thị danh sách khách hàng đặt tour
Hình 4.13: Thông tin email đã được xác nhận
Hình 4.14: Thông tin email đã hoành thành tour
Hình 4.15: Thông tin email đã hủy tour 4.1.7 Trang danh sách blog
Giao diện xem danh sách blog hiển thị tất cả các bài blog của website Website sắp xếp blog giảm dần theo ngày đăng
Hình 4.16: Giao diện danh sách blog
Trang xem bài blog hiển thị chi tiết nội dung của bài blog
Hình 4.17: Giao diện xem bài blog 4.1.9 Trang quản lý tài khoản
Trang quản lý tài khoản cung cấp thông tin chi tiết về tài khoản và ảnh đại diện của người dùng Người dùng có khả năng chỉnh sửa thông tin tài khoản thông qua chức năng chỉnh sửa tài khoản.
Hình 4.18: Trang quản lý tài khoản
Hình 4.19: Giao diện chỉnh sửa tài khoản
4.1.10 Trang quản lý trợ giúp Đối với khách hàng: Hiển thị danh sách trợ giúp đã được gửi Đối với người quản lý: Hiển thị danh sách trợ giúp của khách hàng đã được gửi đi (Có thể trả lời lại cho khách hàng).
BACKEND
Khi đăng nhập vào tài khoản Admin, trang chủ sẽ là giao diện đầu tiên mà người dùng thấy, hiển thị các chức năng quản lý Tại mục đặt tour, số lượng bên cạnh biểu thị số khách hàng đã đặt tour nhưng chưa được xác nhận Tương tự, tại mục trợ giúp, con số hiển thị là số khách hàng đã gửi yêu cầu trợ giúp nhưng chưa nhận được phản hồi.
Hình 4.21: Giao diện trang chủ 4.2.2 Trang thống kê
Trang thống kê có phần: Doanh thu tháng trước, biểu đồ doanh thu theo tháng và biểu đồ tour được đặt nhiều nhất
- Doanh thu tháng trước: Là hiển thị doanh thu tháng trước gần nhất mà có khách đặt tour
Biểu đồ doanh thu theo tháng cho thấy doanh thu từng tháng, trong đó các tháng không có doanh thu sẽ không được hiển thị Số lượng tháng hiển thị tối đa là 10 tháng.
- Biểu đồ tour được đặt nhiều nhất: Hiển thị tên tour được đặt nhiều nhất
Hình 4.22: Giao diện trang thống kê 4.2.3 Trang quản lý tài khoản
Giao diện quản lý tài khoản của Admin, người quản lý và khách hàng
- Mỗi phần quản lý đều có chức năng Thêm mới, Tìm kiếm, Chỉnh sửa và Xóa
- Đối với chức năng Tìm kiếm: Tìm kiếm theo tên tài khoản, Họ tên, Email và SDT (Đối với khách hàng sẽ có thêm Địa chỉ và Tỉnh)
- Đối với chức năng xóa: Chỉnh xóa được tài khoản nào chưa từng đặt tour
Hình 4.23: Trang quản lý tài khoản 4.2.4 Trang quản lý tỉnh
Quản lý tất cả tỉnh và quốc gia
- Mỗi phần đều có các chức năng như: Tìm kiếm, Thêm mới, Chỉnh sửa và Xóa
- Đối với chức năng tìm kiếm: Tìm kiếm theo tên tỉnh hoặc tên quốc gia
- Đối với chức năng xóa: Chỉ xóa được khi tỉnh chưa được sử dụng trong bảng khác
Hình 4.24: Giao diện trang quản lý tỉnh và quốc gia
Quản lý tất cả blog
- Có các chức năng như: Tìm kiếm, Thêm mới, Chỉnh sửa và Xóa
- Đối với chức năng tìm kiếm: Tìm kiếm theo tên tiêu đề
Hình 4.25: Giao diện quản lý blog 4.2.6 Trang quản lý trợ giúp
Quản lý tất cả trợ giúp
- Giao diện trợ giúp có các phần: Đang đợi trợ giúp, đã trợ giúp, Quản lý loại trợ giúp
- Có các chức năng như: Tìm kiếm, Trả lời trợ giúp, Xóa trợ giúp, Thêm loại trợ giúp và Xóa loại trợ giúp
Hình 4.26: Giao diện quản lý trợ giúp 4.2.7 Trang quản lý tour
Quản lý tất cả tour và có các chức năng như: Tìm kiếm, Thêm tour, Sao chép tour, Chỉnh sửa tour và Xóa tour
Hình 4.27: Giao diện quản lý tour 4.2.8 Trang quản lý đặt tour
Quản lý tất cả đặt tour
- Giao diện trợ giúp có các phần: Chưa xác nhận, Đang thực hiện, Đã hoàn thành và Đã hủy
- Có các chức năng như: Xác nhận đặt tour, xác nhận đã hoàn thành tour, hủy tour, xóa tour
Hình 4.28: Giao diện quản lý đặt tour 4.2.9 Trang quản lý slide
Quản lý tất cả slide và loại slide và giao diện trợ giúp có các phần: Thêm mới, chỉnh sửa và xóa
Hình 4.29: Giao diện quản lý slide