Tài liệu: Luận văn tốt nghiệp xây dựng website đặt tour du

Luận văn hướng dẫn xây dựng website đặt tour du lịch với ASP.NET Core MVC. Tài liệu chi tiết về thiết kế, phát triển và triển khai hệ thống.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn tốt nghiệp

2023

72
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Luận văn Tốt nghiệp Xây dựng Website Đặt Tour Du lịch

Luận văn tốt nghiệp là công trình học thuật quan trọng, thể hiện khả năng ứng dụng kiến thức vào thực tiễn. Dự án xây dựng website đặt tour du lịch sử dụng ASP.NET Core MVC là một ví dụ điển hình của sự kết hợp giữa lý thuyết và thực hành. Đây là bài toán thực tế, giải quyết nhu cầu của ngành du lịch hiện đại. Hệ thống được phát triển nhằm cung cấp nền tảng quản lý tour du lịch toàn diện, từ việc hiển thị thông tin tour cho khách hàng đến quản lý booking và thông tin chi tiết. Công nghệ ASP.NET Core MVC được chọn do tính ổn định, bảo mật cao và khả năng mở rộng tốt. Luận văn này không chỉ đơn thuần là một sản phẩm phần mềm, mà còn là bằng chứng cho thành quả học tập của sinh viên trong lĩnh vực công nghệ thông tin.

1.1. Đặc điểm của Website Đặt Tour Du lịch

Website đặt tour du lịch cung cấp giao diện thân thiện cho người dùng cuối. Hệ thống hỗ trợ đăng ký, đăng nhập, tìm kiếm tour và đặt chỗ trực tuyến. Khách hàng có thể xem chi tiết tour, giá cả, lịch trình và đánh giá trước khi quyết định. Phía quản trị viên quản lý toàn bộ dữ liệu tour, khách hàng, booking và bài viết quảng cáo. Giao diện quản lý đơn giản nhưng hiệu quả, cho phép CRUD các thông tin tour.

1.2. Công nghệ Sử dụng và Lợi ích

ASP.NET Core MVC mang lại nhiều lợi ích trong phát triển ứng dụng web. Mô hình Model-View-Controller giúp tách biệt logic kinh doanh và giao diện người dùng. SQL Server cung cấp cơ sở dữ liệu mạnh mẽ, đảm bảo tính toàn vẹn dữ liệu. Entity Framework Core đơn giản hoá việc truy cập dữ liệu. Sử dụng mã hoá MD5 bảo vệ mật khẩu khách hàng. Các công nghệ này tạo nên hệ thống bền vững, an toàn và dễ bảo trì.

II. Cơ Sở Lý Thuyết và Công Nghệ Nền tảng

Phần cơ sở lý thuyết trong luận văn trình bày chi tiết các công nghệ được sử dụng. Platform .NET là nền tảng phát triển ứng dụng của Microsoft, cung cấp các thư viện và công cụ mạnh mẽ. ASP.NET Core là phiên bản hiện đại của ASP.NET, hỗ trợ phát triển ứng dụng web đa nền tảng. Mô hình MVC tách ứng dụng thành ba thành phần chính: Model (dữ liệu), View (giao diện), Controller (logic xử lý). HTML, CSS và JavaScript được sử dụng để xây dựng giao diện người dùng trực quan và tương tác. SQL Server là hệ quản trị cơ sở dữ liệu quan hệ, cung cấp hiệu suất cao và tính bảo mật tốt. Entity Framework Core là ORM (Object-Relational Mapping) giúp làm việc với dữ liệu dễ dàng hơn.

2.1. Kiến Trúc MVC và Ứng Dụng trong ASP.NET Core

Mô hình MVC trong ASP.NET Core tổ chức code theo ba lớp riêng biệt. Model chứa logic dữ liệu, định nghĩa cấu trúc thông tin. View là giao diện hiển thị dữ liệu cho người dùng, được viết bằng HTML, CSS, JavaScript. Controller xử lý yêu cầu từ người dùng, gọi Model lấy dữ liệu, truyền dữ liệu tới View. Kiến trúc này dễ bảo trì, mở rộng và kiểm thử.

2.2. Cơ Sở Dữ Liệu và Entity Framework Core

SQL Server lưu trữ toàn bộ dữ liệu hệ thống, bao gồm tour, khách hàng, booking. Entity Framework Core cung cấp ánh xạ đối tượng-quan hệ, cho phép lập trình viên làm việc với dữ liệu qua đối tượng .NET thay vì SQL trực tiếp. Nó hỗ trợ DataFirst, CodeFirst, ModelFirst, linh hoạt trong quá trình phát triển.

III. Phân Tích và Thiết Kế Hệ Thống

Giai đoạn phân tích và thiết kế xác định yêu cầu chức năng của hệ thống. Đặc tả yêu cầu liệt kê tất cả những gì hệ thống cần làm. Yêu cầu chức năng bao gồm: đăng ký, đăng nhập, tìm kiếm tour, xem chi tiết tour, đặt tour, quản lý tài khoản. Sơ đồ phân cấp chức năng minh hoạ mối quan hệ giữa các chức năng. Biểu đồ Use Case cho thấy tương tác giữa người dùng (khách hàng, quản trị viên) và hệ thống. Thiết kế cơ sở dữ liệu tạo ra các bảng: Tour, Danh mục, Hướng dẫn viên, Khách hàng, Booking, Bài viết, Tài khoản. Sơ đồ ERD (Entity Relationship Diagram) thể hiện mối liên kết giữa các bảng, đảm bảo tính nhất quán dữ liệu.

3.1. Các Yêu Cầu Chức Năng Chính

Chức năng cho khách hàng bao gồm: xem danh sách tour, tìm kiếm tour, xem chi tiết tour, đặt tour, quản lý hồ sơ cá nhân, thay đổi mật khẩu, xem lịch sử booking. Chức năng quản trị cho phép: quản lý danh sách tour (thêm, sửa, xoá, tìm kiếm), quản lý khách hàng, quản lý booking, quản lý bài viết, quản lý hướng dẫn viên, quản lý tài khoản quản trị viên.

3.2. Thiết Kế Cơ Sở Dữ Liệu Chi Tiết

Bảng Tour chứa mã tour, tên tour, mô tả, giá, lịch trình, hình ảnh. Bảng Khách hàng lưu thông tin cá nhân, liên hệ. Bảng Booking ghi chép các đơn đặt tour, ngày đặt, trạng thái. Bảng Tài khoản quản lý username, password (mã hoá MD5), quyền hạn. Mối quan hệ được thiết lập giữa các bảng thông qua khóa ngoài, đảm bảo tính toàn vẹn dữ liệu.

IV. Phát Triển Ứng Dụng và Kết Luận

Phát triển ứng dụng là giai đoạn thực hiện code dựa trên thiết kế đã phê duyệt. Giao diện người dùng (Frontend) được xây dựng với HTML, CSS, JavaScript, tạo ra trang chủ với danh sách tour, trang chi tiết tour, trang đăng ký/đăng nhập, trang tài khoản cá nhân, trang đặt tour. Giao diện quản trị (Backend) cung cấp bảng điều khiển để quản lý tour, khách hàng, booking, bài viết, hướng dẫn viên, tài khoản. Controllers xử lý logic, gọi services và repositories. Models định nghĩa cấu trúc dữ liệu. Views hiển thị dữ liệu. Hệ thống đã được kiểm thử để đảm bảo chức năng hoạt động chính xác. Kết luận luận văn tóm tắt những đạt được, thách thức gặp phải và hướng phát triển trong tương lai như thêm tính năng thanh toán trực tuyến, đánh giá tour, bình luận khách hàng.

4.1. Các Giao Diện Chính của Ứng Dụng

Trang chủ hiển thị banner, danh sách tour phổ biến, các chuyên mục khác. Trang danh sách tour cho phép tìm kiếm, lọc theo danh mục tour. Trang chi tiết tour cung cấp thông tin đầy đủ, giá cả, lịch trình, hướng dẫn viên, đánh giá. Trang đặt tour cho phép chọn ngày, số người, yêu cầu đặc biệt. Trang tài khoản quản lý thông tin, lịch sử booking, thanh toán.

4.2. Hướng Phát Triển Trong Tương Lai

Hệ thống có thể được nâng cấp bằng cách thêm thanh toán trực tuyến (Stripe, PayPal), hệ thống rating/review từ khách hàng, chat realtime với hỗ trợ khách hàng, mobile app cho iOS/Android, AI recommendation gợi ý tour phù hợp, multi-language hỗ trợ nhiều ngôn ngữ. Các cải tiến này sẽ nâng cao trải nghiệm người dùng.

18/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỎNG QUAN 1.1 Ly do chon dé tai Sinh ra và lớn lên tại vùng đất miền Trung Phú Yên. Ngày nay, dịch vụ du lịch của nước ta nói chung và tỉnh Phú Yên nói riêng đã và đang thay đôi, dần dân tiến tới chuyên môn hóa. Xu hướng này là sự tự đổi mới của ngành đề đáp ứng nhu cầu phát triển. Nếu không đổi mới và tự hoàn thiện, ngành dịch vụ du lịch không thể cạnh tranh với du lịch các tỉnh khác và nước ngoài về giá cả và chất lượng dịch vụ.

Tuy nhiên, vẫn còn một số bất cập mà chúng ta thường gặp khi đi du lịch: giá cả không hợp lý, chất lượng đồ ăn không dam bao. Dé tránh tình trạng này, chúng ta thường chọn đi theo đoàn, theo tour. Chính vì vậy em đã chọn thực hiện nghiên cứu ASP.NET với đề tài xây dựng website du lịch. Được xây đựng bằng C#, website giúp giảm thời gian tìm kiếm các tour du lịch và giúp giảm chi phí đi lại.2Phương pháp nghiên cứu - Khao sat thong tin về thực trạng các tour du lịch của tính Phú Yên - _ Tìm hiểu và thu thập ý kiến các yêu cầu từ phía khách hàng - _ Tìm hiểu và nghiên cứu về nền táng .3 Đối tượng và công cụ - Các công cụ sử dụng để xây dựng hệ thống và các mô hình áp dụng: Visual Studio 2022, SQL Server 2019, ASP.4 Kết quả dự kiến - Xây dựng hệ thống website có thể đăng được tour du lịch, bài viết chia sẻ kinh nghiệm về các địa điểm du lịch và đặt tour cùng với một số chức năng khác giúp cho khách hàng dễ dàng tương tác với website Page | 3 CHƯƠNG 2: CO SO LY THUYET 2.1 Giới thiệu về .NET là một nền tang phat triển nguồn mở miễn phí, đa nền tảng được xây dựng và phát triển bởi Microsoft, để xây dựng nhiều loại ứng đụng khác nhau.NET, bạn có thể sử dụng nhiều ngôn ngữ, editors and libraries đê xây dựng cho web, di động, máy tính để bàn, trò chơi, loT, v.

Ay a Your platform for building anything Cloud Mobile Gaming Hình 1 Hinh anh vé .NET @ Cloud Apps - NET là một lựa chọn tuyệt vời để xây đựng các ứng dụng đám mây hiện đại, nhanh chóng và có thể mở rộng. Các ứng dụng này có thê triển khai cho bất kỳ nên tảng đảm mây nào.NET và Visual Studio cung cấp một số tích hợp với các địch vụ Azure giúp đễ dàng phát triển các ứng dụng gốc đám mây.NET là một nền tảng tuyệt vời để xây dựng ứng dụng web, API, ứng dụng thời gian thực và microservices.NET mở rộng .NET với các công cụ và thư viện bô sung cân thiết để phát triển các ứng dụng web. Trên hết, chúng ta có thê sử dụng Blazor đề xây dựng giao điện người dùng web tương tác với C #. @ Mobile Apps - NET Multi-platform App UI (MAUD) hỗ trợ xây dựng các ứng dụng dành cho máy tính đề bàn và thiết bị di động đa nền tảng có thê triển khai đến các hệ điều hành khác nhau như iOS, Android, macOS, Windows.

@ Desktop Apps - Dé phat triển ứng dụng dành cho may tinh dé ban, ngoai MAUI, chúng ta có thê sử dụng Blazor Hybrid hoặc Windows App SDK. @ Games - Dé phat trién trò chơi, chúng ta có thê sử dụng Unity, một nền tảng phát trién 3D thời gian thực đề xây dựng trò chơi và mô phỏng ® 1⁄4chine Learning & AI - Với .NET, rat dé dàng đề xây dựng các ứng dụng thông minh có thể phát hiện cảm xúc, nhận dạng giọng nói và thị giác, hiểu ngôn ngữ, khả năng tìm kiếm. sử dụng các dịch vụ như ML.NET, Cognitive Services @ Internet of Things (IoT) - NET cung cap hé trợ rất tốt cho việc xây dựng các ứng dụng IoT cho các thiết bi va cam bién nhu Raspberry Pi, HummingBoard .NET được thiết kê để đơn giản hóa sự phát triển phần mềm bằng cách cung cấp một mô hình lập trình nhất quán và một bộ API chung có thể được sử dụng trên các hệ điều hành và thiết bị khác nhau. Điều này cho phép các nhà phát triển viết code và triên khai ứng lên các nền tảng khác nhau, bao gồm Windows, MacOS và Linux.NET 7 là phiên bản mới nhất của nền tảng.

Nó bao gồm một số tính năng và cải tiễn mới so với phiên bản trước là. Chúng ta có thể xây dựng ứng dụng .NET sử dụng C#, F#, Visual Basic. C# là ngôn ngữ đơn giản, hiện đại, hướng đối tượng và an toản. Page | 5 F# là ngôn ngữ lập trình giúp dễ đàng viết mã cô đọng, mạnh mẽ Visual Basic là một ngôn ngữ dễ tiếp cận với củ pháp đơn giản đề xây dựng các ứng dụng hướng đối tượng, an toàn 2.2 Lịch sử phát triển .NET Ngày cập x.

Ngày phát | Pháthành | Phiên. Hồ trợ đên Phiên bản _ | nhật cuôi hành với ban cuoi ` ngày cùng Visual Ngày 27 .NET Core Studio 14 thang 5 2016-06-27 1.0 2015 Update nam 2019 nam 2019 3 Visual Ngày 27 .NET Core Studio 14 thang 5 2016-11-16 1.1 2017 Versio nam 2019 nam 2019 n 15.NET Core 10 thang 7 2017-08-14 | Studio 2017 | 2.3 nam 2018 Visual Ngay 21 .30 19 tháng 8 2018-05-30 | Studio 2017 tháng 8 2.7 nam 2021 Visual Ngày 23 .NET Core Studio 19 thang 11 2018-12-04 _ (2.2 2019 Versio nam 2019 nam 2019 n 16.0 NET Core | 2019-09-23 | Visual 3.3 18 thang 2 Ngày 3 Page | ó Studio 2019 tháng 3 3.3 nam 2020 Visual Ngay 3 .22 14 tháng 12 2019-12-03 | Studio 2019 tháng 12 3.4 nam 2022 Visual Ngay 8 ; 14 thang 12 NET 5 2020-11-10 | Studio 2019 | 5.13 thang 5 nam 2021 Version 16.8 nam 2022 Visual Ngay 8 6.NET 6 2021-11-08 | Studio 2022 thang 11 (LTS) nam 2021 Version 17.NET 7 2022-11-08 nam 2024 sở Thang 11 2023-11 (dự kiên .NET 8 , nam 2026 (dự kiên) là LTS) Ỷ (dự kiên) Bang I Lịch sử phái triển NET 2.2 Tim hiéu m6 hinh ASP. M6 hinh MVC MVC là một mô hình giúp phân tách ứng dụng thành 3 thành phần được kết nối với nhau: Model, View, Controller. Mục tiêu của mô hình MVC là mỗi phần có thể được phát triển, được thử nghiệm độc lập với nhau và cũng kết hợp để tạo ra một ứng dụng rất mạnh mẽ.

Việc phân định trách nhiệm này giúp bạn mở rộng ứng dụng về độ phức tạp vì dễ dàng mã hóa, gỡ lỗi và kiểm tra một cái gì đó (Model, View hoặc Controller). Một số mẫu thiết kế khác dựa trên MVC, chăng hạn như MVVM (Model-View-View- Model), MVP (Model-View-Presenter) va MVW (Model-View-Whatever). Page | 7 Ba thành phần của MVC có thể được mô tá như sau: “ ye ý Hinh 2 M6 hinh MVC Model: Quan ly dữ liệu và trạng thái cla img dung. ODay 1a mot dang mau dit liệu có nhiệm vụ thao tác với cơ sở đữ liệu, tức là nó sẽ chứa tất cả các hàm, các phương thức truy vấn trực tiếp với đữ liệu.

Sau do, controller sé théng qua cac hàm, phương thức đó đề lây đữ liệu rồi gửi qua View. Vì thé, đây là bộ phận cầu nối giữa 2 thành phần View và Controller. View: Xu ly bé cuc giao dién va hiển thị dữ liệu, View có nhiệm vụ tiếp nhận dữ liệu từ Controller (nơi chứa những giao điện như: khung nhập, nút bấm, mem, .) và đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ thống. Controller: Xử lý tương tác người dùng, làm việc với Model và View đề hiển thị hiển thị UI.

Trong ứng dụng .NET MVC, View chỉ hiển thị thông tin, Controller quản lý và phản hồi với đầu vào và tương tác của người dùng bằng các action trong MVC. Luong xtr ly trong MVC Page | 8 - Controller nhận yêu cầu được gửi từ client đến server. - Controller lay đỡ liệu từ model, hoặc cập nhật dữ liệu của model. - Controller lva chọn view phù hợp cho việc hiển thị dữ liệu và chuyên đữ liệu của model sang cho view.

- _ View sử dụng dữ liệu của model dé sinh ra giao điện. Với cách mô tả MVC như trên, controller đảm nhiệm vai trò điểm tiếp nhận của tương tác. Người dùng trao đổi với controller đê bắt đầu một tương tác. Trong ứng dụng web, tương tác này chính là truy vấn HTTP.

Như vậy khi một truy vấn ITTP tới ứng dụng, controller sẽ xử lý truy vấn. Tùy thuộc vào truy vấn, controller có thể thực hiện nhiều hoạt động khác nhau. Tuy nhiên các hoạt động này hầu như đều thực hiện trong sự kết hợp với model. Sự độc lập giữa model và view giúp đơn giản hóa việc test.

Thông thường rất khó đề test giao điện. Khi không liên quan đến giao diện, thành phần model còn lại sẽ dễ dang hon dé test. Sự độc lập này cũng cho phép controller lựa chọn view cho phù hợp với yêu cầu. Tức là, với cùng một đữ liệu (model), controller có thể lựa chọn những cách hiển thị (view) khác nhau.

Ví dụ, trong một ứng dụng web thông thường, controller sẽ lựa chọn HTML view. Nếu truy vẫn đến từ một ứng dụng khác, controller có thê lựa chọn loại view đặc biệt ở dạng JSON hoặc XML. 4% Ưu điểm Kiểm tra dễ dàng: Nhờ vào các thành phần độc lập giúp người lập trình dễ kiểm soát, kiếm tra và khắc phục các vân đề, các lõi phát sinh trước khi hoàn thiện sản phâm và đưa đến tay người dùng. Page | 9 Tối ưu lượng băng thông: Việc không sử dụng viewstate của mô hình MVC sẽ giúp tiết kiệm băng thông và giúp website hoạt động ôn định hơn.

Chức năng control: Mô hình MVC đóng vai trò tối wu bd control trên nền tảng ngôn ngữ lập trình khi mà kết hợp các loại ngôn ngữ lập trình như CSS, HTML, Javascript. View va size: MVC giúp tối ưu băng thông khi có nhiều yêu cầu được thực hiện cùng lúc sẽ ảnh hưởng đến đường truyền mạng. Chức năng Separafion of Concern: Chức năng này cho phép phân loại Model, View, Database,. dé dé quan lý và kiểm soát.

Tính kết hợp: Việc mô hình MVC có thê kết hợp trên nhiều nền tảng website và ứng dụng khác nhau giúp người lập trình tiện hơn khi viết code. Kết cấu tương đối đơn giản: Ưu điểm nay phù hợp cho đối tượng sử dụng khi có nhu cầu lập trình website hoặc các ứng dụng. ¢ Nhược điểm Đối với một mô hình có tính phân tách cao như MVC thì phù hợp để ứng dụng trong các dự án lớn. Việc ứng dụng mô hình MVC trong các dự án nhỏ sẽ dễ bị cồng kẻnh, tốn kém nguồn lực khi phát triển dự án.

Mô hình MVC trong ASP.NET MVC là một khung phát triển web nguồn mở từ Microsoft cung cấp kiến trúc Model-View-Controller.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ