Đồ án Thiết kế website quản lý xe và bán vé xe khách online

CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI 1 I.1. Lý do chọn đề tài 1 I.2. Mục đích và ý nghĩa 1 I.3. Khái quát về hệ thống 2 I.3. 1. Cách thức đặt vé 2 I.3. 2. Trách nhiệm của Website 2 I.3. 3. Trách nhiệm của hãng xe khách 2 CHƯƠNG II: CƠ SỞ LÝ THUYẾT 3 II.1. Tìm hiểu sơ lược về đặc điểm các công ty xe khách hiện nay 3 II.2. NET FrameWork và các ứng dựng Web 4 II.2.1. NET Framework 4 II.2.2. Các ứng dụng Web 5 II.3. ASP.NET 6 II.3.1. Ưu điểm của ASP.NET 6 II.3.2. Tóm tắt các đặc điểm mới của ASP.NET 8 II.3.3. Các thành phần điều khiển trong ASP.NET 10 II.3.3.1. ASP.NET cấu hình và phân phối ứng dụng 10 II.3.3.2. Trạng thái của các biến Session và Application trong ASP.NET 11 II.3.4. Microsoft SQL Server 2005 12 II.3.4.1. SQL Server Management Studio 13 II.3.4.2. Catalog views 14 II.3.4.3. Metadata function 14 II.3.4.4. Stored Procedures 14 CHƯƠNG III: 15 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 15 III.1. Phân tích yêu cầu 15 III.1.1. Các yêu cầu ở mức hệ thống 15 III.1.2. Các yêu cầu ở mức ứng dụng 15 III.2. Kiến trúc hệ thống Website 16 III.3. Biểu đồ các Usecase 17 III.3.1. Actor 17 III.3.2. Usecase 18 III.4. Thiết kế CSDL hệ thống Vé xe khách Online 25 III.4.1. Các bảng dữ liệu 25 III.4.2.Sơ đồ dữ liệu quan hệ 37 CHƯƠNG IV: XÂY DỰNG CHƯƠNG TRÌNH 38 IV.1. Mô hình và giải pháp hệ thống 38 IV.2. Thiết kế chương trình 38 IV.3. Các module trong chương trình 40 IV.3.1. Module quản lý hãng xe 40 IV.3.2. Module quản lý xe 40 IV.3.3. Module quản lý sơ đồ xe 40 IV.3.4. Module quản lý loại ghế 40 IV.3.5. Module quản lý tuyến xe 40 IV.3.6. Module quản lý tài xế lái xe 41 IV.3.7. Module quản lý đại lý bán vé 41 IV.3.8. Module quản lý điểm xuất phát và điểm đến 41 IV.3.9. Module quản lý phương thức thanh toán 41 IV.3.10. Module quản lý đơn đặt hàng 42 IV.3.11. Module thống kê báo cáo 42 IV.3.12. Module quản trị cấu trúc Website 42 IV.3.13. Module quản trị người dùng 42 IV.3.14. Module đặt vé 42 IV.4. Giao diện người dùng 43 IV.4.1. Trang chủ 43 IV.4.2. Trang đăng ký khách hàng 44 IV.4.3. Trang tìm kiếm thông tin đặt vé 44 IV.4.4. Trang phương thức thanh toán 45 IV.4.5. Trang hóa đơn đặt vé 45 IV.4.7. Trang quản lý người dùng 46 CHƯƠNG V: KẾT LUẬN 47 V.1. Các kết quả đạt được 47 V.2. Những hạn chế và hướng phát triển đề tài 47 V.2.1. Những hạn chế của đề tài 47 V.2.2. Hướng phát triển đề tài 47 TÀI LIỆU THAM KHẢO 48

doc53 trang | Chia sẻ: lvcdongnoi | Lượt xem: 7532 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế website quản lý xe và bán vé xe khách online, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n khi các thiết bị cầm tay như điện thoại di động ra đời và đòi hỏi nhu cầu sử dụng Internet. Các trang tài liệu thiết kế cho những thiết bị này yêu cầu phải nhỏ gọn và không thể sử dụng cách định dạng cho tài liệu như trên những trình duyệt hiện đại. Một trong những cách giải quyết vấn đề trên đó là hướng đến từng môi trường của ứng dụng để thiết kế các trang tài liệu khác nhau. Ví dụ có thể tạo 100 trang HTML để hỗ trợ cho các trình duyệt trên máy PC, 100 trang WML khác hỗ trợ cho kết nối điện thoại di động. Nói chung chúng ta xây dựng hai site riêng biệt để hướng đến hai mục đích sử dụng khác nhau. Đây là cách mà các ứng dụng web hiện đại đang sử dụng. Tuy nhiên, một lựa chọn khác là trình chủ có thể tùy vào yêu cầu của trình khách để lựa chọn và sinh ra các trang tài liệu phù hợp mục đích sử dụng mà trình khách đang cần. Cách này tuy linh động nhưng đòi hỏi phải xây dựng và viết mã lệnh công phu. Mặc dù vậy với ASP.NET bạn không cần phải viết mã lệnh, các thành phần điều khiển hoạt động trên trình chủ có khả năng nhận dạng và sinh mã tùy theo mục đích và yêu cầu sử dụng cuối cùng của trình khách + Các thành phần điều khiển HTML phía trình chủ Thông thường các thành phần điều khiển HTML như Button, textbox, checkbox… hoạt động phía trình khách. Mặc dù vậy với ASP.NET có thể yêu cầu những thành phần này chạy và tương tác trên trình chủ bằng thuộc tính runat=”server” Các thành phần điều khiển HTML với thuộc tính runat=”server” tạo điều kiện cho trình chủ tích hợp với trình khách, quản lý dữ liệu đồng nhất trong phiên giao dịch chuyển đổi dữ liệu qua lại giữa ứng dụng khách và trình chủ web server. Khái niệm cho phép các thành phần điều khiển HTML chạy trên server có thể rất mới. Tuy chưa quen nhưng phong cách này sẽ dần trở nên thân thuộc và thuận tiện hơn đối với môi trường phát triển web. Các vấn đề về quản lý trạng thái Một trong những trở ngại của các trang web khi tương tác với ứng dụng đó là quản lý giá trị mà người dùng nhập vào các điều khiển phía client của trang HTML và chuyển lên trình chủ web server xử lý. Các giá trị này cần phải chuyển đi, chuyển lại trong mỗi cuộc gọi (request) để lưu giữ trạng thái của một thông tin nào đó giữa trình khách và trình chủ. Mục tiêu của ASP.NET là giúp bạn đơn giản hóa việc quản lý trạng thái này Các HTML control tự quản lý trạng thái Các thành phần điều khiển HTML sẽ giữ nguyên các giá trị của trạng thái trước đó nhờ được thêm vào thuộc tính runat=”server” Trang ASP.NET và trạng thái VIEWSTATE Một thành phần điều khiển khác được ASP.NET sinh ra và thêm vào Form đó là ô điều khiển mang trạng thái ẩn (HIDDEN).Tên của thành phần này là name=”_VIEWSTATE”. Đây là dấu hiệu để trình chủ nhận biết và quản lý các trạng thái dữ liệu của trang. Một trang có thể được triệu gọi bởi nhiều kết nối khác nhau. Mỗi kết nối tạo nên một phiên làm việc Session. _VIEWSTATE chính là dấu hiệu nhận dạng Session mà dữ liệu trong trang chịu tác động. Viết mã cho trang ASP.NET Một trong những đặc điểm nổi bật của ASP.NET đó là các thành phần điều khiển server- side control luôn tồn tại đồng thời với trang tài liệu ASP.NET và sẵn sàng để sử dụng. Bạn có thể không cần dùng đối tượng Request để lấy về các giá trị do người dùng gửi lên trình duyệt như trong trang ASP. Các giá trị này trình chủ sẽ đón nhận và lưu vào các thành phần điều khiển dựa vào tên gọi duy nhất của chúng (chỉ tác dụng lên những thành phần nào mang thuộc tính runat=”server”) + Xử lý sự kiện phía trình chủ giúp bạn cấu trúc mã lệnh tốt hơn ASP.NET biến mỗi trang ASP thành một đối tượng server-side có khả năng thực thi và triệu gọi thông qua phương thức, thuộc tính và tương tác bằng sự kiện. Bạn có thể dựa vào sự kiện của đối tượng để tạo ra các nội dung tài liệu biến đổi động. Mỗi trang ASP.NET là một đối tượng tích hợp vào cây đối tượng COM+ của toàn bộ hệ thống, có thể triệu gọi xuyên suốt bởi các ứng dụng trên mạng Internet hoặc các ứng dụng cục bộ Bộ khung của ứng dụng ASP.NET Các trang ASP.NET chạy trong môi trường .NET của Microsoft và có thể tận dụng được mọi dịch vụ mà bộ khung NGWSF đem lại. Ngoài việc dùng lại các đối tượng ở mức cao của ASP như QueryString, Form, Cookies và ServerVariables bạn còn có thể truy cập đến các dối tượng thấp hơn như đối tượng HTTP Modules, đối tượng Request HTTP Handler (đây là đối tượng xử lý kết nối HTTP ở mức thấp). Bạn cũng có thể thực hiện thao tác đón nhận và xử lý dữ liệu thô trước khi ASP.NET chuyển dữ liệu lên các tầng xử lý cao hơn. Xử lý dữ liệu thô do trình khách gửi lên rất tiện dụng. Chẳng hạn, bạn có thể đón nhận và xử lý dữ liệu thô của quá trình nạp file (upload) từ trình khách lên trình chủ web server. Biên dịch và mở rộng ngôn ngữ viết trang ASP.NET Cơ cấu hoạt động của trang ASP.NET như sau: khi trình khách lần đầu tiên yêu cầu trang ASP.NET, trình chủ web server sẽ kiểm tra xem trang ASP.NET đã được biên dịch và lưu trong bộ đệm (cache) hay chưa. Nếu chưa, môi trường thực thi .NET sẽ biên dịch trang ASP.NET mà trình khách yêu cầu và đưa mã trang đã biên dịch vào vùng đệm cache. Trang ASP.NET được biên dịch ra mã thực thi trung gian IL (khác với mã nhị phân như các trình ứng dụng .exe). Vì lý do này, mọi ngôn ngữ lập trình có khả năng tạo ra mã IL đều có thể dùng để viết trang ASP.NET. Thực tế toàn bộ các ngôn ngữ lập trình trong Visual Studio.NET của Windows giờ đây đều có khả năng biên dịch ra mã IL. Những ngôn ngữ được dùng để viết ASP.NET sẽ là VB, C++, JScript, C# và sau này có thể là Perl, Java..Môi trường .NET đã tích hợp mọi thành phần ngôn ngữ cùng chung một mục đích là xây dựng ứng dụng dưới dạng những đối tượng thực thi bằng mã IL. Các đối tượng này có thể triệu gọi xuyên suốt bởi trang ASP, ASP.NET, ứng dụng Desktop, ứng dụng phân tán, ứng dụng mạng, ứng dụng hệ thống, ứng dụng cơ sở dữ liệu… Do được biên dịch và lưu trong vùng đệm nên ứng dụng xây dựng dựa trên trang ASP.NET chạy nhanh hơn các ứng dụng ASP (trang ASP phải lặp lại bước thông dịch mỗi khi có yêu cầu từ trình khách). Môi trường ASP.NET quản lý tài nguyên tốt hơn ASP. Nếu bạn thay đổi nội dung trang ASP.NET thì trang sẽ được biên dịch và cập nhật trở lại vùng đệm cache một cách đồng bộ. II.3.2. Tóm tắt các đặc điểm mới của ASP.NET Các đặc điểm mới nổi bật của ASP.NET hơn hẳn ASP có thể liệt kê như sau: Pages(trang ứng dụng): sử dụng các thành phần điều khiển có khả năng hoạt động và tương tác với nhau ngay trên trình chủ web server.Đặc điểm này giảm thiểu quá trình viết mã tương tác giữa các trang. Lập trình trong môi trường ASP.NET tương tự như lập trình thiết kế trong VB Form và do đó các ứng dụng ASP.NET còn gọi là web form HTML server side controls: Các thành phần điều khiển HTML có khả năng xử lý ngay trên trình chủ dựa vào thuộc tính và phương thức tương tự cách hoạt động của chúng phía trình khách. Những thành phần điều khiển này còn cho phép kết hợp mã xử lý của trang ASP.NET với một sự kiện nào đó phát sinh phía trình khách được xem như đang diễn ra trên trình chủ. Rich control: Tập các thành phần điều khiển đa năng. Các điều khiển Rich control chạy trên server và có thể tạo ra các phần tử cũng như đối tượng HTML phức hợp cho trình khách ví dụ như khung lưới (grid), lịch (calendar),bảng (table), khung nhìn (list view)…Rich control còn cho phép bạn ràng buộc dữ liệu và xử lý dữ liệu tương tự như bạn đang viết một ứng dụng desktop thật sự. Xóa đi biên giới của mô hình khách/chủ Web Service: Các dịch vụ web. Trang ASP.NET của bạn có thể không cần hiển thị kết xuất cho trình khách. Chúng hoạt động như những chương trình xử lý yêu cầu ở hậu cảnh. Ví dụ như trang ASP.NET của bạn có thể là một lớp đối tượng cung cấp phương thức trả về giá trị nào đó khi nhận được yêu cầu từ trình khách Cấu hình và phân phối: đơn giản và dễ dàng với các file cấu hình theo định dạng văn bản XML. Các thành phần đối tượng không còn phải đăng ký với hệ thống trước khi sử dụng nữa. Bạn chỉ cần copy các trang ASP.NET hay các đối tượng lên máy chủ, chỉ ra vị trí của chúng và thế là chương trình cũng như dịch vụ của bạn đã có thể sẵn sàng sử dụng Tự động quản lý trạng thái của đối tượng Session và Application: Bạn có thể lưu nội dung của Session hay Application của một ứng dụng đặc thù nào đó xuống các file trên đĩa để sử dụng lại Xử lý lỗi, debug và lần vết: Các công cụ gỡ lỗi, lần vết thông tin được nâng cấp và đáng tin cậy hơn. Mỗi trang tài liệu có thể sử dụng một trang xử lý lỗi riêng biệt và kết xuất nội dung của biến để theo dõi ngay trong quá trình thực thi trang. Các trình gỡ lỗi debug được tích hợp sử dụng cho môi trường đa ngôn ngữ VB, C++, C#. Bạn có thể tạo ra các thành phần đối tượng từ C++, C# và triệu gọi chúng bằng ngôn ngữ VB theo cùng cú pháp Quản lý bảo mật: Bạn có thể tận dụng các dịch vụ đăng nhập tùy biến cho trang tài liệu ASP.NET theo phong cách của web hoặc cơ chế đăng nhập và kiểm tra quyền xuất dựa trên hệ thống bảo mật của hệ điều hành Tùy biến vùng đệm trên trình chủ: Vùng đệm của kiến trúc ASP.NET được quản lý rất linh động. Bạn có thể tự tạo các vùng đệm riêng chứa một kiểu giá trị và đối tượng trong quá trình hoạt động của trang nhằm tăng tốc cho ứng dụng Một tập các đối tượng phong phú: ASP.NET hỗ trợ một tập phong phú các thư viện lớp và đối tượng phục vụ cho hầu hết những gì mà các nhà phát triển ứng dụng cần đến. Bằng những thư viện này công việc viết ứng dụng cho web trở nên dễ dàng và đơn giản hơn bao giờ hết. Ví dụ như bạn có thể sử dụng các thành phần đối tượng “Send Mail” để gửi nhận thư, đối tượng mã hóa và giải mã thông tin, đối tượng đếm số người truy cập trang web (counter), đối tượng truy xuất dữ liệu ADO, đối tượng truy cập các dịch vụ mạng, đối tượng đọc ghi trên hệ thống file NT, đối tượng ghi ra logfile của hệ điều hành… Các đối tượng nội tại khác như Request, Respone, Form, Cookies, ServerVariables đều được giữ lại và hoàn toàn tương thích với ASP. Tuy nhiên ASP.NET đã cung cấp thêm cho những đối tượng này rất nhiều thuộc tính và phương thức mới giúp nâng cao khả năng xử lý và ứng dụng II.3.3. Các thành phần điều khiển trong ASP.NET ASP.NET có tất cả 4 loại thành phần điều khiển cần phân biệt đó là: Điều khiển nội tại: Các điều khiển này sẽ tạo ra những phần tử theo kiểu HTML phía trình khách. Bạn có thể dựa vào điều khiển nội tại để tạo ra các phần tử HTML thông minh có khả năng quản lý trạng thái của chính nó hoặc những phần tử chỉ thuần HTML không cần quản lý trạng thái Điều khiển danh sách: Thành phần điều khiển này cho phép bạn hiển thị mọi loại dữ liệu kiểu danh sách. Ví dụ như bảng dữ liệu (table), khung nhìn (view), liệt kê… Điều khiển danh sách còn cho phép bạn ràng buộc với các thành phần dữ liệu trên server. Sử dụng List control bạn có thể hiển thị và sắp xếp dữ liệu theo cách đơn giản và ít phải viết mã lệnh nhất Điều khiển đa năng: những điều khiển đa năng trên server sẽ sinh ra mã là tổ hợp của nhiều phần từ HTML, đôi khi kèm theo mã điều khiển JavaScript để chạy phía trình khách. Rich Control cung cấp cho bạn nhiều giao diện bắt mắt và độc đáo. Ví dụ như đối tượng Calendar là một thành phần điều khiển đa năng. Tùy theo trình duyệt phía máy khách mà mã HTML và JavaScript do rich control sinh ra sẽ trở nên tương thích Điều khiển kiểm tra: Các điều khiển này thường không khả kiến. Chúng hoạt động phía hậu cảnh ở cả hai phía trình khách và trình chủ. Mục đích của thành phần điều khiển là cho phép kiểm tra khuôn dạng của dữ liệu nhập vào trước khi trình khách gửi ngược dữ liệu về trình chủ hoặc trình chủ đưa dữ liệu trở về trình khách Tất cả những thành phần điều khiển này đều sinh ra mã HTML tương thích với hầu hết với các trình duyệt. ASP.NET tuyệt đối không sử dụng các ActiveX hay Applet đặc biệt để sinh mã cho trang tài liệu phía trình khách II.3.3.1. ASP.NET cấu hình và phân phối ứng dụng File cấu hình của site – web.config Trong phiên bản ASP cũ, file global.asa được dùng làm file cấu hình toàn cục và thường được đặt trong thư mục gốc của ứng dụng Web. File global.asa được dùng khai báo biến toàn cục, xử lý các tình huống, sự kiện phát sinh khi ứng dụng khởi động… Mặc dù vậy, thông tin cấu hình cho toàn bộ site của trình chủ lại đặt trong file cấu hình đặc biệt khác của IIS với định dạng dữ liệu chỉ có thể diễn dịch bởi trình chủ IIS mà thôi. Để cấu hình cho trình chủ IIS bạn không có cách nào khác ngoài việc sử dụng các giao diện mà Windows cung cấp MMC hoặc các trang HTML quản trị cấu hình từ xa. Trong ASP.NET, toàn bộ các thông tin cấu hình của site được đặt trong file config.web. Đây là file thuần text định dạng theo XML, có thể dễ dàng đọc cũng như soạn thảo. config.web đặt trong thư mục Program Files\COM20SDK. Nội dung của config.web được dùng để cấu hình và thiết lập trạng thái cho mọi ứng dụng trong site như, thay vì phải sử dụng các giao diện đồ họa của IIS bạn có thể chỉnh sửa trực tiếp config.web để đạt được cấu hình mong muốn. Bạn cũng có thể dễ dàng sao lưu cũng như chép file cấu hình này qua máy khác sử dụng lại. File cấu hình cho ứng dụng global.asax Ngoài file cấu hình config.web dùng cho toàn bộ ứng dụng trong site, ASP.NET còn cung cấp cho bạn file cấu hình global.asax tương tự như file cấu hình global.asa của các phiên bản ASP cũ. Trong file global.asax bạn có thể thiết lập và cài đặt các phương thức xử lý sự kiện như Application_OnStart, Application_End, Session_OnStart, Session_OnEnd. global.asax cung cấp thêm các sự kiện phát sinh mà global.asa không có như Application_BeginRequest, Security_OnAuthenticate… Với global.asax, bạn có thể đặt các biến khởi tạo cho Session hay Application tương tự như global.asa. II.3.3.2. Trạng thái của các biến Session và Application trong ASP.NET Biến Session và Application được dùng để lưu các biến dùng chung cho các trang ASP. Biến Application có tác dụng và ảnh hưởng đến tất cả các trang trong site và suốt quá trình hoạt động của ứng dụng. Biến Session chỉ có tác dụng trong một phiên làm việc hay kết nối của người dùng vào web site của bạn. Trong ASP.NET biến Application và Session được bổ sung thêm rất nhiều đặc tính mới Khi bạn thay đổi nội dung file global.asax hoặc khi đối tượng Session sau cùng trong ứng dụng bị hủy bỏ thì biến thuộc phạm vi Application cũng sẽ bị hủy bỏ theo Các biến khai báo thuộc phạm vi Session giờ đây có thể hoạt động độc lập với tiến trình thực thi các trang ASP.NET. Biến Session được quản lý bởi một chương trình dịch vụ riêng gọi là State Server. Bạn có thể lưu nội dung của biến Session vào cơ sở dữ liệu để sử dụng lại trong phiên làm việc tiếp theo của người dùng. Khả năng này rất hữu dụng và hầu như giải quyết được các vướng mắc thường gặp phải về quản lý trạng thái. Ngay cả khi trình diễn dịch ASP.NET của bạn hoặc dịch vụ web bị dừng đột ngột thì các biến Session vẫn bảo toàn trạng thái cho lần khởi động lại sau đó của ứng dụng. Trong phiên bản ASP.NET lần này, Microsoft cho phép bạn sử dụng biến Session để thay thế cookies. Với một vài thiết lập đặc biệt, bạn có thể đưa thông tin về mã số của Session (SessionID) lên trực tiếp địa chỉ URL. Các thông tin về cookies do đó sẽ được mã hóa truyền trực tiếp trên URL. Trình duyệt phía máy khách không còn phải bận tâm đến vấn đề lưu cookies và loại bỏ những cookies không an toàn nữa. Cuối cùng, trình quản lý các biến trạng thái State Server Process có thể cho bạn xem toàn bộ nội dung của các biến lưu giữ hiện hành. Điều này giúp cho việc lập trình và gỡ lỗi diễn ra dễ dàng và nhanh chóng hơn II.3.4. Microsoft SQL Server 2005 SQL Server là ngôn ngữ truy vấn dữ liệu, là một bước nhảy vọt về phía cơ sở dữ liệu đa người dùng của Microsoft, nhằm phục vụ cho những nhà phát triển hệ thống cơ sở dữ liệu. Hơn nữa, sự phát triển nhanh chóng của nhu cầu xây dựng những cơ sở dữ liệu lớn theo mô hình client/server thì ngôn ngữ SQL càng phổ biến. Trong mô hình client/server, toàn bộ cơ sở dữ liệu được tập trung lưu trữ trên server, mọi thao tác xử lý dữ liệu được thực hiện trên server bằng các lệnh SQL. Client chỉ lấy thông tin từ server. SQL được sử dụng để nhanh chóng tạo ra các trang Web động (Dynamic Web Page), nối kết giữa cơ sở dữ liệu và trang Web. Khi người dùng yêu cầu, SQL sẽ thực hiện việc truy cập thông tin trong cơ sở dữ liệu trên server và hiển thị kết quả trên trang Web. SQL xử lý, phân tích thông tin, sửa đổi dữ liệu của các bảng vì SQL chỉ làm việc với những dữ liệu có cấu trúc dạng bảng (table) như Foxpro, Access. SQL sử dụng Query cho phép nhiều người truy cập đồng thời, mỗi Query là một câu lệnh SQL được xây dựng hoàn chỉnh và ghi lại để có thể mang ra sử dụng bất kỳ lúc nào. SQL có khả năng đáp ứng hầu hết các yêu cầu đối với việc cập nhật, phân tích dữ liệu từ các bảng. Một số công dụng chính của SQL: Kết nối dữ liệu trên server, dùng lệnh SQL để tương tác với cơ sở dữ liệu. Kết hợp các trang Web với cơ sở dữ liệu bằng lệnh SQL. Tất cả các chức năng của SQL đều có thể được thực hiện bằng các công cụ khác của các phần mềm có sử dụng SQL. Thêm, cập nhật, xoá các bảng ghi trên toàn bảng theo những điều kiện khác nhau. Câu lệnh đơn giản, rất ngắn gọn, dễ nhớ, dễ sử dụng. Có thể sử dụng SQL Server thực hiện việc xử lý giao dịch, lưu trữ và phân tích dữ liệu. SQL Server thuộc họ các sản phẩm và công nghệ mà kho dữ liệu phù hợp với các yêu cầu môi trường xử lý giao dịch trực tuyến và xử lý phân tích trực tuyến. SQL Server là hệ quản trị cơ sở dữ liệu quan hệ với các tính năng sau: Quản lý kho dữ liệu cho các giao dịch. Khả năng lưu trữ dữ liệu với các kiểu dữ liệu có miền giá trị rộng, bao gồm text, numeric, XML và các đối tượng lớn. Đáp trả các yêu cầu từ các ứng dụng client. Sử dụng Transact-SQL, XML hay các câu lệnh SQL Server khác để gởi các yêu cầu giữa ứng dụng client và SQL Server. Hệ quản trị cơ sở dữ liệu SQL Server là đáng tin cậy đối với: Việc duy trì các mối liên hệ giữa các đối tượng dữ liệu trong một cơ sở dữ liệu. Việc đảm bảo rằng dữ liệu được lưu trữ đúng đắn và các quy tắc định nghĩa các quan hệ giữa các đối tượng dữ liệu là không bị xâm phạm. Ta có thể xem cấu trúc dữ liệu hệ thống cơ sở dữ liệu bằng hai cách khác nhau. Khi cần xem thông tin về đối tượng cơ sở dữ liệu, cách dễ dàng nhất là sử dụng SQL Server Management Studio. Khi viết các ứng dụng lấy cấu trúc dữ liệu các đối tượng cơ sở dữ liệu, nên sử dụng Transact-SQL để lấy thông tin từ các danh mục được cung cấp bởi hệ thống, nên tận dụng các hàm hệ thống hoặc thi hành các thủ tục được xây dựng sẵn của hệ thống. II.3.4.1. SQL Server Management Studio SQL Server Management Studio cung cấp các công cụ trực quan để hiển thị metadata của cơ sở dữ liệu và đồng thời thông qua môi trường này ta có thể dễ dàng quản lý nó. Các công cụ thường gặp nhất: Object Explorer: là công cụ đồ họa cho việc định vị và quản lý các servers, databases và các đối tượng cơ sở dữ liệu. Properties Window: mỗi đối tượng cơ sở dữ liệu bên trong Object Explorer có một cửa sổ Properties tương ứng mà có thể truy xuất bằng cách click phải chuột tại đối tượng và chọn Properties. Reports: SQL Server Management Studio chứa một tập hợp các reports cho các nodes khác nhau được cung cấp bên trong Object Explorer bởi SQL Server Report Server Engine. Các nodes thường được sử dụng có thể hiện các report bao gồm Server, Database, Login, Management. II.3.4.2. Catalog views Catalog views cho phép truy vấn metadata liên quan các đối tượng cơ sở dữ liệu SQL Server như tables, stored procedures và constraints. Catalog views được liệt kê trong thư mục Views. Một thư mục Views cho mỗi cơ sở dữ liệu trong SQL Server Management Studio. Mặc dù có thể truy vấn chúng bằng cú pháp Transact-SQL chuẩn đối với các views do người dùng định nghĩa, chúng không thực sự được cài đặt như các views truyền thống, có nghĩa là nó không truy vấn trên các tables mà thay vào đó nó truy vấn trực tiếp trên các metadata của hệ thống. Có hơn 200 catalog views và chúng được định nghĩa sẵn trong System Schema. II.3.4.3. Metadata function SQL Server 2005 định nghĩa một số các loại hàm khác nhau trả về thông liên quan cơ sở dữ liệu và các đối tượng cơ sở dữ liệu. Ngược lại với catalog views trả về nhiều dòng thông tin, các hàm này chỉ trả về một giá trị đơn lẻ và được hiểu là hàm vô hướng. II.3.4.4. Stored Procedures SQL Server 2005 cung cấp nhiều Store Procedures của hệ thống lấy thông tin metadata cơ sở dữ liệu. Các thủ tục này cung cấp một khả năng thực hiện khác cho việc truy vấn thông tin mà catalog views đã cung cấp và chấp nhận các tham số thủ tục cho phép sự tùy biến các tập kết quả. CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG III.1. Phân tích yêu cầu III.1.1. Các yêu cầu ở mức hệ thống Khả năng đáp ứng: Đáp ứng số lượng người sử dụng và truy nhập rất lớn trong cùng một thời điểm. An ninh, an toàn hệ thống ứng dụng và dữ liệu: Bảo đảm an ninh đối với sự truy cập, khai thác hệ thống dữ liệu, phân thành các mức độ khác nhau và mức độ đảm bảo an toàn đối với các truy cập từ ngoài vào, từ trong ra. Khả năng phát triển của Website: có thể phát triển thêm các nội dung và phạm vi sử dụng trong tương lai. III.1.2. Các yêu cầu ở mức ứng dụng Yêu cầu về nội dung thông tin Nội dung sinh động và nhanh chóng, phản ánh đầy đủ các thông tin về đơn vị xe, thông tin giá vé bằng cả 2 ngôn ngữ: Anh và Việt. Administrator có thể quản lý và phân quyền người dùng khác theo từng module. Người quản trị dễ dàng quản lý và tìm kiếm các hợp đồng đặt vé theo nhiều tiêu chí để xử lý. Đáp ứng được nhu cầu của các cá nhân và doanh nghiệp có nhu cầu di chuyển đặc biệt trong các dịp lễ, các ngày nghỉ, ngày cuối tuần. Yêu cầu về thiết kế xây dựng Website Đảm bảo tính động về thông tin: Website phải được thiết kế động, theo đó toàn bộ các đối tượng thông tin được hiển thị trên Website sẽ được lưu trữ và quản lý trong một cơ sở dữ liệu. Người sử dụng bình thường có thể dễ dàng thay đổi, bổ sung thông tin trên Website mà không cần đến sự trợ giúp của chuyên gia kỹ thuật. Hệ thống trực quan, dễ sử dụng. III.2. Kiến trúc hệ thống Website WAN, LAN Internet Các nguồn văn bản: Thông tin của công ty HỆ THỐNG QUẢN TRỊ NỘI DUNG Cung cấp các chức năng: Quản trị hệ thống Cập nhật thông tin Quản lý thông tin đặt vé Thống kê việc đặt vé qua mạng… Xác thực người dùng (Single-Sign-on) Cá nhân, doanh nghiệp, công ty lữ hành Chuyên viên quản trị website Nội dung thông tin: Các chức năng phục vụ chuyên viên công ty: WEBSITE VEXEONLINE Người sử dụng cập nhật Cung cấp thông tin: Giới thiệu về công ty Thông tin các xe Đại lý bán vé Lịch chạy xe Đặt vé qua mạng Phản hồi ý kiến Tin tức Quảng cáo, ... Hình 3. Kiến trúc hệ thống Website III.3. Biểu đồ các Usecase III.3.1. Actor Nhóm 1 - Nhóm User: người dùng chung, là nhóm người dùng có các quyền chung nhất như xem thông tin, tìm kiếm thông tin, đặt vé... Nhóm 2 – Nhóm Quản trị viên (Nhóm do Administrator tạo): là nhóm có quyền thao tác trong phần quản trị theo một hoặc một nhóm chức năng do Administrator cấp phép. Nhóm này kế thừa từ nhóm 1. Hình 4. Biểu đồ tương tác của các Actor Administrator: người quản trị hệ thống, là người có quyền thao tác cao nhất trong phần quản trị như quản lý tài khoản của nhóm 2, quản lý tin tức, phần giới thiệu về đơn vị vé xe, quản lý hãng xe, xe, tài xế, đại lý vé, và đơn đặt hàng của khách hàng. Nhóm này kế thừa từ nhóm 1. III.3.2. Usecase Như vậy, usecase dùng để mô tả yêu cầu của hệ thống mới về mặt chức năng, mỗi chức năng sẽ được biểu diễn như một hoặc nhiều use case. Gói User: Xem_Thong_Tin: use case này thực hiện chức năng xem thông tin của tất cả các phân hệ. Tim_Kiem_Thong_Tin: use case này thực hiện chức năng tìm kiếm thông tin của tất cả các phân hệ. Dat_Ve_Xe: use case này thực hiện chức năng đặt mua vé xe. Chuỗi sự kiện: người dùng click vào link đặt vé, form nhập thông tin đặt vé xe sẽ hiển thị. Người dùng nhập các thông tin cần thiết như email liên hệ, điện thoại, địa chỉ, CMND,… Người dùng chọn ghế cần đặt, chọn phương thức thanh toán Nhấn nút gửi để gửi dữ liệu đến người quản trị vé xe. Hình 5. Chức năng của User Gói Quản trị viên Dang_Nhap: use case này thực hiện chức năng đăng nhập vào hệ thống. Chuỗi sự kiện: Quản trị viên click vào link đăng nhập, form đang nhập sẽ hiển thị, yêu cầu người dùng nhập username và password. Nhấn nút đăng nhập để gửi dữ liệu lên server. Khi đó hệ thống sẽ kiểm tra tính hợp lệ của dữ liệu vừa nhập vào, nếu như không hợp lệ thì sẽ thông báo và yêu cầu nhập lại. Nếu hợp lệ, người quản trị viên sẽ đăng nhập vào hệ thống. Quan_Ly_Chuc_Nang: use case này thực hiện chức năng quản lý do Administrator phân quyền. Dang_Xuat: use case này thực hiện chức năng thoát khỏi hệ thống quản trị Website. Chuỗi sự kiện: Quản trị viên click vào link thoát hoặc logout, hệ thống thực hiện đăng xuất và đưa Quản trị viên trở về trang chủ. Hình 6. Chức năng của quản trị viên Gói Administrator Dang_Nhap: use case này thực hiện chức năng đăng nhập vào hệ thống. Chuỗi sự kiện: Administrator click vào link đăng nhập, form đang nhập sẽ hiển thị, yêu cầu người dùng nhập username và password. Nhấn nút đăng nhập để gửi dữ liệu lên server. Khi đó hệ thống sẽ kiểm tra tính hợp lệ của dữ liệu vừa nhập vào, nếu như không hợp lệ thì sẽ thông báo và yêu cầu nhập lại. Nếu hợp lệ, người quản trị viên sẽ đăng nhập vào hệ thống. Quan_Ly_Hang_Xe: use case này thực hiện chức năng quản lý hãng xe. Chuỗi sự kiện: người quản trị click vào link quản lý hãng xe, danh sách các hãng xe sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một hãng xe. Quan_Ly_Xe: use case này thực hiện chức năng quản lý xe. Chuỗi sự kiện: người quản trị click vào link quản lý xe, danh sách các xe sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một xe. Quan_Ly_So_Do_Xe: use case này thực hiện chức năng quản lý sơ đồ xe. Chuỗi sự kiện: người quản trị click vào link quản lý sơ đồ xe, danh sách các sơ đồ xe sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một sơ đồ xe. Quan_Ly_Loai_Ghe: use case này thực hiện chức năng quản lý loại ghế. Chuỗi sự kiện: người quản trị click vào link quản lý loại ghế, danh sách các loại ghế sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một loại ghế. Quan_Ly_Tuyen_Xe: use case này thực hiện chức năng quản lý tuyến xe. Chuỗi sự kiện: người quản trị click vào link quản lý tuyến xe, danh sách các tuyến xe sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một tuyến xe. Quan_Ly_Chuyen_Xe: use case này thực hiện chức năng quản lý các chuyến xe. Chuỗi sự kiện: người quản trị click vào link quản lý chuyến xe, danh sách các chuyến xe sẽ hiển thị. Người quản trị nhập thông tin tuyến xe, danh sách điểm dừng, giá vé các chặng đường. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một chuyến xe. Quan_Ly_Tai_Xe: use case này thực hiện chức năng quản lý tài xế. Chuỗi sự kiện: người quản trị click vào link quản lý tài xế, danh sách các tài xế sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một tài xế. Quan_Ly_Dai_Ly_Ve_Xe: use case này thực hiện chức năng quản lý đại lý vé xe. Chuỗi sự kiện: người quản trị click vào link quản lý đại lý vé xe, danh sách các đại lý vé xe sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một đại lý. Và quyết định cho hiển thị hay không. Quan_Ly_Diem_Xuat_Phat_Diem_Den: use case này thực hiện chức năng quản lý điểm xuất phát và điểm đến. Chuỗi sự kiện: người quản trị click vào link quản lý điểm xuất phát và điểm đến, danh sách các tài xế sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa. Quan_Ly_Phuong_Thuc_Thanh_Toan: use case này thực hiện chức năng quản lý phương thức thanh toán. Chuỗi sự kiện: người quản trị click vào link quản lý phương thức thanh toán, danh sách các phương thức thanh toán sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một phương thức thanh toán. Quan_Ly_Dat_Ve_Qua_Mang: use case này thực hiện chức năng quản lý việc đặt vé qua mạng. Chuỗi sự kiện: người quản trị click vào link quản lý đặt vé qua mạng, danh sách các hợp đồng đặt vé sẽ hiển thị. Sau đó, người quản trị thực hiện việc cập nhật trạng thái thanh toán hoặc thêm, sửa, xóa một hợp đồng đặt vé. Quan_Ly_Chuyen_Muc_Gioi_Thieu: use case này thực hiện chức năng quản lý chuyên mục giới thiệu đơn vị bán vé xe. Chuỗi sự kiện: người quản trị click vào link quản lý chuyên mục giới thiệu, danh sách các chuyên mục sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một một chuyên mục. Quan_Ly_Chuyen_Muc_Tin_Tuc: use case này thực hiện chức năng quản lý chuyên mục tin tức. Chuỗi sự kiện: người quản trị click vào link quản lý chuyên mục tin tức, danh sách các chuyên mục sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một một chuyên mục tin tức, hoặc thêm, sửa, xóa một bản tin. Phan_Quyen_Bien_Tap_Tin: use case này thực hiện chức năng quản lý việc phân quyền biên tập tin cho nhóm Quản Trị Viên. Chuỗi sự kiện: người quản trị click vào link phân quyền biên tập tin, danh sách người dùng và các chuyên mục tin sẽ hiển thị. Sau đó, người quản trị thực hiện chọn Quản trị viên và cấp phép, hoặc bỏ cấp phép các chuyên mục tin tức tương ứng. Quan_Ly_Nguoi_Dung: use case này thực hiện chức năng quản lý nhóm Quản Trị Viên. Chuỗi sự kiện: người quản trị click vào link quản lý người dùng, danh sách người dùng sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một Quản trị viên, hoặc quyết định cho hiển thị hay không. Phan_Quyen_Nguoi_Dung: use case này thực hiện chức năng quản lý việc phân quyền cho nhóm Quản Trị Viên. Chuỗi sự kiện: người quản trị click vào link phân quyền người dùng, danh sách người dùng và các chức năng chính của hệ thống sẽ hiển thị. Sau đó, người quản trị thực hiện chọn Quản trị viên và cấp phép, hoặc bỏ cấp phép các chức năng chính của hệ thống tương ứng. Quan_Ly_Phong_Ban: use case này thực hiện chức năng quản lý phòng ban của đơn vị xe. Chuỗi sự kiện: người quản trị click vào link quản lý phong ban, danh sách các phòng ban sẽ hiển thị. Sau đó, người quản trị thực hiện việc thêm, sửa hay xóa một một phòng ban. Dang_Xuat: use case này thực hiện chức năng thoát khỏi hệ thống quản trị Website. Chuỗi sự kiện: người quản trị click vào link thoát hoặc logout, hệ thống thực hiện đăng xuất và đưa người quản trị trở về trang chủ. Hình 7. Chức năng của Administrator III.4. Thiết kế CSDL hệ thống Vé xe khách Online III.4.1. Các bảng dữ liệu III.4.1.1. Lược đồ quan hệ phân quyền Hình 8. Lược đồ quan hệ phân quyền Chi tiết các bảng Tên bảng: LOGIN STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdUser char 20 Mã người sử dụng 2 Password Varchar 50 Mật khẩu đăng nhập 3 Email Varchar 50 Địa chỉ mail 4 FullName Varchar 50 Họ tên người dử sụng 5 Access Varchar 100 Truy cập Bảng 1. Bảng cơ sở dữ liệu Login Table name: NAMECATEGORY STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdCat Integer 4 Mã menu 2 IdParent Integer 4 Thuộc menu cha nào 3 NameCat Varchar 200 Tên menu 4 Icon Varchar 50 Hình ảnh menu 5 Link Varchar 200 Liên kết đến trang 6 Other Varchar 50 Hình ảnh menu hiển thị ngoài trang quản trị Bảng 2. Bảng cơ sở dữ liệu Namecategory Tên bảng: RIGHT STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdUser char 20 Mã người sử dụng Liên kết đến IdUser của bảng Login 2 IdCat Integer 4 Mã quyền sử dụng Liên kết đến IdCat của bảng NameCategory Bảng 3. Bảng cở sở dữ liệu Right Tên bảng: LANG STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdLang Smallint 2 Mã ngôn ngữ 2 Name Varchar 100 Tên ngôn ngữ 3 Logo Varchar 100 Hình ảnh Bảng 4. Bảng cơ sở dữ liệu Lang III.4.1.2. Lược đồ quan hệ tin tức Hình 9. Lược đồ quan hệ tin tức Chi tiết các bảng Tên bảng: CATEGORYNEWS STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdCat Integer 4 Mã loại tin 2 Title Varchar 200 Tiêu đề loại tin 3 IdParent Integer 4 Thông tin tóm tắt 4 IdLang Smallint 2 Mã ngôn ngữ 7 IdCommon Integer 4 Mã liên kết các loại tin của các ngôn ngữ khác nhau Bảng 5. Bảng cơ sở dữ liệu Categorynews Tên bảng: NEWS STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdNews Integer 4 Mã bản tin 2 Title Varchar 1000 Tiêu đề tin 3 Summarize varchar 3000 Thông tin tóm tắt 4 Content Ntext 16 Thông tin chi tiết 5 IsHome Smallint 2 Thuộc tin giới thiệu 6 DateInit Datetime 8 Ngày nhập tin 7 IdCommon Integer 4 Mã liên kết các loại tin của các ngôn ngữ khác nhau 8 Active Smallint 2 Duyệt tin 9 IdCat Integer 4 Mã loại tin Bảng 6. Bảng cơ sở dữ liệu News III.4.1.3. Lược đồ quan hệ Hãng xe Hình 10. Lược đồ quan hệ hãng xe Chi tiết các bảng Tên bảng: CARCOMPANY STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdCarCo Integer 4 Mã hãng xe 2 NameCarCo Varchar 200 Tên hãng xe 3 LogoCarCo Varchar 200 Logo hãng xe 4 InfoCarCo Varchar 3000 Giới thiệu về hãng xe 3 IdLang Smallint 2 Mã ngôn ngữ 4 IdCommon Integer 4 Mã liên kết các hãng xe của các ngôn ngữ khác nhau Bảng 7. Bảng cơ sở dữ liệu Carcompany Tên bảng: AGENCY STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdAgency Integer 4 Mã đại lý 2 NameAgency Varchar 200 Tên đại lý 3 IdCarCo Integer 4 Mã hãng xe 4 Address Varchar 200 Địa chỉ 5 Tel Varchar 50 Điện thoại 6 Email Varchar 50 Email 7 Contact Varchar 100 Người liên hệ 8 Active Smallint 2 Hiển thị 9 IdCommon Integer 4 Mã liên kết các đại lý của các ngôn ngữ khác nhau Bảng 8. Bảng cơ sở dữ liệu Agency Tên bảng: CAR STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdCar Varchar 10 Biển số xe 2 Driver1 Integer 4 Tên tài xế chính 3 Driver2 Integer 4 Tên tài xế phụ 4 IdCarCo Integer 4 Mã hãng xe 5 Image Varchar 50 Hình ảnh xe 6 TotalSeat Smallint 2 Tổng số ghế 7 IdCarDiagram Integer 4 Mã sơ đồ xe 8 Other Varchar 3000 Thông tin khác 9 IdCommon Varchar 10 Mã liên kết các xe của các ngôn ngữ khác nhau Bảng 9. Bảng cơ sở dữ liệu Car Tên bảng: CARDIAGRAM STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdCarDiagram Integer 4 Mã sơ đồ xe 2 NumberFloors Smallint 2 Số tầng 3 TotalSeat Varchar 50 Số ghế của mỗi tầng 4 TypeSeat Varchar 50 Loại ghế của mỗi tầng Bảng 10. Bảng cơ sở dữ liệu Cardiagram Tên bảng: TYPESEAT STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdTypeSeat Integer 4 Mã loại ghế 2 NameTypeSeat Varchar 100 Loại ghế Bảng 11. Bảng cơ sở dữ liệu Typeseat Tên bảng: DRIVER STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdDriver Integer 4 Mã tài xế 2 NameDriver Varchar 100 Tên tài xế 3 Tel Varchar 50 Số điện thoại 4 Experience Varchar 1000 Giới thiệu về tài xế 5 Image Varchar 50 Hình ảnh 6 IdLang Smallint 2 Mã ngôn ngữ 7 Other Varchar 3000 Thông tin khác 8 IdCommon Integer 4 Mã liên kết các tài xế của các ngôn ngữ khác nhau Bảng 12. Bảng cơ sở dữ liệu Driver III.4.1.4. Lược đồ quan hệ đặt vé Hình 11. Lược đồ quan hệ đặt vé Chi tiết các bảng Tên bảng: CHANNEL STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdChannel Integer 4 Mã ttuyến xe 2 NameChannel Varchar 200 Tên tuyến xe 3 Space Smallint 2 Cự ly (khoảng cách từ điểm xuất phát đến điểm đến) 4 IdLang Smallint 2 Mã ngôn ngữ 5 IdCommon Integer 4 Mã liên kết các tuyến xe của các ngôn ngữ khác nhau Bảng 13. Bảng cơ sở dữ liệu Channel Tên bảng: METHOD STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdMethoad Varchar 50 Mã phương thức thanh toán 2 NameMethod Varchar 200 Tên phương thức thanh toán 3 Content Varchar 4000 Nội dung phương thức thanh toán 4 IdLang Smallint 2 Mã ngôn ngữ 5 IdCommon Varchar 50 Mã liên kết các phương thức thanh toán của các ngôn ngữ khác nhau Bảng 14. Bảng cơ sở dữ liệu Method Tên bảng: TICKETFARE STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdTicket Varchar 100 Loại vé 2 IdChannel Integer 4 Mã ttuyến xe 3 StartingPost Varchar 100 Điểm xuất phát 4 Destination Varchar 100 Điểm trả khách 5 Price Integer 4 Giá vé 6 Note Varchar 500 Ghi chú 7 IdLang Smallint 2 Mã ngôn ngữ 8 IdCommon Varchar 100 Mã liên kết các giá vé của các ngôn ngữ khác nhau Bảng 15. Bảng cơ sở dữ liệu Ticketfare Tên bảng: SCHEDULE STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdSchedule Integer 4 Số thứ tự 2 IdChannel Integer 4 Mã ttuyến xe 3 Number Smallint 2 Chuyến số 4 TimeOfDeparture Datetime 8 Giờ khởi hành 5 ArrivalTime Datetime 8 Giờ đến 6 IdCar Varchar 10 Biển số xe 7 Active Smallint 2 Hiển thị 7 IdCommon Integer 4 Mã liên kết các lịch chạy của các ngôn ngữ khác nhau Bảng 16. Bảng cơ sở dữ liệu Shedule Tên bảng: CUSTOMER STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 Tel Varchar 20 Số điện thoại 2 LastName Varchar 50 Họ khách hàng 3 FirstName Varchar 50 Tên khách hàng 4 Address Varchar 200 Địa chỉ 5 Email Varchar 50 Email 6 CMND Varchar 20 Số chứng minh nhân dân 7 IdLang Smallint 2 Mã ngôn ngữ Bảng 17. Bảng cơ sở dữ liệu Customer Tên bảng: SHOPPINGCART STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdNo Integer 4 Số thứ tự 2 DateOfDeparture Datetime 8 Ngày đăng ký 3 IdTicket Varchar 100 Loại vé 4 Chair Varchar 50 Số ghế đặt 5 Total Smallint 2 Tổng số vé đặt 6 Tel Varchar 20 Số điện thoại 7 IdMethod Varchar 50 Mã phương thức thanh toán 8 Reason Varchar 1000 Lý do hủy vé 9 Status Smallint 2 Trạng thái hủy vé 10 IdLang Smallint 2 Mã ngôn ngữ 11 Code Varchar 50 Mã xác thực Bảng 18. Bảng cơ sở dữ liệu Shoppingcart III.4.1.5. Lược đồ quan hệ phản hồi ý kiến Hình 12. Lược đồ quan hệ ý kiến phản hồi Chi tiết bảng Tên bảng: CONTACT STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdCont Integer 4 Mã tin 2 Namec Varchar 100 Tên người phản hồi 3 Title Varchar 500 Tiêu đề phản hồi 4 Address Varchar 200 Địa chỉ người phản hồi 5 Tel Varchar 50 Điện thoại 6 Fax Varchar 50 Số fax 7 Email Varchar 50 Email 8 Content Varchar 1000 Nội dung phản hồi 9 dateCont Datetime 8 Ngày phản hồi 10 IdLang Smallint 2 Mã ngôn ngữ Bảng 19. Bảng cơ sở dữ liệu Contact III.4.1.6. Lược đồ quan hệ tiện ích (weblink) Hình 13. Lược đồ quan hệ tiện ích Chi tiết bảng Tên bảng: WEBLINK STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdWeb Integer 4 Mã bản tin 2 Unit Varchar 200 Tên đơn vị 3 Website Varchar 200 Địa chỉ link 4 IdLang Smallint 2 Mã ngôn ngữ Bảng 20. Bảng cơ sở dữ liệu Weblink Tên bảng: ONLINESUPPORT STT  Tên thuộc tính Kiểu dữ liệu  Độ rộng Mô tả 1 IdOnlineSupport Integer 4 Mã liên kết 2 Name Varchar 100 Tên người hỗ trợ 3 Email Varchar 100 Email 4 Tel Smallint 2 Số điện thoại hỗ trợ trực tuyến 5 IdLang Smallint 2 Mã ngôn ngữ 6 IdCommon Integer 4 Mã liên kết các hỗ trợ trực tuyến của các ngôn ngữ khác nhau Bảng 21. Bảng cơ sở dữ liệu Onlinesupport III.4.2.Sơ đồ dữ liệu quan hệ Hình 14. Sơ đồ dữ liệu quan hệ CHƯƠNG IV: XÂY DỰNG CHƯƠNG TRÌNH IV.1. Mô hình và giải pháp hệ thống Hệ thống được xây dựng dựa trên mô hình 3 lớp. Hình 15. Mô hình Vé xe khách Online IV.2. Thiết kế chương trình Xây dựng một Website hỗ trợ khách hàng đặt vé xe một cách trực tuyến và các tổ chức hoạt động về lĩnh vực vận tải (bán vé xe) có thể quản lý việc đặt vé dễ dàng thông qua Website này, thay cho cách quản lý thông thường. Hệ thống Website phải tạo cho khách hàng một cái nhìn tổng thể về “một chuyến đi” mà mình đã chọn. Trong đề tài này, tôi cố gắng xây dựng thành công Website đáp ứng các chức năng sau: IV.2.1. Đối với Người quản trị Quản lý thông tin xe Bao gồm việc quản lý: Hãng xe Các xe Sơ đồ xe Loại ghế Tuyến xe (chuyến xe) Quản lý Tài xế lái xe Quản lý thông tin các tài xế của mỗi hãng xe nhất định Quản lý đại lý bán vé xe Quản lý các đại lý xe của từng hãng xe nhất định Quản lý điểm xuất phát và điểm đến Bao gồm địa điểm xe bắt đầu xuất bến, điểm xe dừng lại đón khách, điểm xe trả khách. Quản lý phương thức thanh toán Tạo ra các phương thức khách hàng có thể thanh toán đơn đặt hàng mà đơn vị bán vé xe đang áp dụng. Quản lý Đơn đặt hàng của khách hàng Cho phép quản lý các đơn đặt hàng mà khách hàng đặt vé qua mạng. Thống kê báo cáo khách hàng đặt vé qua mạng Cho phép thông kê theo nhiều mục chọn, ngày đặt vé cũng như trạng thái hợp đồng đặt vé của khách hàng. Phần liên hệ góp ý dành cho khách hàng Chức năng cho phép khách hàng có thể đưa ra những góp ý cho đơn vị xe. Quản trị cấu trúc Tạo danh mục tin tức Chuyên mục giới thiệu về đơn vị Quản trị người dùng Tạo lập danh sách người sử dụng, nhóm sử dụng. Tạo lập danh mục chức danh người sử dụng. Phân quyền các bộ phận chức năng và các nhân viên theo chức danh hợp lý. IV.2.2. Đối với Khách hàng Tìm kiếm và xem lịch xe chạy Tìm kiếm thông tin xe, thông tin tuyến xe, lịch xe chạy (bao gồm hình ảnh xe, thông tin tài xế…) Có thể tìm kiếm theo một hoặc nhiều tiêu chí. Chức năng đặt vé xe Khách hàng có thể đặt vé trực tiếp qua mạng thông qua chức năng này. Mỗi đơn đặt hàng sẽ có một mã số nhất định. Xem tin tức và đưa ra góp ý cho đơn vị xe thông qua Website. IV.3. Các module trong chương trình IV.3.1. Module quản lý hãng xe Module này thực hiện các nhiệm vụ quản lý hãng xe. Chức năng của module này gồm có: Tạo mới hãng xe Chỉnh sửa hãng xe Xóa hãng xe IV.3.2. Module quản lý xe Module này thực hiện các nhiệm vụ quản lý xe. Chức năng của module này gồm có: Tạo mới xe Chỉnh sửa xe Xóa xe IV.3.3. Module quản lý sơ đồ xe Module này thực hiện các nhiệm vụ quản lý sơ đồ xe. Chức năng của module này gồm có: Tạo mới sơ đồ xe Chỉnh sửa sơ đồ xe Xóa hãng xe IV.3.4. Module quản lý loại ghế Module này thực hiện các nhiệm vụ quản lý loại ghế. Chức năng của module này gồm có: Tạo mới loại ghế Chỉnh sửa loại ghế Xóa hãng loại ghế IV.3.5. Module quản lý tuyến xe Module này thực hiện các nhiệm vụ quản lý tuyến xe. Chức năng của module này gồm có: Tạo mới tuyến xe Chỉnh sửa tuyến xe Xóa tuyến xe IV.3.6. Module quản lý tài xế lái xe Module này thực hiện các nhiệm vụ quản lý tài xế lái xe. Chức năng của module này gồm có: Tạo mới tài xế xe Chỉnh sửa tài xế xe Xóa tài xế xe IV.3.7. Module quản lý đại lý bán vé Module này thực hiện các nhiệm vụ quản lý đại lý bán vé. Chức năng của module này gồm có: Tạo mới đại lý bán vé Chỉnh sửa đại lý bán vé Xóa đại lý bán vé IV.3.8. Module quản lý điểm xuất phát và điểm đến Module này thực hiện các nhiệm vụ quản lý điểm xuất phát và điểm đến. Chức năng của module này gồm có: Tạo mới điểm xuất phát hoặc điểm đến Chỉnh sửa điểm xuất phát hoặc điểm đến Xóa điểm xuất phát hoặc điểm đến IV.3.9. Module quản lý phương thức thanh toán Module này thực hiện các nhiệm vụ quản lý phương thức thanh toán. Chức năng của module này gồm có: Tạo mới phương thức thanh toán Chỉnh sửa phương thức thanh toán Xóa phương thức thanh toán IV.3.10. Module quản lý đơn đặt hàng Module này thực hiện các nhiệm vụ quản lý đơn đặt hàng. Chức năng của module này gồm có: Hệ thống cho phép người quản trị Update thông tin đơn đặt hàng, xóa đơn đặt hàng không hợp lệ Cho phép tìm kiếm đơn đặt hàng theo nhiều tiêu chí khác nhau như biển số xe, mã hợp đồng, ngày đặt vé… IV.3.11. Module thống kê báo cáo Module này thực hiện các nhiệm vụ thống kê báo cáo đơn đặt vé qua mạng của khách hàng theo nhiều tiêu chí khác nhau. Chức năng của module này gồm có: Cho phép thống kê đơn đặt hàng trong một khoảng thời gian nhất định, hay theo trạng thái thanh toán của hợp đồng đặt vé Cho phép chọn trường hiển thị kết quả cần thống kê Đếm số hợp đồng thỏa mãn tiêu chí thống kê IV.3.12. Module quản trị cấu trúc Website Module này thực hiện các nhiệm vụ quản lý cấu trúc Website. Chức năng của module này gồm có: Tạo mới, update, xóa chuyên mục giới thiệu về đơn vị xe Tạo và quản lý trang tin tức Phân quyền biên tập tin tức theo từng chuyên mục IV.3.13. Module quản trị người dùng Module này thực hiện các nhiệm vụ quản trị người dùng. Chức năng của module này gồm có: Tạo người dùng, xóa, và sửa thông tin người dùng. Tạo lập danh sách người sử dụng, nhóm sử dụng. Tạo lập danh mục chức danh người sử dụng. Phân quyền các bộ phận chức năng và các nhân viên theo chức danh hợp lý. IV.3.14. Module đặt vé Module này thực hiện các nhiệm vụ cho phép khách hàng tìm kiếm và thực hiện việc đặt vé. Chức năng của module này gồm có: Tìm kiếm chuyến xe phù hợp Đặt vé xe IV.4. Giao diện người dùng IV.4.1. Trang chủ Hình 16. Màn hình trang chủ IV.4.2. Trang đăng ký khách hàng Hình 17. Màn hình trang thông tin khách hàng đăng ký IV.4.3. Trang tìm kiếm thông tin đặt vé Hình 18. Màn hình trang tìm kiếm thông tin IV.4.4. Trang phương thức thanh toán Hình 19. Màn hình phương thức thanh toán IV.4.5. Trang hóa đơn đặt vé Hình 20. Màn hình trang hóa đơn đặt vé IV.4.6. Trang quản lý thông tin xe Hình 21. Màn hình trang quản lý thông tin xe IV.4.7. Trang quản lý người dùng Hình 22. Màn hình trang quản lý người dùng CHƯƠNG V: KẾT LUẬN V.1. Các kết quả đạt được Hệ thống Website quản lý xe và bán vé xe Online đã được xây dựng theo công nghệ ASP.NET, hệ quản trị cơ sở dữ liệu SQL Server 2005, đáp ứng đầy đủ các chức năng đã đặt ra như quản lý xe, hợp đồng đặt vé, phân bổ lịch xe chạy, thống kê báo cáo, đặt vé trực tuyến…với các hình ảnh trực quan, giúp cho việc đặt vé xe trở nên nhanh chóng, thuận lợi và hiện đại hơn, giảm đi phần nào việc chen chúc đến bên mua vé, mang lại hiệu quả thiết thực cho vấn đề đi lại của khách hàng. Thông qua việc xây dựng Website, chúng em có dịp ôn lại một cách tổng hợp các kiến thức đã được thầy (cô) truyền đạt trong suốt 3 năm học ở trường. Không những thế, chúng em còn học được cách lên kế hoạch cho một dự án, phân công công việc, thời gian, và cách làm việc nhóm một cách có hiệu quả nhất. Đây là những hành trang rất quý giúp chúng em tự tin hơn khi ra trường. V.2. Những hạn chế và hướng phát triển đề tài V.2.1. Những hạn chế của đề tài Website quản lý xe và bán vé xe Online vẫn còn những vấn đề tồn đọng, còn thiếu sót một số tính năng mà một Website quản lý vé xe cần phải có: phần tạo sơ đồ xe chính xác hơn; cho phép administrator tạo tài khoản cho từng hãng xe và phân quyền để hãng xe đó quản lý chính thông tin của họ; hệ thống thanh toán cho phép khách hàng thanh toán trực tiếp trên Website. V.2.2. Hướng phát triển đề tài Những tồn đọng đó cũng chính là những mục tiêu định hướng phát triển sau này của nhóm, nhằm phát triển Website quản lý xe và bán vé xe Online mạnh hơn, hoàn thiện hơn và nhiều tiện ích hơn. TÀI LIỆU THAM KHẢO [1] MSDN Library - April 2003 & MSDN Library - July 2005 [2] Peter Ladka, .ASP.NET for Web Designers, New Riders Press, 2002 [3] Julian Skinner – Bipin Joshi, Professional ADO.NET Programming, Wrox Press, November 2001 [4] Danny Goodman, JavaScript Bible, Hungry Minds, 2001 [5] Trang chủ ASP.Net: [6] Trường học trực tuyến của W3C: [7] Sinan Si Alhir, Learning UML, O'Reilly, July 2003 [8] Rick Dobson, Beginning SQL Server 2005 Express, Apress, 2005 MỤC LỤC DANH MỤC CÁC BẢNG Bảng 1. Bảng cơ sở dữ liệu Login 25 Bảng 2. Bảng cơ sở dữ liệu Namecategory 25 Bảng 3. Bảng cở sở dữ liệu Right 26 Bảng 4. Bảng cơ sở dữ liệu Lang 26 Bảng 5. Bảng cơ sở dữ liệu Categorynews 27 Bảng 6. Bảng cơ sở dữ liệu News 27 Bảng 7. Bảng cơ sở dữ liệu Carcompany 28 Bảng 8. Bảng cơ sở dữ liệu Agency 29 Bảng 9. Bảng cơ sở dữ liệu Car 29 Bảng 10. Bảng cơ sở dữ liệu Cardiagram 30 Bảng 11. Bảng cơ sở dữ liệu Typeseat 30 Bảng 12. Bảng cơ sở dữ liệu Driver 30 Bảng 13. Bảng cơ sở dữ liệu Channel 31 Bảng 14. Bảng cơ sở dữ liệu Method 32 Bảng 15. Bảng cơ sở dữ liệu Ticketfare 32 Bảng 16. Bảng cơ sở dữ liệu Shedule 33 Bảng 17. Bảng cơ sở dữ liệu Customer 33 Bảng 18. Bảng cơ sở dữ liệu Shoppingcart 34 Bảng 19. Bảng cơ sở dữ liệu Contact 35 Bảng 20. Bảng cơ sở dữ liệu Weblink 36 Bảng 21. Bảng cơ sở dữ liệu Onlinesupport 36 DANH MỤC CÁC HÌNH Hình 1. Thành phần của .NET Framework 4 Hình 2. Sơ đồ minh họa mô hình ứng dụng Web 5 Hình 3. Kiến trúc hệ thống Website 16 Hình 4. Biểu đồ tương tác của các Actor 17 Hình 5. Chức năng của User 19 Hình 6. Chức năng của quản trị viên 20 Hình 7. Chức năng của Administrator 24 Hình 8. Lược đồ quan hệ phân quyền 25 Hình 9. Lược đồ quan hệ tin tức 26 Hình 10. Lược đồ quan hệ hãng xe 28 Hình 11. Lược đồ quan hệ đặt vé 31 Hình 12. Lược đồ quan hệ ý kiến phản hồi 34 Hình 13. Lược đồ quan hệ tiện ích 35 Hình 14. Sơ đồ dữ liệu quan hệ 37 Hình 15. Mô hình Vé xe khách Online 38 Hình 16. Màn hình trang chủ 43 Hình 17. Màn hình trang thông tin khách hàng đăng ký 44 Hình 18. Màn hình trang tìm kiếm thông tin 44 Hình 19. Màn hình phương thức thanh toán 45 Hình 20. Màn hình trang hóa đơn đặt vé 45 Hình 21. Màn hình trang quản lý thông tin xe 46 Hình 22. Màn hình trang quản lý người dùng 46

Các file đính kèm theo tài liệu này:

  • doc4951.doc
  • pdfdatn.pdf