Đi lại là nhu cầu không thể thiếu trong cuộc sống hằng ngày, hiện nay đi lại chúng ta có thể sử dụng nhiều loại phương tiện khác nhau như xe khách, tàu lửa, máy bay,... Khi đi lại ta thường gặp các khó khăn: Thứ nhất là việc mua vé, trả vé và thay đổi tuyến đi. Thứ hai là tình trạng như mua vé nhưng không được ngồi đúng chỗ, tình trạng xe dù, chèo kéo thêm khách dọc đường, tài xế chạy không đúng quy định hay là thu tiền cao hơn so với giá mà bến xe đã đưa ra ...Vì vậy mà trong thời đại công nghiệp hóa, hiện đại hóa đất nước việc quản lý bến xe là một vấn đề cấp thiết và đáng quan tâm. Hiện nay một số bến xe và nhà xe đang còn quản lý theo kiểu truyền thống tức là khách hàng phải đến tận công ty để mua hoặc hủy hoặc thay đổi lịch trình của mình và việc quản lý nhân sự, tuyến mang tính thủ công, như vậy sẽ rất lãng phí thời gian và tiền bạc. Với sự phát triển ngày càng cao của mạng Internet thì ứng dụng công nghệ thông tin vào việc quản lý các bến xe là một nhu cầu tất yếu và thiết thực trong cuộc sống hằng ngày.Bên cạnh việc quản lý bến xe thì việc mua bán vé cũng là vấn đề quan trọng. Với sự phát triển ngày càng mạnh của xu hướng mua bán qua mạng Internet. Phát triển đặt vé qua mạng sẽ có nhiều thuận lợi cho khách hàng như họ không cần đến công ty nhưng vẫn có thể đặt mua và trả vé theo nhu cầu của mình.Song song với các yêu cầu ngoài thực tế thì ngày nay các công nghệ của ngành công nghệ thông tin phát triển một cách nhanh chóng, ứng dụng các công nghệ này vào bài toán cụ thể là rất quan trọng và cần thiết đối với người lập trình. Với các lý do trên em quyết định chọn đề tài: “Tìm Hiểu Linq và Quản Lý Bán Vé Xe” trong khóa luận của mình. Bố cục của khóa luận được chia thành 3 chương:Chương 1: Tìm hiểu LINQ chương này trình bày tổng quan về LINQ, ưu nhược điểm, cú pháp của LINQ và so sánh với các công nghệ khác.Chương 2: Các công cụ hỗ trợ để thiết kế web chương này giới thiệu một số khái niệm và làm quen với Javascript, Ajax, Ajaxtoolkit, Jquery, Captcha.Chương 3: Phân tích thiết kế và cài đặt bài toán quản lý bán vé xe chương này trình bày về các vấn đề khảo sát, đặc tả, phân tích, và thiết kế hệ thống.
MỤC LỤC CHƯƠNG TỔNG QUAN VỀ LINQ 1.1 TÌM HIỂU LINQ 1.1.1 Giới thiệu linq 1.1.2 Các loại linq 1.1.3 So sánh Linq công cụ khác .8 1.1.4 Cú pháp linq to sql 12 CHƯƠNG CÁC CÔNG CỤ HỖ TRỢ ĐỂ THIẾT KẾ WEB 19 2.1 JAVASCRIPT 19 2.1.1 Làm quen với Javascript 19 2.1.2 Các thành phần 19 2.1.3 Quản lý lỗi 24 2.1.4 Phạm vi ảnh hưởng lỗi 25 2.2 AJAX 25 2.3 AJAXTOOLKIT .26 2.4 JQUERY 28 2.4.1 Tự host Jquery 30 2.4.2 Dùng phiên có sẵn server Google 30 2.4.3 Cách sử dụng jquery 30 2.5 CAPTCHA .32 2.5.1 Đặc điểm 33 2.5.2 Nguồn gốc 33 2.5.3 Ứng dụng 34 2.5.4 Ứng dụng captcha ASP.Net 34 CHƯƠNG PHÂN TÍCH, THIẾT KẾ VÀ CÀI ĐẶT BÀI TOÁN QUẢN LÝ BÁN VÉ XE 36 3.1 KHẢO SÁT HIỆN TRẠNG VÀ ĐẶC TẢ HỆ THỐNG 36 3.1.1 Mục tiêu hệ thống thông tin 36 3.1.2 Đặc tả yêu cầu hệ thống 37 3.2 PHÂN TÍCH HỆ THỐNG 39 3.2.1 Xác định ca sử dụng hệ thống .39 Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 1- 3.2.2 Xác định gói ca sử dụng, lược đồ ca sử dụng chi tiết 40 3.3 THIẾT KẾ HỆ THỐNG 45 3.3.1 Thiết kế ca sử dụng “Đăng nhập hệ thống” .45 3.3.2 Thiết kế ca sử dụng “Đổi mật khẩu” 47 3.3.3 Thiết kế ca sử dụng “Quản lý lịch trình” 49 3.3.4 Quản lý đặt vé 51 3.3.5 Thiết kế sở liệu 53 3.4 CÀI ĐẶT 61 Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 2- PHỤ LỤC HÌNH ẢN Hình 1.1 Cơ sở liệu .12 Hình 3.1 Lược đồ ca sử dụng tổng quát .40 Hình 3.2 Quản lý đăng nhập 41 Hình 3.3 Quản lý danh mục phương tiện 42 Hình 3.4 Quản lý khách hàng 43 Hình 3.5 Quản lý bán vé 44 Hình 3.6 Quản lý thống kê - báo cáo 44 Hình 3.7 Uc đăng nhập 45 Hình 3.8 Biểu đồ hoạt động đăng nhập 47 Hình 3.9 Uc đổi mật 47 Hình 3.10 Biểu đồ hoạt động đổi mật 49 Hình 3.11 Uc quản lý lịch trình 49 Hình 3.12 Biểu đồ hoạt động quản lý lịch trình 51 Hình 3.13 Uc đặt vé 51 Hình 3.14 Biểu đồ hoạt động quản lý đặt vé 52 Hình 3.15 Mơ hình E-R Loại tài khoản Tài khoản 53 Hình 3.16 Bảng sở liệu Loại tài khoản Tài khoản .53 Hình 3.17 Mơ hình E-R Bán vé Trả vé 54 Hình 3.18 Bảng sở liệu Bán vé Trả vé 54 Hình 3.19 Mơ hình E-R Bến Tuyến 55 Hình 3.20 Bảng sở liệu Bến Tuyến 55 Hình 3.21 Mơ hình E-R Xe Đơn vị vận tải 56 Hình 3.22 Bảng sở liệu Xe Đơn vị vận tải 56 Hình 3.23 Mơ hình E-R Xe Loại xe 57 Hình 3.24 Bảng sở liệu Xe Loại xe .57 Hình 3.25 Mơ hình E-R Xe, Tuyến, Tài xế Bán vé .58 Hình 3.26 Bảng sở liệu Xe, Tuyến, Tài xế Bán vé 59 Hình 3.27 Bảng sở liệu tổng quát .60 Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 3- KÝ HIỆU VÀ VIẾT TẮT Ado.net AJAX CAPTCHA CLR CSDL CSS DBA DOM XML API HTML Jquery Linq MSDN MVC O/ RM OCR Sql Xml (ActiveX Data Objects - cơng nghệ cho phép ứng dụng kết nối làm việc với loại sở liệu khác Asynchronous JavaScript and XML Completely Automated Public Turing test to tell Computers and Humans Apart - Phép thử Turing cơng cộng hồn tồn tự động để phân biệt máy tính với người Common Language Runtime - mơi trường thời gian chạy Cơ sở liệu Cascading Style Sheet - bảng kiểu xếp chồng database administrator - người quản trị sở liệu Document Object Model - eXtensible Markup Language Application Programming Interface: Mơ hình đối tượng tài liệu HyperText Markup Language - Ngôn ngữ đánh dấu siêu văn Jquery thư viện kiểu Javascript giúp đơn giản hóa cách viết Javascript tăng tốc độ xử lý kiện trang web Language Integrated Query - ngơn ngữ tích hợp truy vấn Microsoft Software Developer Network Model-View-Controller Object Relational Mapping Optical Character Recognition -Nhận dạng ký tự quang học Structure Query Language - Ngôn ngữ truy vấn cấu trúc eXtensible Markup Language - Ngôn ngữ đánh dấu mở rộng Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 4- LỜI NÓI ĐẦU Đi lại nhu cầu thiếu sống hằng ngày, lại sử dụng nhiều loại phương tiện khác xe khách, tàu lửa, máy bay, Khi lại ta thường gặp khó khăn: Thứ việc mua vé, trả vé thay đổi tuyến Thứ hai tình trạng mua vé khơng ngồi chỗ, tình trạng xe dù, chèo kéo thêm khách dọc đường, tài xế chạy không quy định thu tiền cao so với bến xe đưa Vì mà thời đại cơng nghiệp hóa, đại hóa đất nước việc quản lý bến xe vấn đề cấp thiết đáng quan tâm Hiện số bến xe nhà xe còn quản lý theo kiểu truyền thống tức khách hàng phải đến tận công ty để mua hủy thay đổi lịch trình việc quản lý nhân sự, tuyến mang tính thủ cơng, sẽ lãng phí thời gian tiền bạc Với phát triển ngày cao mạng Internet ứng dụng cơng nghệ thơng tin vào việc quản lý bến xe nhu cầu tất yếu thiết thực sống hằng ngày Bên cạnh việc quản lý bến xe việc mua bán vé vấn đề quan trọng Với phát triển ngày mạnh xu hướng mua bán qua mạng Internet Phát triển đặt vé qua mạng sẽ có nhiều thuận lợi cho khách hàng họ khơng cần đến cơng ty đặt mua trả vé theo nhu cầu Song song với u cầu ngồi thực tế ngày công nghệ ngành công nghệ thông tin phát triển cách nhanh chóng, ứng dụng cơng nghệ vào toán cụ thể quan trọng cần thiết người lập trình Với lý em định chọn đề tài: “Tìm Hiểu Linq Quản Lý Bán Vé Xe” khóa luận Bố cục khóa luận chia thành chương: Chương 1: Tìm hiểu LINQ chương trình bày tổng quan LINQ, ưu nhược điểm, cú pháp LINQ so sánh với công nghệ khác Chương 2: Các công cụ hỗ trợ để thiết kế web chương giới thiệu số khái niệm làm quen với Javascript, Ajax, Ajaxtoolkit, Jquery, Captcha Chương 3: Phân tích thiết kế cài đặt tốn quản lý bán vé xe chương trình bày vấn đề khảo sát, đặc tả, phân tích, thiết kế hệ thống Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 5- CHƯƠNG TỔNG QUAN VỀ LINQ 1.1 TÌM HIỂU LINQ 1.1.1 Giới thiệu linq a Sự đời linq Đã lâu rồi, thập niên, ngành công nghiệp phần mềm chứng kiến đổi thay mang tính bước ngoặc mặt ngơn ngữ Đó LINQ, cách tân táo bạo LINQ mang hướng ngôn ngữ lập trình khơng hướng đối tượng Bản chất LINQ thống khác biệt hai mơ hình: Đối tượng liệu Bên Java có Hibernate LINQ tương tự vậy, đưa khả lập trình NET kiểu truy vấn: Sql database, Objects Xml (eXtensible Markup Language - ngôn ngữ đánh dấu mở rộng) - Giải pháp lập trình hợp nhất, đem đến khả truy vấn liệu theo cú pháp SQL(Structure Query Language - ngôn ngữ truy vấn cấu trúc) trực tiếp C# hay Visual Basic.NET, áp dụng cho tất dạng liệu từ đối tượng đến sở liệu quan hệ XML Xử lý thông tin hay liệu nhiệm vụ quan trọng phần mềm trở ngại mà nhà phát triển phải đối mặt khác biệt ngơn ngữ lập trình hướng đối tượng ngơn ngữ truy vấn liệu, vấn đề phức tạp với xuất XML Hiện tại, cách phổ biến để ứng dụng lấy liệu từ hệ sở liệu sử dụng SQL Để giảm gánh nặng thao tác nhiều ngôn ngữ khác cải thiện suất lập trình, Microsoft phát triển giải pháp tích hợp liệu cho NET Framework có tên gọi LINQ (Language Integrated Query), Anders Hejlsberg xây dựng, thường gọi Microsoft Linq Đây thư viện mở rộng cho ngôn ngữ lập trình C# Visual Basic.NET (có thể mở rộng cho ngôn ngữ khác) cung cấp khả truy vấn trực tiếp liệu Object, sở liệu XML Truy vấn liệu đối tượng nhớ liệu cần phải đổ vào nhớ để xử lý, tách khỏi nơi gốc khả truy vấn Chúng ta dễ dàng truy vấn thơng tin khách hàng móc nối với thơng tin đơn hàng họ từ sở liệu SQL Server khơng dễ thực tương tự với thông tin nhớ Trong môi trường NET, thông tin Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 6- (trong nhớ) thường thể dạng đối tượng trước LINQ, khơng có cách để móc nối đối tượng hay thực thao tác truy vấn LINQ giải pháp cho vấn đề Với Microsoft NET platform, ngơn ngữ hỗ trợ C# Visual Basic.NET Những người lập trình viên họ thường gặp rắc rối cảm thấy khó chịu với việc truy cập liệu nguồn khác Đặc biệt hai loại liệu XML sở liệu Các vấn đề truy xuất liệu sau: Chúng ta khơng lập trình tương tác với sở liệu cấp độ liệu cục Vì lỗi thường khó phát rõ Khó khăn việc quản lý lỗi xảy Kiểu liệu khác nguồn liệu XML sở liệu Đặc biệt date time Chính nhà phát triển Microsoft đưa tảng việc truy vấn liệu với nguồn khác (Object, XML, sở liệu) Đó LINQ, cơng nghệ hỗ trợ chế truy vấn liệu tất kiểu Những kiểu bao gồm mảng(List, Vector), XML, sở liệu Kết trả LINQ người ta gọi sequence Hầu hết sequence IEnumerable với T kiểu liệu đối tượng sequence LINQ sẽ cung cấp cách để truy cập liệu từ nguồn liệu với cú pháp giống b Định nghĩa linq Theo định nghĩa thư viện MSDN Microsoft LINQ tập hợp phần mở rộng Net Framework Nó bao gồm ngơn ngữ tích hợp truy vấn, thiết lập chuyển đổi hoạt động Nó mở rộng C# Visual Basic với cú pháp ngôn ngữ địa cho truy vấn cung cấp thư viện lớp để tận dụng khả thuận lợi 1.1.2 Các loại linq a Linq to sql Là phiên thực hóa O/ RM (Object Relational Mapping) có bên NET Framework 3.5, cho phép mơ hình hóa số sở liệu dùng lớp NET Sau truy vấn sở liệu dùng LINQ, cập nhật / thêm/ xóa liệu từ LINQ to SQL hỗ trợ đầy đủ transaction (giao dịch), view (khung nhìn) stored procedure (thủ tục lưu trữ) Nó cung cấp cách dễ dàng để thêm khả kiểm tra tính hợp lệ liệu quy tắc vào mơ hình liệu Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 7- b Linq to xml XML ngôn ngữ ứng dụng nhiều lập trình, xử lý liệu truyền tải thông tin Trước việc thao tác tạo tài liệu XML thông qua DOM XML API Net dài dòng rắc rối Vì để khắc phục điều này, Microsoft cho đời LINQ với LINQ to XML API c Linq to Objects “LINQ to Objects” có nghĩa nói đến cách sử dụng LINQ đối tượng Collection mà thực thi giao diện IEnumerable IEnumerable tức collection “liệt kê” Đây trường hợp sử dụng đơn giản LINQ làm việc với liệu Các kiểu Collection có sẵn NET List, Array, Dictionary, … sử dụng với LINQ hồn tồn tạo kiểu Collection làm việc với LINQ Về mặt hình thức, LINQ cách thể vòng lặp for, foreach Nhưng thực tế LINQ đem lại nhiều lợi ích hơn: Cách viết dễ dàng cho việc đọc phân tích Trường hợp sẽ thể rõ ràng cần lọc liệu với nhiều điều kiện phân cấp LINQ sẽ thể rõ tính ưu việt mình; LINQ cung cấp lọc, xếp thứ tự, nhóm liệu với khối lượng code tối thiểu bảo đảm tính rõ ràng trên; Trong trường hợp cần chuyển liệu từ nguồn liệu sang nguồn liệu khác, LINQ sẽ giảm thiểu thay đổi liệu trình di chuyển 1.1.3 So sánh Linq công cụ khác a Linq ado.net LINQ tập mở rộng cho phép viết câu truy vấn ngơn ngữ lập trình Nó cho phép làm việc với kiểu tập hợp liệu, XML, collection, array,… sở liệu ADO.NET công nghệ cho phép ứng dụng kết nối làm việc với loại sở liệu khác (truy vấn, cập nhật, thêm, xóa, gọi thủ tục…) Bản thân LINQ khơng phải công nghệ tạo để thay ADO.NET, làm việc với LINQ mà khơng dính đến sở liệu Tuy nhiên, LINQ to SQL, phần mở rộng LINQ, cho phép làm việc với sở liệu SQL Server, trường hợp viết Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 8- bỏ qua câu lệnh ADO.NET mà quan tâm tới cú pháp mà LINQ cung cấp Ta không dùng đến ADO.NET viết chương trình sử dụng LINQ to SQL, đằng sau nó, ADO.NET dùng để thực kết nối, gửi câu lệnh, lời gọi thủ tục… b Linq với sql SQL dùng để truy vấn liệu sở liệu dạng quan hệ, muốn truy cập dạng liệu khác HTML, XML v.v… điều khơng thể SQL LINQ Do nói ưu điểm khác LINQ mà SQL khơng có Ưu điểm LINQ Nói quy luật lập trình liệu phải nằm nhớ Do cần liệu phải dùng cách để đưa liệu vào nhớ (đọc file văn bản, truy vấn từ database …) Trong môi trường NET, liệu nhớ thường thể dạng đối tượng trước LINQ, khơng có cách để móc nối đối tượng hay thực thao tác truy vấn LINQ giải pháp cho vấn đề Trước đây, cách phổ biến để ứng dụng lấy liệu từ hệ sở liệu sử dụng SQL SQL có cú pháp khác với ngơn ngữ lập trình phổ dụng C# Visual Basic.NET, phải tốn công “hàn gắn” hai thực thể khác biệt với dự án phần mềm LINQ đời để giảm gánh nặng thao tác “hàn gắn” nhiều ngôn ngữ khác Một vấn đề khác với SQL dùng để truy vấn liệu sở liệu dạng quan hệ Nếu muốn truy cập liệu XML hay dạng khác (như trang HTML, email…), lại phải sử dụng cú pháp truy vấn khác Cách giải vấn đề tốt LINQ Về vấn đề “Error” khơng lập trình tương tác với sở liệu cấp độ native language Vì lỗi thường khó phát rõ Khó khăn việc quản lý lỗi xảy Về vấn đề cú pháp truy vấn trước có LINQ chưa có cú pháp chung cho truy vấn liệu từ nguồn khác Với LINQ sẽ cung cấp cách để truy cập liệu từ nguồn liệu với cú pháp giống Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 9- Ngoài cách viết dễ dàng cho việc đọc phân tích Trường hợp sẽ thể rõ ràng cần lọc liệu với nhiều điều kiện phân cấp khác LINQ sẽ thể rõ tính ưu việt LINQ cung cấp lọc, xếp thứ tự, nhóm liệu với khối lượng code tối thiểu bảo đảm tính rõ ràng c LINQ to SQL Entity Framework LINQ to SQL Entity Framework có nhiều điểm chung, cơng nghệ có đặc tính riêng nhắm đến trường hợp khác Orcas (bản VS 2008) LINQ to SQL có đặc tính hướng đến việc phát triển nhanh ứng dụng với sở liệu Microsoft SQL Server LINQ to SQL cho phép có nhìn chặt chẽ kiểu với cấu trúc sở liệu LINQ to SQL hỗ trợ việc ánh xạ 1-1 trực tiếp cấu trúc liệu vào lớp; bảng đơn ánh xạ vào cấu trúc phân cấp khóa ngồi ánh xạ thành quan hệ stronglytyped Chúng ta thực truy vấn các bảng, view hay chí kết dạng bảng trả function thông qua phương thức Một mục tiêu thiết kế LINQ to SQL nhằm làm cho dùng trường hợp thơng thường; nên, ví dụ truy cập tập order thơng qua thuộc tính Orders customer, order customer chưa đọc vào, LINQ to SQL sẽ tự động đọc vào từ sở liệu cho LINQ to SQL dựa quy ước cho trước, dựa quy ước để tùy biến, chẳng hạn thay đổi thao tác cho việc insert, update bằng cách tạo câu lệnh thao tác với sở liệu Các phương thức gọi thủ tục sở liệu hay thực thêm thao tác để xử lý thay đổi Entity Framework có đặc tính nhắm đến ứng dụng doanh nghiệp Trong doanh nghiệp, sở liệu thơng thường kiểm sốt DBA (người quản trị sở liệu), cấu trúc sở liệu thông thường tối ưu cho việc lưu trữ (hiệu năng, tính tồn vẹn, phân hoạch) cho mơ hình ứng dụng tốt, thay đổi qua thời gian liệu việc sử dụng phát triển lên Với ý tưởng này, Entity Framework thiết kế xung quanh việc xây dựng mô hình liệu hướng tới ứng dụng, phụ thuộc, chí khác chút so với cấu trúc sở Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe c Biểu đồ hoạt động Hình 3.3.2.c.1 Biểu đồ hoạt động đổi mật 3.3.3 Thiết kế ca sử dụng “Quản lý lịch trình” a Uc quản lý lịch trình Hình 3.3.3.a.1 Uc quản lý lịch trình Sinh viên thực hiện: -Trang 48- Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 49- b Đặc tả ca sử dụng Tên ca sử dụng Tác nhân Mô tả Quản lý lịch trình Nhân viên quản lý Ca sử dụng cho phép nhân viên quản lý quản lý thơng tin lịch trình chạy xe Luồng kiện Nhân viên quản lý chọn mục quản lý lịch trình chạy xe Hệ thống hiển thị danh sách lịch trình chạy xe Nhân viên quản lý thêm lịch trình Nếu lịch trình có Chuyển sang luồng A1 Nhân viên quản lý chọn lịch trình Nhân viên quản lý xóa sửa lịch trình Nếu bán vé tuyến lịch trình xe chạy lịch trình chuyển sang luồng A2 Ca sử dụng kết thúc Luồng kiện rẽ nhánh Luồng rẽ nhánh A1:Lịch trình có Thơng báo khơng thêm Yêu cầu nhập lại Ca sử dụng kết thúc Luồng rẽ nhánh A2: Đã bán vé tuyến lịch trình xe chạy lịch trình Thơng báo khơng xóa sửa Ca sử dụng kết thúc Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe c Biểu đồ hoạt động Hình 3.3.3.c.1 Biểu đồ hoạt động quản lý lịch trình 3.3.4 Quản lý đặt vé a Uc đặt vé Hình 3.3.4.a.1 Uc đặt vé Sinh viên thực hiện: -Trang 50- Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe b Đặc tả ca sử dụng Tên ca sử dụng Đặt vé Tác nhân Khách hàng Mô tả Ca sử dụng cho phép khách hàng đặt vé Tiền điều kiện Khách hàng đăng nhập vào hệ thống Luồng kiện Khách hàng chọn mục đặt vé Tìm vé phù hợp Đặt vé Cập nhật hệ thống Hệ thống gửi email xác nhận tới khách hàng Ca sử dụng kết thúc c Biểu đồ hoạt động Hình 3.3.4.c.1 Biểu đồ hoạt động quản lý đặt vé Sinh viên thực hiện: -Trang 51- Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 52- 3.3.5 Thiết kế sở liệu a Mơ hình quan hệ liệu a.1 Loại tài khoản Tài khoản Hình 3.3.5.a.1 Mơ hình E-R Loại tài khoản và Tài khoản Từ ta có lược đồ quan hệ sau: - LoaiTaiKhoan(MaLoaiTaiKhoan, TenLoaiTaiKhoan), MaLoaiTaiKhoan khóa TaiKhoan(TenDangNhap, HoTen, MatKhau, DiaChi, SoDienThoai, MaLoaiTaiKhoan, HoatDong, Email), TenDangNhap khóa chính, MaLoaiTaiKhoan khóa ngoại Và sở liệu gồm: tblTaiKhoan tblLoaiTaiKhoan tenDangNhap hoTen maLoaiTaiKhoan matKhau tenLoaiTaiKhoan diaChi soDienThoai maLoaiTaiKhoan hoatDong email Hình 3.3.5.a.1 Bảng sở liệu Loại tài khoản và Tài khoản Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 53- a.2 Bán vé Trả vé Hình 3.3.5.a.2 Mơ hình E-R Bán vé và Trả vé Từ ta có lược đồ quan hệ sau: - BanVe(MaBan, ThoiDiemBan, NguoiXacNhan, NguoiMua, DaTraTien, DaNhanVe, SoLuongVe, MailQuaHan, SoTien), MaBan khóa - TraVe( MaTra, MaBan, ThoiDiemTra, SoTienTra, SoLuongVe), MaTra khóa chính, MaBan khóa ngoại Và sở liệu gồm: tblBanVe maBan tblTraVe thoiDiemBan maTra daTraTien maBan nguoiXacNhan tenDangNhap maLichTrinh thoiDiemTra soTien soTienTra soLuongVe soLuongVe nguoiMua mailQuaHan daNhanVe Hình 3.3.5.a.2 Bảng sở liệu Bán vé và Trả vé Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 54- a.3 Bến Tuyến Hình 3.3.5.a.3 Mơ hình E-R Bến và Tuyến Từ ta có lược đồ quan hệ sau: - Tuyen(MaTuyen, TenTuyen, GiaCoBan, MoTa, HoatDong, MaBenDi, MaBenDen), MaTuyen khóa chính, MaBenDi MaBenDen khóa ngoại - Ben(MaBen, TenBen, SoDienThoai, DiaChi, MoTa, HoatDong), MaBen khóa Và sở liệu gồm: tblBen tblTuyen maBen maTuyen tenBen tenTuyen soDienThoai giaCoBan moTa maBenDen hoatDong moTa diaChi hoatDong maBenDi Hình 3.3.5.a.3 Bảng sở liệu Bến và Tuyến Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 55- a.4 Xe Đơn vị vận tải Hình 3.3.5.a.4 Mơ hình E-R Xe và Đơn vị vận tải Từ ta có lược đồ quan hệ sau: - DonViVanTai(MaDonVi, TenDonVi, DiaChi, SoDienThoai, HoatDong), MaDonVi khóa Xe(SoXe, TenXe, HoatDong, MaDonVi, SoLuongGhe), SoXe khóa chính, MaDonVi khóa ngoại Và sở liệu gồm: tblDonViVanTai tlbXe maDonVi soXe tenDonVi tenXe diaChi maLoaiXe soDienThoai maDonVi moTa hoatDong hoatDong soLuongGhe Hình 3.3.5.a.4 Bảng sở liệu Xe và Đơn vị vận tải Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 56- a.5 Xe Loại xe Hình 3.3.5.a.5 Mơ hình E-R Xe và Loại xe Từ ta có lược đồ quan hệ sau: - Xe(SoXe, TenXe, HoatDong, MaDonVi, MaLoaiXe, SoLuongGhe), SoXe khóa chính, MaLoaiXe khóa ngoại - LoaiXe(MaLoaiXe, TenLoaiXe, HeSoGia, MoTa, HoatDong) MaLoaiXe khóa ngoại Và sở liệu gồm tlbXe tblLoaiXe soXe maLoaiXe tenXe tenLoaiXe maLoaiXe heSoGia maDonVi moTa hoatDong hoatDong soLuongGhe Hình 3.3.5.a.5 Bảng sở liệu Xe và Loại xe Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 57- a.6 Xe, Tuyến, Tài xế Bán vé Hình 3.3.5.a.6 Mơ hình E-R Xe, Tuyến, Tài xế và Bán vé Từ ta có lược đồ quan hệ sau: - LichTrinh(MaLichTrinh, ThoiDiemDi, MoTa, HoatDong, MaTuyen, SoXe, MaTaiXe), MaLichTrinh khóa chính, MaTuyen MaBen SoXe MaTaiXe khóa ngoại - TaiXe(MaTaiXe, HoTen, DiaChi, SoDienThoai), MaTaiXe khóa - Tuyen(MaTuyen, TenTuyen, GiaCoBan, MoTa, HoatDong,MaBen), MaTuyen khóa Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe - BanVe(MaBan, ThoiDiemBan, -Trang 58- NguoiXacNhan, NguoiMua, DaTraTien, DaNhanVe, SoLuongVe, MailQuaHan, SoTien, MaLichTrinh), MaBan khóa chính, MaLichTrinh khóa ngoại Xe(SoXe, TenXe, HoatDong,MaDonVi, SoLuongGhe), SoXe khóa Và có sở liệu gồm: tblBanVe tblTuyen maTuyen maBan tenTuyen thoiDiemBan giaCoBan daTraTien maBenDen nguoiXacNhan moTa maLichTrinh hoatDong soTien maBenDi soLuongVe nguoiMua mailQuaHan daNhanVe tblLichTrinh maLichTrinh soXe maTuyen thoiDiemDi moTa hoatDong maTaiXe tlbXe soXe tblTaiXe tenXe maLoaiXe maTaiXe maDonVi hoTen hoatDong diaChi soLuongGhe soDienThoai Hình 3.3.5.a.6 Bảng sở liệu Xe, Tuyến, Tài xế và Bán vé Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe b Bảng sở liệu tổng quát Hình 3.3.5.b.1 Bảng sở liệu tổng quát Sinh viên thực hiện: -Trang 59- Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 60- 3.4 CÀI ĐẶT Chương trình cài đặt trên: • Ngơn ngữ lập trình: C#, Frameword 4.0 • Cơ sở liệu: sql server 2008 • Cơng cụ lập trình visual studio 2010 • Cơng cụ hỗ trợ thiết kế web: Ajax Extensions, Captcha: botdetect, Javascript: Jquery1.4.1 • Thiết kế menu: Sothink DHTML Menu • Vẽ hình: SoftwareIdeasModeler Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe -Trang 61- KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN - Kết luận Khóa luận hoàn thành vòng năm tháng đạt kết sau: Tìm hiểu và sử dụng thành thạo công cụ: Ajax, captcha, javascript để thiết kế web Nghiên cứu thành công công cụ LINQ TO SQL để triển khai ứng dụng Phân tích, thiết kế và cài đặt thành công trang web quản lý bán vé Tuy nhiên, hạn chế mặt thời gian, website giai đoạn phát triển chưa áp dụng thức cho cơng ty nên chương trình chưa phát lỗi hệ thống yêu cầu bổ sung từ phía khách hàng Ngồi ra, tìm hiểu nghiệp vụ quản lý bến xe giai đoạn tốn nhiều thời gian, thân còn hạn chế kinh nghiệm nên đề tài chưa khai thác hết yêu cầu từ phía khách hàng - Hướng phát triển Tiếp tục tìm hiểu nghiệp vụ quản lý bến xe để hoàn thành tất yêu cầu từ phía khách hàng quản lý nhân viên, lương, trả tiền trực tiếp qua mạng, Nâng cấp chương trình bằng cách sử dụng Entity Framework MVC Hiệu chỉnh lại giao diện cho thân thiện với người sử dụng Thuê hosting để chạy website kiểm tra chương trình Sinh viên thực hiện: Đề tài: Tìm Hiểu Linq và Quản Lý Bán Vé Xe TÀI LIỆU THAM KHẢO http://congdongcviet.com/ http://www.diendantinhoc.org/ http://www.vn-zoom.com/ http://captcha.biz/ http://msdn.microsoft.com/en-us/ Sinh viên thực hiện: -Trang 62- ... tblBanVe • Trong linq: var q=(from p in db.tblBanVes select p).Take(2); - Order by • Trong sql: SELECT • * FROM tblBanVe ORDER BY nguoiXacNhan DESC Trong Linq: var q=from p in db.tblBanVes orderby... maTaiXe { get { return this._maTaiXe; } set { if ((this._maTaiXe != value)) { this.OnmaTaiXeChanging(value); this.SendPropertyChanging(); this._maTaiXe = value; this.SendPropertyChanged("maTaiXe");... Quản Lý Bán Vé Xe -Trang 1 6- on banve.maLichTrinh equals lichtrinh.maLichTrinh select new { banve.soLuongVe, banve.soTien, lichtrinh.soXe, lichtrinh.maTuyen, lichtrinh.thoiDiemDi }; - Group • Trong