ưu điểm của ASP.NET Vấn đề thách thức lớn nhất đối với các ứng dụng web ngày nay là sự tương thích trên các trình duyệt cùng với độ phức tạp của trang tài liệu do ứng dụng mộng đối với l
Trang 1Đồ án tốt nghiệp Quản lý xe và bản vẻ xe khách Online
CHƯƠNG I: TỎNG QUAN VÈ ĐÈ TÀI
hoàn cảnh xã hội hiện nay
Giả sử như bạn đang có nhu cầu đi từ Đà Nằng vào Sài Gòn Bạn có thể lựa
chọn nhiều phưong thức đế đi như máy bay, tàu hỏa, xe khách Giả sử bạn chọn
phương tiện xe khách đổ di chuyển Bạn có 2 cách đổ đi:
nhưng chất lượng không đảm bảo như cảnh nhồi nhét khách, ăn cơmkhông như ý, thời gian đến nơi không đảm bảo
Bạn
có thể làm hai cách để mua vé :
bậnrộn)
Hai cách này, bạn đều không thề thấy được loại xe bạn sắp đi Cũng như
chính sách cơm ăn, phục vụ trên toàn chuyến như thế nào? Quan trọng hơn bạn
không được tham khảo giá của nhiều hãng xe khác nhau cũng như chất lượng bên
nào vượt trội hơn
Vì vậy, “ Website Quản lý xe và hán vé xe khách Online” ra đời với
mục
đích đem lại những sự tiện ích, sự thuận lợi cho khách hàng, đảm bảo khách
xe sẽ hình dung được rõ hơn về chuyến xe mình sẽ đi
Đây là một Website chuyên thông tin về các hãng xe khách, chính sách phục
vụ, và có cả phần đặt vé trực tuyến Tiện ích của Website này là bạn có thê so
Đồ án tốt nghiệp Quản lý xe và bản vẻ xe khách Online
việc xây dựng Website vé xe khách Online, hi vọng sẽ là giải pháp tốt cho nhữngvấn đề trên, đảm bảo chất lượng cho các chuyến đi của người dân
có thể yên tâm với chiếc ghế mà mình đã đặt
Khi đi, bạn chỉ cần mang CMND và nhớ mã số hợp đồng đặt vé là đủ,
thể bạn có thể in tờ thông tin đặt vé trên Website
1.3. 2 Trách nhiêm của Website
Website có trách nhiệm chuyên thông tin đặt vé này cho hãng xe khách và
giữ chỗ cho bạn nếu thủ tục đặt vé hoàn tất Cũng như đứng ra giải quyết
trên toàn chuyến đi của bạn nếu trục trặc xảy ra
Thông tin sớm cho khách hàng về những chương trình khuyến mãi
1.3. 3 Trách nhiệm của hãng xe khách
Trang 2CHƯƠNG II: Cơ SỞ LÝ THUYẾT
Quản lý xe và bán vé xe khách Online là một chương trình được thiết kế
bàng ngôn ngữ ASP.NET, hệ quản trị cơ sở dừ liệu SQL Server 2005 Chương trình
chủ yếu tập trung vào chức năng đặt vé dành cho khách hàng và quản trị
xe, quản trị đơn đặt hàng, chức năng phân quyền dành cho người quản trị
II.1 Tìm hiểu sơ lược về đặc điểm các công ty xe khách hiện nay
Mỗi công ty xe khách (hãng xe) sẽ có nhiều đầu xe nhất định Mồi xe được
quản lý thông qua nhiều yếu tố (màu sắc, mẫu mã, loại ghế, sơ đồ xe ), trong đó
yêu tố chính là biển số xe
Mỗi xe sẽ đăng ký một lịch chạy và tuyến đi nhất định Tuy với tuyến
định (khách hàng phải đến tại bến đế mua vé theo giá vé quy định của bến xe)nhưng hầu hết các xe đều có các chuyến dừng dọc đường (điểm dừng) đe bắt khách
Như vậy, ứng với mồi tuyến xe của một xe, có thể có nhiều chuyến xe khác nhau
Trang 3We b Serv er IIS
Client
Đồ án tốt nghiệp Quản lý xe và bản vẻ xe khách Online
II.2. NET FrameWork và các ứng dựng WebII.2.1. NET Framework
.NET Framework là phần chính của Visual Studio.NET, được phát
trường, các hệ điều hành khác, thậm chí có thể ngay cả trên Unix
Các thành phần của NET Framework:
.NET Framework gồm có Common Language Runtime (CLR) và các thư
viện hồ trợ
.NET application được chia ra làm hai loại: loại cho Internet gọi là
Hình 1 Thành phần của NET Framework
Đồ án tốt nghiệp Quản lý xe và bản vẻ xe khách Online
đưa ra một thông báo lồi cho người dùng
Trong ứng dụng Web, thì quá trình xảy ra khác Trước tiên, Internet là một
mạng không kết nối Thứ hai, các trang Web thì không ôn định Khi một
cầu một trang, web server gởi trang đó đến Client Server không giữ việc nắm bắt
các yêu cầu, thậm chí nếu nó cùng một trang
Trong mô hình ứng dụng hai tầng client/server, ứng dụng trên Client
đến dữ liệu nguồn trên server Tuy nhiên, trong mô hình ba tầng chúng ta có
Trang 4Hình 2 Sơ đồ minh họa mô hình ứng dụng Web
II.3. ASP.NETII.3.1. ưu điểm của ASP.NET
Vấn đề thách thức lớn nhất đối với các ứng dụng web ngày nay là sự tương
thích trên các trình duyệt cùng với độ phức tạp của trang tài liệu do ứng dụng
mộng đối với lập trình viên và các nhà thiết kế web
Và sự việc càng trở nên tồi tệ hơn khi các thiết bị cầm tay như điện
động ra đời và đòi hỏi nhu cầu sử dụng Internet Các trang tài liệu thiết kế chonhữ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
Trang 5Đồ án tốt nghiệp Quản lý xe và bản vẻ xe khách Online
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 đon 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 <input> 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 _VĨEWSTATE chính
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
(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ự
Trang 6khá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 fíle (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
.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
Trang 7Đồ án tốt nghiệp Quản lý xe và bản vẻ xe khách Online
Rich control: Tập các thành phần điều khiển đa năng Các điều khiển
Trang 8liệ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 logíìle 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ênASP.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
chi 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
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
Trang 9Đồ án tốt nghiệp Quản lý xe và bản vẻ xe khách Online
Trong phiên bản ASP cũ, fíle global.asa được dùng làm fíle 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
sao lun 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 fíle cấu hình confíg.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
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
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
Trang 10Các biến khai báo thuộc phạm vi Session giờ đây có thể hoạt động
với tiến trình thực thi các trang ASP.NET Biến Session được quản lý bởi mộtchươ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 đe 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ắcthườ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,
Microsoíì 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 (SessionlD) lên
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ó
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ề
Trang 11Đồ án tốt nghiệp Quản lý xe và bản vẻ xe khách Online
SQL Server là hệ quản trị cơ sở dừ liệu quan hệ với các tính năng sau:
giá trị rộng, baogồm text, numeric, XML và các đổi tượng lớn
để
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:
cơ
sở dữ liệu
đị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à
Trang 12• 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
Explorer có một cửa sổ Properties tưoưg ứ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 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 thuờng được sử dụng có thể hiện cácreport bao gồm Server, Database, Login, Management
11.3.4.2.Catalog views
Catalog views cho phép truy vấn metadata liên quan các đối tượng cơ
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ó
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ácmetadata của hệ thống Có hơn 200 catalog views và chúng đuợc định nghĩa sằn
trong System Schema
Trang 13111.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
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
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
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
đơn vị xe, thông tin giá vé bằng cả 2 ngôn ngữ: Anh và Việt
theotừng module
theonhiều tiêu chí đe xử lý
Đáp ứng được nhu cầu của các cá nhân và doanh nghiệp có nhu
Đồ án tốt nghiệp Quản lý xe và bản vẻ xe khách Online
III. 2 Kiến trúc hệ thống Website
WEBSITE VEXEONLINE
f
>1
Hình 3 Kiến trúc hệ thống Website
Trang 14III.3.Biểu đồ các UsecaseIII.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
AdministratorHì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
Trang 15Đồ án tốt nghiệp Quản lý xe và bản vẻ xe khách Online
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ứcnă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_Kieiĩi_Thong_Tin: use case này thực hiện chức
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
đặ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
Trang 16Dat_ve_xe(from Use Case Vievụ)
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 usemame 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,
Trang 17Đồ án tốt nghiệp Quản lý xe và bản vẻ xe khách Online
• Quan_Lv_Chuc_Nang: use case này thực hiện chức
năngquả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
Quantrivie
n
(from Use Case View)
Quan_ly_chuc_nang
Dang_xuat(from Use Case Vieựự)
■Tai_xe(from Use
«extend>>''' Lich_xe_chay
(from Use 'A
Thanh_toan(from Use Case View)
Tin_tuc(from Use Case View)Hình 6 Chức năng của quản trị viên
Trang 18Nhấ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 Neu
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
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
Trang 19Đồ án tốt nghiệp Quản lý xe và bản vẻ xe khách Online
• Quan_Lv_Chuven_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: nguờ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_Lv_Tai_Xe: use case này thực hiện chức năng
hay xóa một tài xế
• Quan_Lv_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
• QuanJLy_Diem_Xuat_Phat_Diem_Den: use case này
thực
hiện chức năng quản lý diê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
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
Trang 20Chuỗ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
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
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