Từ những thực tế trên, bằng những hiểu những kiến thức của mình em đã nghiên cứu, tìm hiểu và xây dựng đề tài: “Xây dựng website bán vé xe khách online” nhằm giảm bớt những công việc bán
Trang 1TRƯỜNG ĐẠI HỌC s ư PHẠM HÀ NỘI 2 KHOA CÔNG NGHÊ THÔNG TIN
LỤC THỊ ÁNH
XÂY DựNG WEBSITE BÁN VÉ XE
KHÁCH ONLINE
KHÓA LUÂN TỐT NGHTÊP ĐAI HOC• * • •
Chuyên ngành: Sư phạm Tin học
HÀ NỘI - NĂM 2016
Trang 2TRƯỜNG ĐAI HOC s ư PHAM HÀ NÔI 2• • • •
KHOA CÔNG NGHÊ THÔNG TIN
LỤC THỊ ÁNH
XÂY DựNG WEBSITE BÁN VÉ XE
KHÁCH ONLINE
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC• • • •
Chuyên ngành: Sư phạm Tin học
Người hướng dẫn khoa học ThS Nguyễn Minh Hiền
HÀ NỘI - NĂM 2016
Trang 3LỜI CẢM ƠN
Để hoàn thành khóa luận này, em xin tỏ lòng biết ơn sâu sắc đến cô ThS Nguyễn M inh Hiền giảng viên khoa Công nghệ Thông tin trường Đại học Sư phạm Hà Nội 2 đã trực tiếp hướng dẫn và chỉ bảo tận tình cho em hoàn thành khóa luận này
Em cũng xin gửi lời cảm ơn tới các thầy, cô giáo trong khoa Công nghệ Thông tin trường Đại học Sư phạm Hà Nội 2 đã tận tình truyền đạt kiến thức trong những năm tháng em học tập tại trường Yới vốn kiến thức được tiếp thu trong quá trình không chỉ là nền tảng cho quá trình nghiên cứu khóa luận
mà còn là hành trang quý báu để em bước vào đời
Với vốn kiến thức hạn hẹp cũng như chưa có kinh nghiệm thực tế nên
đề tài của em sẽ không tránh khỏi những sai sót Em rất mong nhận được sự chỉ bảo góp ý của thầy cô và các bạn
Cuối cùng, em xin bày tỏ lòng biết ơn tới gia đình và bạn bè đã giúp
đỡ, động viên em rất nhiều trong suốt quá trình học tập để em có thể thực hiện tốt khóa luận này
Hà Nội, ngày 4 tháng 5 năm 2016
Sinh viên
LỤC THỊ ÁNH
Trang 4LỜI CAM ĐOAN
Tên em là: LỤC THỊ ÁNH
Sinh viên lớp: K38 - Sư phạm Tin học, khoa Công nghệ Thông tin, trường Đại học Sư phạm Hà Nội 2
Em xin cam đoan:
1 Đe tài “Xây dựng website bán vé xe khách online ” là sự nghiên cứu của riêng em dưới sự hướng dẫn của cô giáo ThS Nguyễn Minh Hiền
2 Khóa luận hoàn toàn không sao chép của tác giả nào khác
Nếu sai em xin hoàn toàn chịu trách nhiệm
Hà Nội, ngày 4 tháng 5 năm 2016
Người cam đoan
LỤC TH Ị ÁNH
Trang 5MUC LUC• •
PHẦN MỞ Đ Ầ U 1
CHƯƠNG 1 C ơ SỞ LÝ TH UYẾT 4
1.1 Giới thiệu lý thuyết cơ bản về hệ thống thông tin .4
1.1.1 Đặc điểm của hệ thống thông t i n 4
1.1.2 Các thành phần cơ bản của hệ thống thông tin 4
1.1.3 Yêu cầu đối với hệ thống thông tin 7
1.2 NET Framework và các ứng dụng Web 7
1.2.1 NET Framework .7
1.2.2 Các ứng dụng Web 9
1.3 ASP.NET 9
1.3.1 ư u điểm của A SP.N ET 10
1.3.2 Các đặc điểm mới của ASP.NET 10
1.3.3 Các điều khiển trên ASP.NET .12
1.4 Hệ quản trị cơ sở dữ liệu SQL Sever 2005 12
1.4.1 Giới thiệu về SQL S e v e r 12
1.4.2 Các thành phần của SQL Server 2005 14
1.4.3 Một số công dụng chính của SQL 15
1.4.4 Các câu lệnh cơ bản trong SQL .15
CHƯƠNG 2 PHÂN TÍCH VÀ THIÉT KÉ HỆ THỐNG 18
2.1 Phân tích hệ thống .18
2.1.1 Giới thiệu hệ thống 18
2.1.2 Xác định các chức năng chính của hệ th ố n g 19
2.1.3 Xác định các tác nhân tác động đến hệ th ố n g 20
2.1.4 Xác định các Use case, các gói Use case và vẽ biểu đồ Use case tổng q u á t 20
2.1.5 Gói Use case đăng ký 21
2.1.6 Gói Use case Đăng nhập .24
2.1.7 Gói Use case quản lý danh sách xe 26
Trang 62.1.8 Biểu đồ tuần tự và biểu đồ cộng tác 27
2.1.9 Gói Use case quản lý thành viên .28
2.1.10 Gói Use case quản lý thông tin cá nhân .28
2.1.11 Gói Use case đặt vé xe 30
2.2 Thiết kế hệ thống 32
2.2.1 Thiết kế cơ sở dữ liệu 32
2.2.2 Thiết kế Module .36
CHƯƠNG 3 XÂY DựNG HỆ THỐNG THỬ NGHIỆM 39
3.1 Giới thiệu bài toán .39
3.2 Ý tưởng giải quyết bài toán 39
3.3 Cách thức thực hiện 40
3.4 Kết quả đạt được 42
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .Error! Bookmark not defined TÀI LIỆU THAM K H Ả O 48
Trang 7DANH MỤC BẢNG
Bảng 2.1: Mô tả chi tiết bảng KHÁCH HÀNG 32
Bảng 2.2: Mô tả chi tiết bảng VÉ XE .32
Bảng 2.3: Mô tả chi tiết về bảng XE 33
Bảng 2.4: Mô tả chi tiết bảng DANH SÁCH XE 33
Bảng 2.5: Bảng mô tả chi tiết SỐ GHẾ .33
Bảng 2.6: Mô tả chi tiết bảng ĐỊA ĐIỂM 33
Bảng 2.7: Mô tả chi tiết bảng TUYỂN ĐƯỜNG 34
Bảng 2.8: Mô tả chi tiết bảng KHUYẾN M Ã I 34
Bảng 2.9: Mô tả chi tiết về bảng TRẢ VÉ 34
Bảng 2.10: Mô tả chi tiết bảng LOẠI XE 34
Bảng 2.11: Mô tả chi tiết bảng TÀI KHOẢN .35
Bảng 2.12: Mô tả chi tiết bảng YÉ MỚI 35
Trang 8DANH MỤC HÌNH
Hình 2.1: Gói các Use c a s e 21
Hình 2.2: Use case tổng quát .21
Hình 2.3: Biểu đồ đăng k ý 22
Hình 2.4: Biểu đồ tuần tự cho Use case đăng k ý 23
Hình 2.5: Biểu đồ cộng tác cho Use case đăng ký 23
Hình 2.6: Biểu đồ hoạt động cho Use case đăng kí 23
Hình 2.7: Biểu đồ Use case đăng nhập .24
Hình 2.8: Biểu đồ tuần tự cho Use case đăng nhập 25
Hình 2.9: Biểu đồ cộng tác cho Use case đăng nhập 25
Hình 2.10: Biểu đồ hoạt động cho Use case đăng nhập 26
Hình 2.11: Biểu đồ Use case của gói Use case quản lý danh sách xe 26 Hình 2.12: Biểu đồ tuần tự của Use case quản lý xe 27
Hình 2.13: Biểu đồ cộng tác của Use case quản lý danh sách xe 27
Hình 2.14: Biểu đồ Use case của gói Use case quản lý thông tin cá nhân 28
Hình 2.15: Biểu đồ tuần tự của Use case sửa thông tin cá nhân .29
Hình 2.16: Biểu đồ cộng tác của Use case sửa thông tin cá nhân 29
Hình 2.17: Biểu đồ hoạt đông của Use case sửa thông tin cá n h â n 29
Hình 2.18: Biểu đồ Use case của gói đặt vé xe .30
Hình 2.19: Sơ đồ liên kết thực th ể 36
Hình 3.1: Mô hình 3 lớp 41
Hình 3.2: Màn hình đăng nhập trang quản trị .42
Hình 3.3: Giao diện trang quản trị 42
Hình 3.4: Giao diện trang c h ủ 43
Hình 3.5: Màn hành tìm kiếm thông tin đặt vé .43
Hình 3.6: Khách hàng lựa chọn xe và giá tiền .44
Hình 3.7: Khách hàng lựa chọn ghế n g ồ i 45
Hình 3.8: Khách hàng cung cấp thông t i n 45
Trang 9PHẦN M Ở ĐẦU
1 Lý do chọn đề tài
Kinh tế ngày càng phát triển thì nhu cầu của con người ngày càng cao, trong đó phải kể tới nhu cầu đi lại Các ngành giao thông vận tải đã không ngừng cải thiện đáp ứng nhu cầu đó nhưng vấn đề về số lượng hành khách và chất lượng của mỗi chuyến đi luôn là một vấn đề lớn là một cơ hội để các nhà Marketing dịch vụ thử sức
Trên thực tế, đa số các công ty vận tải hành khách đang sử dụng cách quản lý và bán vé xe theo kiểu truyền thống, nên việc quản lý xe và hành khách gặp rất nhiều khó khăn Khách hàng rất bức xúc khi phải chen lấn xô đẩy, xếp hàng chờ hàng tiếng đống hồ để mua vé, đến khi tới lượt lại báo hết
vé Việc này đã tạo đi cơ cho bọn móc túi, cướp giật, bán vé chợ đen hoạt động Càng làm cho tình hình thêm tồi tệ, người dân và doanh nhiệp thêm bức xúc
Đối với các công ty vận tải cũng khó khăn trong việc quản lý và bán
vé, họ cần phải tối ưu hóa quá trình sản xuất kinh doanh, hoàn thiện công tác quản lý để nâng cao doanh số Khi mà công nghệ thông tin phát triển mạnh, mạng internet đến từng hộ gia đình, thì một hệ thống bán vé xe trực tuyến ra đời là rất phù hợp với thực tiễn Đặc biệt với những người bận rộn không có thời gian ra bến mua vé thì với những click chuột đơn giản mà mua được vé thì quả là một điều tuyệt vời
Từ những thực tế trên, bằng những hiểu những kiến thức của mình em
đã nghiên cứu, tìm hiểu và xây dựng đề tài: “Xây dựng website bán vé xe khách online” nhằm giảm bớt những công việc bán vé và kiểm soát vé của nhân viên, cung cấp những thông tin cần thiết của mỗi tuyến xe cũng như các loại vé cho khách hàng được thuận lợi, đảm bảo hành trình không chỉ an toàn
mà còn xây dựng một nếp sống văn minh Từ đó nâng cao chất lượng phục vụ
Trang 10xe, nâng cao sức cạnh tranh, góp phần xây dựng một xã hội ngày càng phát triển.
3 Nhiệm vụ nghiên cứu
- Làm sáng tỏ cở sở lý luận của đề tài
- Làm rõ hoạt động của hệ thống quản lý và bán vé xe Online hiện nay
- Khảo sát tình hình thực tế của hệ thống hiện tại
4 Đối tượng và phạm vi nghiên cứu
y Đối tượng nghiên cứu
Đối tượng nghiên cứu là việc quản lý, cách thức tổ chức hoạt động của
hệ thống bán vé xe tự động
> Phạm vi nghiên cứu
Hệ thống được nghiên cứu về các nhu cầu thực tế của khách hàng là tìm kiếm xe và mua được vé, giá cả của vé cũng như thời gian chuyến xe đi là nhanh nhất
5 Ý nghĩa khoa học và thực tiễn
Chương trình được xây dựng đã áp dụng thành tựu của công nghệ thông tin vào công tác xây dựng và quản lý một hệ thống giao thông trực tuyến, góp phần vào công cuộc xây dựng một nền giao thông an toàn không chỉ tại địa bàn mà còn rộng ra khắp cả nước
Chương trình được xây dựng giúp giảm thiểu hoạt động làm việc của nhà quản lý, hành khách có thể dễ dàng mua được vé mà không phải chen lấn
Trang 11xếp hàng, các nhà xe cũng dễ dàng kiểm soát vé cũng như thông tin của từng hành khách.
6 Phương pháp nghiên cứu
> Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo, tài liệu liên quan nhằm xây dựng
cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các vấn đề của đề tài
>• Phương pháp nghiên cứu thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở những lý luận đượcnghiên cứu, phần mềm sẽ được đưa vào chạy thử nghiệm thực tế để từ đó cónhững điều chỉnh cho phù hợp hơn
7 Cấu trúc khóa luận
Ngoài phần mở đầu và kết luận, cấu trúc khóa luận gồm 3 chương:
Chương 1 Cơ sở lý thuyết
Chương 2 Phân tích và thiết kế hệ thống
Chương 3 Xây dựng hệ thống thử nghiệm
Trang 12CHƯƠNG 1 C ơ SỞ LÝ THUYẾT 1.1 Giới thiệu lý thuyết cơ bản về hệ thống thông tin
1.1.1 Đặc điểm của hệ thống thông tin
Hệ thống thông tin là một hệ thống sử dụng công nghệ thông tin để thu thập, truyền, lưu trữ, xử lý và biểu diễn thông tin trong một hay nhiều quá trình kinh doanh Tùy theo quan điểm mà có thể phân loại các hệ thống thông tin theo các tiêu chí khác nhau Xét về mặt ứng dụng, hệ thống thông tin có thể chia thành một số dạng như sau:
- Hệ thống thông tin quản ỉỷ\ Bao gồm các hệ thống thông tin hỗ trợ
các hoạt động nghiệp vụ và quản lý của doanh nghiệp, các tổ chức Ví dụ quản lý nhân sự, hệ thống kế toán, hệ thống quản lý thư viện
- Các hệ thổng Website: Là các hệ thống có nhiệm vụ cung cấp thông
tin cho người dùng trên môi trường mạng Internet Các hệ thống Website có đặc điểm là thông tin cung cấp cho người dùng có tính đa dạng và được cập nhật thường xuyên
- Hệ thống thương mại điện tử' Là các hệ thống website đặc biệt phục
vụ mua bán hàng hóa, dịch vụ trên môi trường Internet
- Hệ thống điều khiển: Là các hệ thống phần mềm gắn với các thiết bị
phần cứng hoặc các hệ thống nhằm mục đích điều khiển và giám sát hoạt động của thiết bị hay hệ thống đó
Mỗi hệ thống thông tin có những đặc trưng riêng và cũng đặt ra những yêu cầu riêng cho việc phát triển hệ thống Ví dụ như: Các hệ thống điều khiển đòi hỏi những yêu cầu về môi trường phát triển, hệ điều hành và ngôn ngữ lập trình riêng Các hệ website thực thi các chức năng trên môi trường mạng phân tán đòi hỏi cách phát triển riêng Do vậy, không có một phương pháp luận chung tất cả các hệ thống thông tin
1.1.2 Các thành phần Cff bản của hệ thống thông tin
Hệ thống thông tin bao gồm 5 thành phần chính: Phần cứng, phần
Trang 13đối tượng trung tâm của các hệ thống thông tin và nguồi nhân lực đóng vai trò quyết định.
Phần cứng' Là các bộ phận (vật lý) cụ thể của máy tính hay hệ thống
máy tính, hệ thống mạng sử dụng làm thiết bị kỹ thuật hỗ trợ hoạt động trong HTTT Phần cứng là các thiết bị hữu hình, có thể nhìn thấy cầm nắm được Một số thiết bị phần cứng như:
- Mạch điều khiển: Bo mạch chủ, CPU, USB
- Bộ nhớ: Ổ cứng, RAM, ROM, đĩa CD, đĩa DVD
- Thiết bị nhập xuất dữ liệu: Màn hình, máy in, chuột, bàn phím, loa máy tính, webcam, ổ đĩa mềm, ổ đĩa cứng, ổ USB, máy quét ảnh
- Truyền thông: Modem, card mạng, wifi
- Linh kiện khác: Nguồn máy tính, vỏ máy tính, quạt làm mát
Phần m ềm : Là tập hợp những câu lệnh được viết bằng một hoặc nhiều
ngôn ngữ lập trình theo một trật tự xác định nhằm tự động thực hiện một số chức năng giải quyết bài toán nào đó Các phần mềm thông dụng trên máy tính cá nhân như: Xem phim, nghe nhạc, đồ họa, xử lý ảnh, ứng dụng văn phòng, phần mềm giáo dục, trò chơi, các tiện ích, các công cụ phát triển, hệ điều hành, Phần mềm có thể phân loại theo phương thức hoạt động và theo khả năng ứng dụng:
- Phân loại theo phương thức hoạt động:
Phần mềm hệ thổng: Dùng để vận hành máy tính và các phần cứng
máy tính Bao gồm các hệ điều hành, trình điều khiển thiết bị (device driver), các công cụ phân tích, trình phục vụ, hệ thống cửa sổ, các tiện ÍC, VÍ dụ: Các hệ điều hành máy tính Windows XP, Linux, Unix, các thư viện động (DLL), các trình điều khiển (drive)
Phần mềm ứng dụng: Đe người dùng có thể tác nghiệp một hay một số
công việc cụ thể Ví dụ như các phần mềm về: Văn phòng, trong doanh nghiệp, giáo dục, các phần mềm về trò chơi
- Phân loại theo khả năng ứng dụng:
Trang 14Phần mềm ứng dụng chung: Hệ quản trị cơ sở dữ liệu, phần mềm đồ
họa, phần mềm văn phòng, ứ n g dụng cho nhiều người, nhiều tổ chức, sản xuất hàng loạt
Phần mềm ứng dụng cho các bài toán cụ thể' Quản lý trường học, bệnh
viện, công ty, giải quyết một bài toán cụ thể ứ n g dụng cho từng đơn vị, tổ chức cụ thể, sản xuất theo đơn đặt hàng
Phần mềm quản ỉỷ\ Là phần mềm với nhiệm vụ thực hiện tin học hóa
các chương quá trình quản lý truyền thống Việc xây dựng và khai thác phần mềm quản lý đòi hỏi sự am hiểu về chuyên môn quản lý Một số phần mềm quản lý tiêu biểu như: Quản lý kinh doanh và hoạt động siêu thị, quản lý nhân
sự, quản lý thi trắc nghiệm, quản lý bán hàng, quản lý xe
D ữ liệu: Tài nguyên về dữ liệu gồm các cơ dữ liệu, phải được thu thập,
lựa chọn và tổ chức một cách khoa học theo một mô hình xác định, tạo điều kiện cho người sử dụng có thể truy cập một cách dễ dàng thuận tiện và nhanh chóng Cơ sở dữ liệu trong kinh tế bao gồm:
- Cơ sở dữ liệu nhân lực
- Cơ sở dữ liệu tài chính
- Cơ sở dữ liệu kế toán
- Cơ sở dữ liệu công nghệ
- Cơ sở dữ liệu kinh doanh
Hệ quản trị cơ sở dữ liệu là một phần mềm chuyên dụng giải quyết tốt tất cả các vấn đề đặt ra cho một cơ sở dữ liệu: Tính chủ quyền, cơ chế bảo mật hay quyền hạn khai thác cơ sở dữ liệu, giải quyết tranh chấp trong quátrình truy nhập dữ liệu, và phục hồi dữ liệu khi gặp sự cố, Các hệ quản trị
cơ sở dữ liệu thông dụng hiện nay là: Foxpro, Access, Sql server
Nguồn nhân lực: Con người chính là yếu tố quan trọng nhất trong suốt
quá trình thiết kế, cài đặt, bảo trì và sử dụng hệ thống Nếu tài nguyên không được đảm bảo thì dù hệ thống được thiết kế tốt đến đâu cũng sẽ không mang lại hiệu quả thiết thực trong sản xuất và kinh doanh
Trang 15H ệ thống mạng: Mạng máy tính là tập hợp các máy tính độc lập được
kết nối với nhau thông qua các đường truyền vật lý và tuân theo các quy ước truyền thông nào đó Ưu điểm mạng máy tính:
- Cho phép chia sẻ tài nguyên: Các chương trình, thiết bị và dữ liệu có thể được bất kỳ người nào trong tổ chức sử dụng và người sử dụng không cần quan tâm đến vị trí vật lý của các tài nguyên ở đâu khi họ dùng mạng
- Tăng độ tin cậy và sự an toàn cho hệ thống thông tin: Sử dụng nhiều thiết bị dự phòng trong mạng, các thiết bị này có khả năng thay thế thiết bị đang vận hành khi gặp sự cố Việc quản lý các tài nguyên trong hệ thống có
sự thống nhất và tập trung Thông tin cập nhật thường xuyên, liên tục
- Tiết kiệm chi phí: Tận dụng khả năng xử lý của máy chủ và có thểdùng chung các thiết bị đắt tiền, các máy trạm không cần tốc độ và khả năng
xử lý mạnh, các chi phí truyền tin và giá thành thiết bị rẻ hơn
- Tăng năng suất và làm việc hiệu quả trong tổ chức: Có khả năng làmviệc nhóm, thông tin, dữ liệu, tài nguyên có thể dùng chung Có khả năng truynhập, điều khiển từ xa, quản lý từ x a
Có thể phân loại mạng theo vị trí địa lý, theo kỹ thuật truyền tin, theo
hệ điều hành mạng
1.1.3 Yêu cầu đối với hệ thống thông tin
- Phải được thiết kế, tổ chức phục vụ nhiều lĩnh vực hoặc nhiệm vụ tổng thể của một tổ chức
- Đạt mục tiêu là hỗ trợ ra các quyết định
- Dựa trên kỹ thuật tiên tiến về xử lý thông tin
- Có kết cấu mềm dẻo, phát triển được (hệ thống mở)
1.2 NET Framework và các ứng dụng Web
1.2.1 NET Framework
.NET Framwork là phần chính của Visual Studio.Net, được phát triển
tò năm 1998 Nó được thiết kế hoàn toàn từ con số không dùng cho Internet Viễn tưởng của Microsoft là xây dựng một hệ thống phân tán mang tính toàn
Trang 16cục, dùng Extensible Markup Language (XML ngôn ngữ đánh dấu mở rộng chứa những cơ sở dữ liệu tí hon) làm cho chất keo để kết hợp chức năng của những máy tính khác nhau trong cùng một tổ chức hay trên khắp thế giới Những máy tính này có thể là server, desktop, laptop đều có thể sử dụng cùng một phần mềm chạy trên một môi trường duy nhất, độc lập với phần cứng và ngôn ngữ lập trình.
Các thành phần của N E T Framework:
Trong NET Framwork gồm có Common Language Runtime (CLR) và Framework Class Library:
dụng trong ứng dụng của mình Ví dụ một vài lớp của Net Framework
- Lớp File: Cho phép tạo file, sửa xóa, hay kiểm tra sự tồn tại của file trên đĩa cứng
- Lớp Graphics: Cho phép làm việc với nhiều kiểu của ảnh, bạn cũng
có thể tạo ra các ảnh từ phương thức trên lớp này
- Lớp SmtpClient: Cho phép bạn gửi thư
Common Language Runtime: Chịu trách nhiệm về thực thi mã ứng
dụng Khi viết ứng dụng bằng ngôn ngữ c# , VB.NET hay bằng ngôn ngữ bất
kỳ trên nền NetFamework mã của người viết sẽ không bao giờ biên dịch trực tiếp thành mã máy Thay vào đó chúng được biên dịch sang ngôn ngữ đặc tả MSIL (Microsoft intermediate Language)
•NET application được chia làm hai loại: loại cho Internet gọi là ASP.NET, gồm có Web Forms và Web Services và loại cho máy tính cá nhân gọi là Windows Forms
Trong NET, mọi ngôn ngữ lập trình đều được biên dịch ra Microsoft Intermeiate Language (IL) tương tự như byte code của Java Nhờ bắt buộc mọi ngôn ngữ đều phải dùng cùng các loại dữ liệu (gọi là Common Type System) nên Common Language Runtime có thể kiểm soát mọi interface, gọi giữa các thành phần và cho phép các ngôn ngữ có thể hợp tác nhau một cách
Trang 17thông suốt Tức là trong NET, một chương trình viết bằng VB.NET có thể kế thừa của C# và ngược lại một cách hoàn toàn tự nhiên.
1.2.2 Các ứng dụng Web
ứ n g dụng Web là loại ứng dụng Internet cho phép các khách (Client)
sử dụng trình duyệt Web (Internet Explorer, Opera, Mozilla, ) để truy cập
và xem thông tin được cung cấp bởi trình chủ Web (Web Server)
Phía Client:
Trong phần Client, người dùng (user) sử dụng trình duyệt Web để gửi yêu cầu (Request) đến Server bằng cách gõ địa chỉ của Website cần đến vào bar địa chỉ của trình duyệt Kết quả nhận được sau đó sẽ được hiển thị trên cửa số của trình duyệt
Phía Server:
v ề phía Server, một trình chủ Web (Web server - IIS) khởi chạy một
ứng dụng Web tương ứng để xử lý yêu cầu của người sử dụng, kết quả là ứng dụng Web sinh ra một trang HyperText Markup Language (HTML) trả lại cho trình duyệt, sau đó trình duyệt sẽ hiển thị kết quả cho người dùng Trong
mô hình tương tác này, cả hai (Client & Server) cùng sử dụng chung một giao thức truyền thông siêu văn bản HTTP (HyperText Transfer Protocol)
1.3 ASP.NET
Active Sever Pages.Net là một nền tảng ứng dụng web (web application framework) được phát triển và cung cấp bởi Microsoft, cho phép những người lập trình tạo ra những trang web động, những ứng dụng web và những dịch vụ web Lần đàu tiên được đưa ra thị trường vào tháng 2 năm
2002 cùng với phiên bản 1.0 của NET Framework, là công nghệ nối tiếp của
Trang 18Microsft’s Active Server Pages (ASP) ASP.Net được biên dịch dưới dạng Common Laguage Runtime (CLR), cho phép những người lập trình viết mã ASP.NET với bất kỳ ngôn ngữ nào được hỗ trợ bởi NET language.
1.3.1 Ưu điểm của ASP.NET
- Cho phép lựa chọn một trong các ngôn ngữ để lập trình: Visual Basic.Net, J#, c #
- Trang ASP.Net được biên dịch trước thành những tập tin Dynamic Link Library (DLL) mà Server có thể thi hành nhanh chóng và hiệu quả
- Hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net
- ASPX và ASP có thể cùng hoạt động trong một ứng dụng
- Sử dụng phong cách lập trình mới: Code behide tách code riêng, giao diện riêng Dễ đọc, dễ quản lý và bảo trì
- Kiến trúc lập trình giống ứng dụng trên Windows
- Hỗ trợ quản lý trạng thái của các control
- Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser
- Triển khai cài đặt: Không cần lock, không cần đăng ký DLL, cho phép nhiều hình thức cấu hình ứng dụng
- Hỗ trợ quản lý ứng dụng ở mức toàn cục: Global.aspx có nhiều sự kiện hơn, quản lý session trên nhiều Server, không cần Cookies
1.3.2 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
Trang 19trong 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 Sever 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ác 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 dịch trên trình chủ
- Rich Control: Rich Control là tập các thành phần điều khiển đa năng,
chúng 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
- Web Services (các dịch vụ web): Có thể thay thế cho DLL, DCOM
trước đây Trang ASP.NET 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
- Cẩu hình và phân phổi: Đơn giản và dễ dàng với các tập tin cấu hình
dạng văn bản XML Các thành đố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
- Trạng thái Sesión: 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 và Application của một ứng dụng nào đó xuống các file trên đĩa để sử dụng lại
- Xử lý lỗi: Xử lý lỗi 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
- Quản ỉỷ 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
Trang 20chứ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 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 logfïle của hệ điều hành
1.3.3 Các điều khiển trên ASP.NET
Các điều khiển ASP.NET là tầm quan trong nhất trong ASP.NET Framework Một control là một lớp mà thực thi trên Server và đưa ra nội dung trên trình duyệt ASP.NET có hơn 70 control mà người viết có thể sử dụng trong xây dựng web của họ và cơ bản nó chia ra các nhóm control sau:
- Standard control: Bao gồm các điều khiển đưa ra các thành phần
chuẩn như: Lable, Button, TextBox
- Validator control: Là những điều khiển như FileUpload, Calendar
- Data control: là các điều khiển cho phép thao tác với dữ liệu
- Navigation control: Là những điều khiển giúp bạn dễ dàng di chuyển
giữa các trang trong website
- Login control: Là các điều khiển bảo mật của ứng dụng cho phép bạn
đưa ra các form đăng nhập, thay đổi mật khẩu
- HTML control: Cho phép bạn chuyển các điều khiển của HTML
thành các điều khiển có thể làm việc trên Server
1.4 Hệ quản trị cơ sở dữ liệu SQL Sever 2005
1.4.1 Giới thiệu về SQL Sever
SQL Server là viết tắt của Structure Query Language (ngôn ngữ truy
Trang 21nhiều lĩnh vực Hầu hết các ngôn ngữ bậc cao đều có trình hỗ trợ SQL như Visual Basic, Oracle, Visua C, Các chương trình ứng dụng và các công cụ quản trị cơ sở dữ liệu cho phép người sử dụng truy cập tới CSDL mà không cần sử dụng trực tiếp SQL Nhưng những ứng dụng đó khi chạy phải sử dụng SQL.
SQL Sever là ngôn ngữ truy vấn dữ liệu, là 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/Sever, 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, nối kết 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ả lê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ỉ lam việc với dữ liệu cấu trúc dạng bảng như Foxpro, Access SQL sử dụng Query cho phép nhiều người try 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
Người dùng truy cập dữ liệu trên Server thông qua ứng dụng Người quản trị CSDL truy cập Server trực tiếp để thực hiện các chức năng cấu hình, quản trị và thực hiện các thao tác bảo trì CSDL Ngoài ra, SQL Server là một CSDL có khả năng mở rộng, nghĩa là chúng có thể lưu một lượng lớn dữ liệu
và hỗ trợ tính năng cho phép nhiều người dùng truy cập dữ liệu đồng thời Các phiên bản của SQL Server phổ biến hiện này trên thị trường là SQL Server 7.0, SQL Server 2000, SQL Server 2005, SQL Server 2008
Trang 222005 là thêm các dịch vụ mới như: dịch vụ báo cáo (reporting service), service broker và sự thay đổi đáng kể trong cỗ máy cơ sở dữ liệu.
Các thành phần Server:
SQL Server Database: c ỗ máy cơ sở dữ liệu bao gồm Database
Engine, lõi dịch vụ cho việc lưu trữ, xử lý và bảo mật dữ liệu, sao lưu và đồng
bộ (Replication), tìm kiếm toàn văn (Full - Text Search), và các công cụ cho việc quản trị dữ liệu quan hệ và XML
Analysis Services: Analysis Services bao gồm các công cụ cho việc tạo
và quản lý tiến trình phân tích trực tuyến (online analytical processing - OLAP) và các ứng dụng khai thác dữ liệu
Reporting Services: Reporting Services bao gồm các thành phần server
và client cho việc tạo, quản lý và triển khai các báo cáo Reporting Services cũng là nền tảng cho việc phát triển và xây dựng các ứng dụng báo cáo
Notification Services: Dịch vụ thông báo Notification Services là nền
tảng cho sự phát triển và triển khai các ứng dụng tạo và gửi thông báo Notification Services có thể gửi thông báo theo địch thời đến hàng ngàn người đăng ký sử dụng nhiều loại thiết bị khác nhau
Integration Services: Integration Services là một tập hợp các công cụ
đồ họa và các đối tượng lập trình cho việc di chuyển, sao chép và chuyển đổi
dữ liệu
Các thành phần Client.
Connectivity và Components: Là các thành phần cho việc truyền thông giữa clients và servers, và các thư viện mạng
Trang 23- Nâng cao bảo mật
- Mở rộng T - SQL
- Tăng cường hỗ trợ người phát triển ứng dụng
- Tăng cường khả năng quản trị CSDL
- Nâng cao độ sẵn sàng và mở rộng của CSDL
- Tăng cường khả năng khai thác thông tin
- Thêm, cập nhật, xóa 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, ngắn gọn, dễ nhớ, dễ sử dụng
- 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
1.4.4 Các câu lệnh Cff bản trong SQL
• SELECT
Danh sách chọn trong câu lệnh SELECT được sử dụng để chỉ định các trường, các biểu thức cần hiển thị trong các cột của kết quả truy vấn Các trường, các biểu thức được chỉ định ngay sau từ khoá SELECT và phân cách nhau bởi dấu phẩy Sử dụng danh sách chọn trong câu lệnh SELECT bao gồm các trường hợp sau:
Trang 24Khi cần hiển thị tất cả các trường trong các bảng, sử dụng ký tự * trong danh sách chọn thay vì phải liệt kê danh sách tất cả các cột.
Trong trường hợp này, các cột được hiển thị trong kết quả truy vấn sẽ tuân theo thứ tự mà chúng đã được tạo ra khi bảng được định nghĩa
Ví dụ: Câu lệnh
SELECT * FROM LOP
Trong trường hợp cần chỉ định cụ thể các cột cần hiển thị trong kết quả truy vấn, ta chỉ định danh sách các tên cột trong danh sách chọn Thứ tự của các cột trong kết quả truy vấn tuân theo thứ tự của các trường trong danh sách chọn
Ví dụ: Câu lệnh
SELECT malop, tenlop, namnhaphoc FROM lop
Mệnh đề FROM chỉ ra tên 1 bảng hay những bảng có quan hệ cần truy vấn thông tin
Mệnh đề WHERE để tạo nên điều kiện cần lọc mẩu tin theo tiêu chuẩn được định nghĩa Thông thường WHERE dùng cột (trường) để so sánh với giá trị cột khác, hay biểu thức chứa cột (trường) bất kỳ có trong bảng (table)
Cấu trúc:
SELECT <danh sách các cột>
FROM <danh sách các bảng>
[WHERE <điều kiện ràng buộc>]
[GROUP BY <tên cột/biểu thức trong SELECT>]
[HAVING « liều kiện bắt buộc của GROUP BY>]
[ORDER BY <danh sách cột>]
• UPDATE
Trang 25Phát biểu SQL dạng UPDATE dùng cập nhật lại dữ liệu đã tồn tại trong bảng Khi UPDATE dùng cập nhật dữ liệu cho một mẩu tin chỉ định nào đó thường lệnh này sử dụng chung với mệnh đề WHERE.
Nếu cập nhật tất cả các mẩu tin trong bảng bạn có thể bỏ mệnh đề WHERE
Cấu trúc như sau:
UPDATE <tên bảng> SET <cột> = <giá trị>, [<cột> = <giá trị>]
[WHERE <condition>]
Nếu cập nhật giá trị là kết quả trả về từ phát biểu SELECT trên 1 hay nhiều bảng khác.cấu trúc như sau:
UPDATE <tên bảng> SET <cột>=<select FROM tên bảng
W HERE > [WHERE <resữictive conditions>]
• INSERT
Khi cần thêm mẩu tin vào bảng (table) trong CSDL SQL, bạn có nhiều cách để thực hiện công việc này, nhưng để sử dụng các phát biểu SQL mang tính chuyên nghiệp bạn cần sử dụng phát biểu INSERT
Khi thêm dữ liệu, cần chú ý kiểu dữ liệu giống hoặc tương ứng với kiểu
dữ liệu đã khai báo của cột (column), nếu không phù hợp thì lỗi sẽ phát sinh.Muốn INSERT vào CSDL thì ta có cấu trúc như sau:
INSERT INTO <tên bảng> [<danh sách cột>]
Trang 26CHƯƠNG 2 PHÂN TÍCH VÀ THIÉT KÉ HỆ THỐNG
2.1 Phân tích hệ thống
2.1.1 Giới thiệu hệ thống
Hệ thống bán vé xe khách online là một chương trình quản lý bán vé cho công một công ty bán vé du lịch, Website này sẽ cung cấp cho hành khách các thông tin như: Yêu cầu dịch vụ (du lịch, tham quan, dã ngoại, ) các địa điểm, các tuyến đường, số ghế cần đặt, loại xe, chi phí Cung cấp cho nhà quản lý những chức năng để thay đổi thông tin, tiến hành giao dịch với khách hàng cũng như nắm bắt được nhu cầu của khách hàng và quá trình phát triển của công ty
Người quản lý Website sẽ được kích hoạt quyền admin sau khi đăng ký các thông tin tài khoản Admin sẽ quản lý toàn bộ từ nhân viên, các loại xe,
vé xe, địa điểm, tuyến xe và các chi phí tới các công việc quản lý cũng như việc đặt vé quản lý hành khách Các thành viên sẽ đăng ký làm quản trị viên của hệ thống dưới sự giám sát của người quản lý, để trở thành quản trị viên các thành viên cần phải cung cấp đầy đủ thông tin mà Website yêu cầu trong mục đăng ký thành viên như: Họ và tên, ngày tháng năm sinh, địa chỉ, số điện thoại, tên đăng nhập và mật khẩu Sau khi được người quản lý kích hoạt tài khoản bạn sẽ trở thành một thành viên của Website Sau khi trở thành một quản trị viên của Website, quản trị viên có quyền thay đổi cũng như quản lý
về một chức năng của hệ thống mà người quản lý cấp quyền cho
Đối với khách hàng, hệ thống cho phép truy cập vào Website, khách hàng chỉ cần click vào mục đặt vé, sau đó tìm kiếm các thông tin về điểm bắt đầu, điểm kết thúc, dự kiến thời gian đi, lựa chọn chỗ ngồi, Sau khi lựa chọn các thông tin chỉ cần ghi lại thông tin về họ tên, độ tuổi, tài khoản mail,
số điện thoại liên lạc, Và cuối cùng thực hiện việc chuyển tiền vào tài khoản của công ty Thực hiện giao dịch thành công khách hàng sẽ được nhận thông tin về chiếc vé mà mình đã đặt Nếu cần có thể gọi điện trực tiếp cho tổng đài công ty để xác nhận vé cho mình, vậy là khách hàng có thể yên tâm
Trang 27với chiếc ghế mà mình đã đặt Sẽ có nhiều chương trình khuyến mãi giảm giá cho các khách hàng với từng độ tuổi khác nhau, khi đi khách hàng chỉ cần mang theo chứng minh nhân dân và nhớ số mã vé đã đăng ký là đủ Website
sẽ có nhiệm vụ chuyển thông tin đặt vé này tới hãng xe và giữ chỗ cho bạn nếu thủ tục đặt vé hoàn tất Hệ thống sẽ không ngừng cung cấp các thông tin
về chương trình khuyến mãi của công ty sớm nhất và các tin tức có liên quan tới chuyến đi Các chi phí tùy thuộc vào loại xe cũng như chất lượng xe, khoảng cách và độ tuổi từng khách hàng
Sau khi đặt được vé mà mình muốn, khách hàng lựa chọn hình thức giao dịch bằng việc chọn mục thanh toán, một form với các thông tin cần thiết cho việc thanh toán hiện ra Website sẽ cung cấp nhiều lựa chọn cho khách hàng tiện lợi trong việc thanh toán, hành khách có thể thanh toán qua tài khoản ATM của các ngân hàng như: ViettinBank, TechcomBank, AgriBank, MBMank, PGBank, VIBBank, Sau khi chọn hình thức thanh toán và điền đầy đủ thông tin trong hóa đơn đặt vé khác hàng chọn gửi hóa đơn Khi hóa đơn đến hệ thống Website, người quản lý sẽ tiếp nhận hóa đơn để xác nhận thời gian, địa điểm để quản lý lượng hành khách còn lại
2.1.2 Xác định các chức năng chính của hệ thống
Dựa vào phần giới thiệu về hệ thống ta chia chức năng của hệ thống thành các nhóm chức năng chính như sau:
Nhóm chức năng thành viên đăng ký, đăng nhập
Nhóm chức năng xem thông tin cá nhân, thông tin về vé xe, tuyến đường, loại xe, thông tin hóa đơn
Nhóm chức năng quản lý, quản lý thông tin cá nhân, quản lý các thành viên của hệ thống, quản lý các loại vé xe, tuyến đường, loại xe, giá vé, hóa đơn
Nhóm chức năng đặt vé trực tuyến và xử lý hóa đơn