Professional Documents
Culture Documents
MỤC LỤC
2. Cơ sở dữ liệu........................................................................................................................8
a) Bảng dữ liệu....................................................................................................................8
b) Relationship:...................................................................................................................12
1) MÔI TRƯỜNG..................................................................................................................12
1) Kết luận:.............................................................................................................................26
Lời đầu tiên em xin thay mặt nhóm2 K5CNTT1 gửi lời cảm ơn đến thầy cô
giáo Khoa Công Nghệ Thông Tin – Trường CĐ Công Nghệ và Quản Trị SONADEZI,
đặc biệt gửi đến thầy phó khoa Ths Huỳnh Phước Danh lời cảm ơn chân thành - thầy
đã hướng dẫn nhóm em thực hiện xong đồ án.
Nhờ thầy đã tận tình giảng dạy và hướng dẫn cho nhóm em trang những kiến
thức cần thiết để áp dụng vào thực tế, thiết kế một Website hoàn chỉnh đó là Website
bán vé máy bay trực tuyến VietnamArilines .
Mặc dù cả nhóm đã cố gắng làm với hết khả năng bản thân của mỗi người
nhưng đôi chổ có phần sai sót nhất định, em hy vọng thầy cố thể chấp nhận đồ án
của nhóm em và có thể góp thêm một Website bán vé máy bay trực tuyến
VietnamArilines và được đông đảo các bạn biết tới. Rất mong nhận được sự góp ý của
quý thầy cô để chúng em có thể hoàn thiện hơn trong những đồ án tiếp theo .
Cuối cùng chúng em xin chân thành cảm ơn sự giúp đỡ của thầy trong quá trình
làm đồ án, để đồ án được hoàn thành.
Các Website ngày càng đa dạng và đẹp mắt tiện lợi cho người sử dụng, rất
nhiều Website thuộc nhiều lĩnh vực. Mua bán vé máy bay trực tuyến là một trong
những website đang cần thiết trong thời đại ngày nay .
Có rất nhiều ngôn ngữ để lập trình web như: HTML, javascripts, vbscripts rồi
các ngôn ngữ như PHP, ASP... . Tuy nhiên qua tìm hiểu và học tập ở trường, lớp em
đã tiếp cận và biết đến ngôn ngữ ASP.NET, đây là một ngôn ngữ có nhiều chức năng
hỗ trợ cho việc thiết kế web…
Một Website Mua bán vé máy bay trực tuyến thường dùng cho việc mua vé
phù hợp với thời gian, địa điểm đi và đến đặc biệt là giá vé , nếu chúng ta muốn tìm
kiếm thông tin chuyến bay nào thì chọn đền mục cần tìm và thoải mái tìm hiểu trên
Website bán vé máy bay trực tuyến VietnamArilines.
Quá trình khảo sát và nắm bắt được tình hình của thị trường cũng như nhu cầu
tìm kiếm thông tin về chuyến bay mà em đã đưa ra một Website bán vé máy bay trực
tuyến VietnamArilines.. Đây cũng là đề tài mà nhóm em thực hiện .
Song, vì thời gian có hạn,và là lần đầu làm website trực tuyến nên kĩ năng, kinh
nghiệm hầu như không có, khó tránh khỏi nhiều sai sót. Vì vậy em rất mong nhận
được nhiều ý kiến đóng góp từ thầy cô và các bạn để em hoàn thành tốt đồ án này.
BỐ CỤC CỦA ĐỒ ÀN GỒM CÓ NHỮNG NỘI DUNG
I) Giới thiệu khái quát: giới thiệu khái quát nhất về Website, giải quyết vấn đề
bài toán Website bán vé máy bay trực tuyến.
II) Khảo sát hiện trạng : giải quyết các vấn đề nghiệp vụ của bài toán.
III) Thiết kế : mô hình hóa chức năng và thiết kế cơ sở dữ liệu .
IV) Vấn đề môi trường: giới thiệu môi trường làm việc.
V) Giới thiệu về Website VietnamArilines: giới thiệu website.
VI) Tổng kết: tự đánh giá những gì đã làm và nhận xét của giáo viên.
Tạo và quản lý thông tin tài khoản của mình: Khi người dùng click vào nút Đăng
kí và điền đầy đủ thông tin cá nhân của mình vào, hệ thống sẽ kiểm tra tính hợp lệ
của những dữ liệu truyền vào và sau đó thông báo đăng kí thành công hay thất bại.
Khi người dùng đăng kí thành công sẽ đến với chức năng quản lí tài khoản và thông
tin cá nhân của mình
Đặt vé, hủy vé: Khi người dùng truy cập vào trang web đăng nhập bằng tài khoản
thì có thêm chức năng đặt vé và hủy vé.
Tìm kiếm lịch bay, giá vé, các thong tin hỗ trợ về du lịch: NGười dùng truy cập
vào trang web sẽ có các thông tin hỗ trợ nói trên
Khả năng phát triển thêm:
Tạo forum cho các user cùng đóng góp ý kiến về chất lượng phục vụ, về cơ chế
làm việc của trang web cũng như đóng góp thêm các ý kiến bổ ích để xây dựng trang
web ngày càng hoàn thiện hơn.
Cập nhật giao diện thường xuyên: Khi có các tính năng mới thì admin sẽ hiệu chỉnh
và cung cấp đầy đủ các tính năng mới phục vụ người truy cập trang web.
STT Tên yêu cầu Biểu mẫu Quy định Ghi chú
1 Lập lịch bay BM1 QĐ1
2 Ghi nhận đặt vé BM2 QĐ2
3 Hủy đặt vé
4 Tra cứu chuyến bay BM3
5 Thay đổi quy định QĐ3
Stt Sân bay quá cảnh Thời gian dừng Ghi chú
QĐ1: Thời gian bay tối thiểu là 30 phút. Có tối đa 3 sân bay trung gian với thời gian dừng từ 10 đến
20 phút.
Ví dụ
Stt Sân bay quá cảnh Thời gian dừng Ghi chú
1 Tokyo 20 phút.
2 Taiwan 10 phút.
QĐ2: Chỉ cho đặt vé chậm nhất 1 ngày trước khi khởi hành. Vào ngày khởi hành tất cả các phiếu
đặt sẽ bị hủy.
QĐ3: Chỉ cho hủy vé chậm nhất 2 ngày trước khi khởi hành.
Biểu mẫu 4
Quy định 4
QĐ4: Người dùng có thể thay đổi các quy định như sau
+ QD1: Thay đổi số lượng sân bay, thời gian bay tối thiểu, số sân bay trung gian tối đa, thời gian
dừng tối thiểu, tối đa tại các sân bay trung gian.
+ QD2: Thay đổi số lượng các hạng vé, bảng đơn giá vé.
+ QD3: Thời gian chậm nhất khi đặt vé, khi hủy đặt v
Chương 2 THIẾT KẾ
Xem thông tin
Chương 3 admin Thiết kế vật lý
chuyến bay
_ mô hình chức năng
Đăng nhập
Hủy vé đã mua
data
Website VietnamArilines GVHD: Ths Huỳnh Phước Danh
Diễn giải:
Admin sau khi đăng nhập vào hệ thống sẽ được quyền thêm thông tin chuyến bay,
xóa chuyến bay, sửa các quy định va thông tin về chuyến bay, quản lý việc mua vé.
Khách hàng:
o Tìm chuyến bay phù hợp với địa điểm đi và đến, thời gian và số lượng vé
o Xem thông tin về chuyến bay như: ngày giờ, sân bay đi sân bay đến, giá vé
o Sau khi đã nhấp vào mua vé khách hàng nhập đầy đủ thông tin vào bảng và thực hiện
tiếp quá trình mua vé bay.
o Hủy vé đã đặt nếu khách hàng không lấy vé trong vòng 24 giờ kể từ khi đặt.
Chương 4 Cơ sở dữ liệu
Table admin
Table AdminInRole
Table Booking
Table DemoBank
Table Flight
Table .News
Table .Orders
Table .Passenger
Table Plane
Table .Role
Table Route
Table .SeatInPlane
Table Ticket
Table TicketClass
Table .Transit
Table .Zone
Chương 6 Relationship:
Chương 7 VẤN ĐỀ KĨ
THUẬT
7.1 MÔI
TRƯỜNG
Ngôn ngữ sử dụng: ASP.NET
Công cụ lập trình: visual studio
Công cụ đồ họa: photoshop
Hệ điều hành: win xp, win 7
Cơ sở dữ liệu: SQL 2005
Ngôn ngữ sử dụng
Microsoft Active Server Pages (ASP) là môi trường lập trình ứng dụng phía
server (server side scripting) hỗ trợ mạnh trong việc xây dựng các ứng dụng Web.
Các ứng dụng ASP có thể làm việc với bất kì cơ sở dữ liệu nào tương thích với
ODBC như SQL, Access, Oracle, Informix,… đồng thời rất dễ viết và sửa đổi. Hơn
nữa nó có thể tích hợp các công nghệ sẵn có của Microsoft như COM, ... một cách dễ
dàng.
Để có thể chạy được các trang web viết bằng ASP, cần phải có webserver hỗ
trợ ASP. Microsoft IIS và Personal Web Server (PWS) trên Win95,98,NT hay Internet
Information Server (IIS) trên Windows2000 là các webserver của Microsoft hỗ trợ
ASP. Trong trường hợp webserver không phải của Microsoft, hay hệ điều hành không
phải là Windows mà là Unix, Linux, cần phải cài đặt một thư viện hỗ trợ ASP. Thông
dụng nhất là Sun Chili!Soft (http://www.chillisoft.com) .
Để soạn thảo các trang ASP, ta có thể dùng bất cứ phần mềm soạn thảo văn
bản nào, ví dụ như Notepad.
Thông dụng và dễ dùng thường là Visual InterDev trong bộ Microsoft Studio.
Ngoài ra với ứng dụng có liên kết với cơ sở dữ liệu, cần phải cài đặt thêm các
phần mềm cơ sở dữ liệu như Access, SQL, Oracle, … Phần mềm cơ sở dữ liệu đơn
giản nhất cho người mới bắt đầu là Access.
Để có thể viết ứng dụng web bằng ASP, cần phải biết các kiến thức cơ bản sau:
- Kiến thức về thiết kế web, HTML để giúp thiết kế các trang web.
- Kiến thức về các ngôn ngữ lập trình VB script, Java script. VB Script là ngôn
ngữ lập trình thông dụng cho ASP.
- Thông thường các ứng dụng web có liên quan nhiều đến việc quản lí, truy
xuất, cập nhật cơ sở dữ liệu nên cần phải nắm thêm kiến thức về cú pháp các câu truy
vấn SQL, kiến thức về kết nối và lập trình cơ sở dữ liệu với ADO.
B. Đặc điểm của ASP.NET
- ASP.NET Control có thêm nhiều loại control mới có thể được dùng tương tự
như những control cơ bản khác như những control kiểm tra nhập liệu (validation
control) hay như DataGrid, DataList có cách chức năng nâng cao như sắp xếp
(sorting), phân trang (paging)…
- Một đặc điểm nổi bật của các Control ASP.NET đó là tất cả các Control này
đều có khả năng “Hiểu các sự kiện (event)” và các sự kiện này điều có thể lập trình
được như là: sự kiện Load, sự kiện Click, sự kiện Change...
Các thành phần ASP.NET dựa vào XML rất nhiều, ví dụ như điều khiển AD
Rotator sử dụng XML để lưu các thông tin về quảng cáo và cấu hìn
+ . Xác thực người dùng qua tài khoản (account) và vai trò (role).
- ASP.NET hỗ trợ xác thực người dùng dựa vào form bao gồm quản lý cookie
và tự động chuyển trang đối với những người dùng không hợp lệ.
- Việc quản lý thông qua account và role có ý nghĩa chỉ cho phép từng tài
khoản với từng role khác nhau có thể truy xuất vào những phần code khác nhau ở
server.
+. Khả năng mở rộng cao hơn.
Có ý nghĩa là một ứng dụng có thể trải rộng tương tác trên nhiều server, khả
năng giao tiếp giữa các server được tăng cường.
- Lần đầu tiên được triệu gọi, mã ASP.NET sẽ được biên dịch và lưu một bản
sao trong bộ nhớ, mỗi lần sau được triệu gọi thì không cần biên dịch lại nữa, cách làm
này tăng hiệu suất rất đáng kể.
Khác với trang ASP, mỗi lần triệu gọi là mỗi lần trang ASP được biên dịch lại
tốn rất nhiều tài nguyên cho việc xử lý như thế.
- Dễ cấu hình : Tất cả cấu hình theo thông qua dạng file văn bản đơn giản ngay
trong khi ứng dụng đang chạy mà không cần phải khởi động lại server hay phải đăng
ký gì cả.
- Dễ cài đặt : Mỗi khi có sự thay đổi chỉ cần thay các file .dll mới bằng cách
chép không cần các thao tác gì khác.(công nghệ X-COPY). Lúc cài đặt ứng dụng
cũng tương tự.
+. Không hoàn toàn tương thích với ASP.
- ASP.NET không hoàn toàn tương thích với ASP.Trang ASP.NET sử dụng tên
mở rộng là .aspx thay vì .asp như trang ASP. Tuy vậy ASP.NET và ASP có thể cùng
tồn tại trên một WebServer.
- Phát triển phần mềm : Có tính chuyên nghiệp hóa, có thể chia cho nhiều nhóm
được đào tạo nhiều kỹ năng khác nhau, từ thiết kế mỹ thuật cho đến lập trình đến tổ
chức database.
- Bảo trì : Với các lớp được phân chia, các thành phần của một hệ thống dễ được
thay đổi, nhưng sự thay đổi có thể được cô lập trong từng lớp, hoặc chỉ ảnh hưởng
đến lớp ngay gần kề của nó, không phát tán trong cả chương trình.
- Mở rộng : Với các lớp được chia theo ba lớp như đã nói, việc thêm chức năng
vào cho từng lớp sẽ dễ dàng hơn là phân chia theo cách khác.
- Tiện về bug lỗi, kiểm soát code, workflow dễ dàng hơn và nhiều người có thể
tham gia phát triển cùng trên 1 module.
7.2 PHƯƠNG
THỨC
CHÍNH
Đăng nhập của admin
protected void btnDN_Click(object sender, EventArgs e)
{
if (KT_DN(txtTen.Text, txtPass.Text) == 1)
{
if (!Login(txtTen.Text))
{
ScriptManager.RegisterStartupScript(this, this.GetType(),
"redirectMe",
"alert('Đã đăng nhập!');", true);
}
else
{
Session["Username"] = txtTen.Text;
Session["BienKT"] = 1;
ScriptManager.RegisterStartupScript(this, this.GetType(),
"redirectMe",
"alert('đăng nhập thành công');", true);
}
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(),
"redirectMe",
"alert('đăng nhập không thành công');", true);
}
}
public int KT_DN(string name, string pass)
{
DataSet.sp_AdminLoginDataTable dt = new
DataSet.sp_AdminLoginDataTable();
DataSetTableAdapters.sp_AdminLoginTableAdapter bien = new
DataSetTableAdapters.sp_AdminLoginTableAdapter();
bien.Fill(dt, name, pass);
if (dt.Rows.Count > 0)
{
if (int.Parse(dt.Rows[0]["ErrCode"].ToString()) == 0)
{
return 1;
}
else
return 0;
}
else
{
return 0;
}
}
if (int.Parse(dt.Rows[0]["ErrCode"].ToString())==1)
{
ScriptManager.RegisterStartupScript(this, this.GetType(),
"redirectMe", "alert('Thêm thành công !');", true);
NapDL();
}
else
ScriptManager.RegisterStartupScript(this, this.GetType(),
"redirectMe", "alert('Đã tồn tại vé này !');", true);
}
}
Hủy đặt vé
public void HuyDatVe(int MaDat, string MaVe, int SoLuong)
{
DateTime Hientai = DateTime.Now;
DataSet.sp_Cancel_BookingDataTable dt = new
DataSet.sp_Cancel_BookingDataTable();
DataSetTableAdapters.sp_Cancel_BookingTableAdapter bien = new
DataSetTableAdapters.sp_Cancel_BookingTableAdapter();
dt.Reset();
bien.Fill(dt, MaDat, MaVe, SoLuong);
}Sửa chuyến bay
Tìm vé bay
public DataTable TimVeCB( int FlightID, int ClassID)
{
DataSet.sp_LayVeCBDataTable dt = new
DataSet.sp_LayVeCBDataTable();
DataSetTableAdapters.sp_LayVeCBTableAdapter bien = new
DataSetTableAdapters.sp_LayVeCBTableAdapter();
dt.Reset();
bien.Fill(dt, FlightID, ClassID);
return dt;
}
public int GetQuantityTicket(string MaVe)
Nhóm 2 K5CNTT1 Trang 17
Website VietnamArilines GVHD: Ths Huỳnh Phước Danh
{
DataSet.GetQuantityTicketByIDDataTable dt = new
DataSet.GetQuantityTicketByIDDataTable();
DataSetTableAdapters.GetQuantityTicketByIDTableAdapter bien
= new DataSetTableAdapters.GetQuantityTicketByIDTableAdapter();
dt.Reset();
bien.Fill(dt,MaVe);
return Convert.ToInt16(dt.Rows[0]["Quantity"]);
}
Tìm chuyến bay
public DataTable TuyenBay(string FromAir, string ToAir)
{
DataSet.TimTuyenBayDataTable dt = new
DataSet.TimTuyenBayDataTable();
DataSetTableAdapters.TimTuyenBayTableAdapter bien = new
DataSetTableAdapters.TimTuyenBayTableAdapter();
dt.Reset();
bien.Fill(dt, FromAir, ToAir);
return dt;
}
public DataTable ChuyenBay(string MaTuyenBay, DateTime date)
{
DataSet.sp_TimCBDataTable dt = new
DataSet.sp_TimCBDataTable();
DataSetTableAdapters.sp_TimCBTableAdapter bien = new
DataSetTableAdapters.sp_TimCBTableAdapter();
dt.Reset();
bien.Fill(dt, MaTuyenBay,date);
return dt;}
public DataTable GetChuyenBayByID(int MaChuyenBay)
{
DataSet.sp_GetChuyenBayByIDDataTable dt = new
DataSet.sp_GetChuyenBayByIDDataTable();
DataSetTableAdapters.sp_GetChuyenBayByIDTableAdapter bien =
new DataSetTableAdapters.sp_GetChuyenBayByIDTableAdapter();
dt.Reset();
bien.Fill(dt,MaChuyenBay);
o Lựa chọn chuyến đi: khách hàng sẽ chọn ngày đi và ngày về sau đó nhấp vào
tiếp tục. nếu khách hàng không ưng ý với chuyến bay hiện tại có thể nhấp vào
tìm kiếm mới.
o Website sẽ hiển thị thông tin về chuyến bay quý khách đã chọn gồm thông tin
sau: giờ khởi hành, sân bay đi,sân bay đến, giờ đến, chuyến bay đó có dừng
hay bay thẳng và có nhiều hạng và giá vé kèm theo quý khách có thể chọn tùy
ý sau dó chọn tiếp tục
o Hiển thị thông tin chi tiết về chuyến bay: như hình dưới sau đó quý khách vui
lòng chọn mua hoặc có thể hủy chuyến bay.
o Nhập thông tin khách hàng: Sau khi mua vé quý khách vui lòng nhập đầy đủ
thông tin phục vụ cho việc mua vé.
o Thanh toán:
- Thanh toán trực tiếp: quý khách nhập thông tin về thẻ sau đó chúng tôi sẽ
thực hiện giao dịch và gửi qua email cho quý khách vé sau đó quý khách tự in
ra.
- Thanh toán trả sau: sau khi mua vé quý khách sẽ đến các đại lý bán vé cung
cấp mã vé má chúng tôi đã cấp cho quý khách trước đó để lấy vé.
Lưu ý : sau 24 giờ đặt vé mà quý khách không đến của hàng lấy vé chúng tôi
sẽ hủy vé đã đặt
Nếu như khi quý khách hàng muốn hủy chuyến bay đã chọn khách hàng nhấp vào
hủy chuyến bay trang web sẽ tự động trở về trang chủ để quý khách chọn chuyến bay
khác.
o Sau khi đăng nhập thành công người admin có thể quản lý vé như xóa và thêm
vé bay
o Quản lý máy bay gồm những tác vụ như thêm, xóa và sửa máy bay.
o Quản lý sân bay gồm những tác vụ như thêm, xóa và sửa sân bay.
o Quản lý đặt vé khách hàng đặt vé sau một phút không đến của hàng lấy vé
trang web sẽ tự động hủy vé mà quý khách đã đặt trước đó.
o Quản lý admin
Về mặt lưu trữ: lưu trữ về vé máy bay của websites bán vé máy bay trực tuyến.
Về mặt chức năng: thực hiện đúng chức năng nghiệp vụ đã đặt ra.
Ưu điểm, nhược điểm và hướng phát triển
Ưu điểm:
- Giúp khách hang tra cứu và mua vé một cách nhanh chóng, dễ hiểu
và dễ thực hiện.
- Giao diện dễ nhìn thận thiện, đúng với websites mẫu .
- Giãm bớt được người quản lý, tiết kiệm được thời gian.
- Thông tin về vé được cập nhập liên tục.
Nhược điểm:
Trong tương lai khi có điều kiện về thời gian cho phép nhóm em sẽ phát triển
hoàn thiện hơn, có thể đưa Website này lên được sử dụng trong lĩnh vực mua bán vé
máy bay trực tuyến.
- Giáo trình Lập trình web với ASP.NET của trường CĐ CNTT Hữu
Nghị Việt-Hàn.
- Website http://www.VietnamArilines.com