You are on page 1of 54

I. Mô tả đề tài.

1. Đặt vấn đề.


Việc quản lý và báo cáo luôn là yêu cầu cần thiết của bất kỳ một loại hình kinh
doanh và mua bán nào. Không ngoại lệ, các hãng hàng không rất cần thiết có một hệ
thống thực hiện công việc quản lý và báo cáo như thế. Hơn nữa, công nghệ thông
tin ngày càng phát triển, việc quản lý trên sổ sách đã bộc lộ những điểm yếu của nó
và dần dần ít được sử dụng. Ý tưởng xây dựng nên một chương trình quản lý để
giúp cho việc thực hiện các nghiệp vụ của mà các hãng hàng không yêu cầu một
cách dễ dàng và thuận lợi mang tính thực tế. Do đó cần xây dựng một phần mềm
nhằm đáp ứng được khâu quản lý việc đặt vé đến cập nhật thông tin quản lý từng
chi tiết của chuyến bay.
2. Yêu cầu chức năng.

Tạo ra một chương trình quản lý bán vé và thông tin chuyến bay nhằm hỗ trợ nhân viên
cũng như hành khách có thể thực hiện được những chức năng sau:

 Phân quyền cho hệ thống: hệ thống phân làm 3 quyền cơ bản: người quản
trị, nhân viên, và người sử dụng thường (khách hàng…)
 Hỗ trợ nhập và xử lý cơ sở dữ liệu (CSDL).
 Tìm kiếm thông tin chuyến bay nhanh gọn và chính xác.
 Hỗ trợ chức năng đăng ký phiếu đặt chỗ, bán vé cho khách hàng và lập
báo cáo doanh thu theo tháng và năm.
 Hỗ trợ chức năng đặt vé trực tuyến cho khách hàng.
 Hỗ trợ in ấn, xuất file lưu trữ.
 Hỗ trợ các thao tác tự động cập nhật hệ thống định kỳ nhằm phát hiện ra
những phiếu đặt chỗ đã/sắp hết hạn và yêu cầu người sử dụng xử lý.
3. Yêu cầu phi chức năng
 Xây dựng một hệ thống đảm bảo tính bảo mật cao đảm bảo độ tin cậy
của thông tin.
 Cập nhật thông tin chính xác, nhanh chóng và kịp thời thông qua các
chức năng tự động.
 Đáp ứng được yêu cầu tiến hóa của chương trình, phục vụ việc bảo trì.

II. Phân tích mô hình nghiệp vụ.

1. Các quy trình nghiệp vụ chính.


Quản Lý Bán Vé Máy Bay

a. Thêm mới tuyến bay:

Hỗ trợ người dùng thêm tuyến bay mới. Tuyến bay thường cố định trong khoảng thời gian
dài. Đôi khi, hãng hàng không có nhu cầu mở thêm tuyến bay mới không có trong CSDL
chức năng thêm tuyến bay sẽ giải quyết vấn đề này.

b. Thêm mới lịch chuyến bay:

Mỗi một tuyến bay có thể có một hoặc nhiều chuyến bay. Lựa chọn các tuyến bay đã được
lập sẵn, chọn máy bay sẽ bay cho tuyến này, cung cấp thông tin về thời gian bay, thời gian
đến (dự kiến), đơn giá, danh sách sân bay trung gian và các chi tiết kèm theo (thời gian
dừng, ghi chú)… lập thành một chuyến bay mới cho tuyến bay đã chọn. Chuyến bay được
xác định bởi tuyến bay và máy bay bay cho chuyến bay.

c. Lập phiếu đặt chỗ cho hành khách:

Hành khách có thể đăng kí thông tin cho phiếu đặt chỗ của mình: thông tin về chuyến bay
mà hành khách muốn bay, họ tên, chứng minh nhân dân, số điện thoại, hạng vé muốn đăng
ký,…. Nếu hành khách đã tồn tại trong CSDL, chương trình sẽ tự động lấy thông tin của
hành khách, nếu không hành khách có tùy chọn ghi thông tin của mình vào CSDL.

Quy trình này giải quyết cho khách hàng có thể đăng ký đặt vé cho chuyến bay với điều
kiện là ngày đặt phải trước ngày khởi hành theo đúng như qui định đặt ra. Ngoài ra, việc
đặt chỗ có thể sẽ được hủy theo yêu cầu của khách hàng nếu có việc đột xuất không thể đi
được (phù hợp với qui định thời gian hủy vé), hoặc bị hủy tự động nếu không có thông tin
mua vé từ hành khách theo quy định.

d. Bán vé cho hành khách:


Chức năng này tương tự chức năng đặt chỗ trước. Tuy nhiên hành khách phải trả
tiền và không hoàn lại tiền nếu hành khách không đi được.
e. Tra cứu:
- Chi tiết chuyến bay: Khách hàng và nhân viên bán vé có thể tra cứu và
cập nhật thông tin mới nhất về thông tin các chuyến bay hoạt động: ngày
giờ khởi hành, ngày đến nơi, tên tuyến bay…
- Chi tiết về các phiếu đặt chỗ, các vé đã bán.
f. Báo cáo doanh thu:
- Doanh thu tháng: Nhân viên cập nhật tình trạng bán vé qua hệ thống từ
đó chương trình sẽ hỗ trợ việc thống kê doanh thu, số lượng vé bán ra, tỉ

Trang 2
Quản Lý Bán Vé Máy Bay

lệ doanh thu của từng chuyến bay so với tổng doanh thu tháng. Hỗ trợ
report ra file excel, word, pdf… và in ấn.
- Doanh thu năm: Nhân viên cập nhật tình trạng bán vé qua hệ thống từ đó
chương trình sẽ hỗ trợ việc thống kê doanh thu, số lượng chuyến bay theo
từng tháng, tỉ lệ doanh thu của từng tháng so với tổng doanh thu năm. Hỗ
trợ report ra file excel, word, pdf… và in ấn.
g. Cập nhật và thay đổi quy định:

Nhân viên quản trị hệ thống thực hiện chức năng cập nhật lại tình trạng các sân bay, thông
tin tuyến bay thêm mới hoặc sửa chữa bổ sung, các chuyến bay mới mở.

Ngoài ra, nhân viên quản trị còn thực hiện chức năng cập thay đổi về thời gian bay, thời
gian chậm nhất khi đặt chỗ, thời gian hủy vé đặt, thời gian dừng tối đa/tối thiểu tại sân bay
trung gian, thay đổi về tỉ lệ hạng vé.

h. Chức năng quản trị:


Chức năng này chỉ dành riêng cho phân quyền Admin. Người quản trị (Admin) có
phân quyền cao nhất, có thể xóa hoặc tạo mới user với phân quyền cụ thể. Có thể
tạo ra những phân quyền mới.

Trang 3
Quản Lý Bán Vé Máy Bay

2. Mô hình ERD.

III. Phân tích mô hình quan niệm xử lý (DFD).

1. DFD cấp 0.
[Ket Qua]

1
Quan Ly

[T hong Tin Quan Ly]

[Thong T in Tra Cuu]

2
Nguoi Dung
Tra Cuu
[Ket Qua]

[Thong Tin Thong Ke]

[Ket Qua]

Ta có thể phân loại các chức năng của chương trình ra làm 3 nhóm
Thong Ke

- Nhóm chức năng quản lý.


- Nhóm chức năng thống kê.
- Nhóm chức năng tra cứu.

2. DFD cấp 1.
Trang 4
Quản Lý Bán Vé Máy Bay

a. Nhóm chức năng quản lý:

1.8
Quản lý người dùng

[Thông báo kết quả]

1.4
Thay Doi Quy Dinh 1 [Ket Qua Thay Doi]

1.5
[Thong Tin Nguoi Dung] 1.2
Thay Doi Quy Dinh 2
Ban Ve Chuyen Bay
[T hong Bao Ket Qua]
[Thong Tin Sua Doi]
[Ket Qua Thay Doi]

[Thong Bao Ket Qua] [Thong Tin Sua Doi] Nguoi Dung [Thong Tin Khach Hang, Chuyen Bay]
[Thong Tin Sua Doi]
[Thong Tin Khach Hang, Chuyen Bay]

[Thong Tin Chuyen Bay]


[Thông tin tuyến bay] 1.3
1.6
Dat Cho T ruoc
Thay Doi Quy Dinh 3
[Thong Bao Ket Qua]

[Thong Bao Ket Qua]

[T hông báo kết quả]

1.1
Lap Lich Chuyen Bay
1.7
Lap lich tuyen bay

o Lập tuyến bay.


o Lập lịch chuyến bay.
o Bán vé.
o Lập phiếu đặt chỗ.
o Thay đổi các quy định (chia ra các quy định 1, 2, 3).
o Chức năng quản lý người dùng (quyến quản trị đối với Admin, và
thay đổi mật khẫu người dùng đối 3.1
với các phân quyềnkhác).
Doanh Thu Thang
b. Nhóm chức năng thống kê:
[Thang, Nam]
[Chuyen Bay + So Ve + Doanh Thu + Ti Le]

Nguoi Dung

[Nam + Thang + So Chuyen Bay + Doanh Thu + Trang 5


Ti Le]
[Nam]
3.2
Doanh Thu Nam
Quản Lý Bán Vé Máy Bay

o Báo cáo doanh thu theo tháng.


o Báo cáo doanh thu theo năm.

Trang 6
Quản Lý Bán Vé Máy Bay

c. Nhóm chức năng tra cứu:


2.18
Tra cứu chuyến bay

Nguoi Dung

2.19
Tra cứu phiếu đặt chỗ
2.20
Tra cứu vé đã bán

o Tra cứu chuyến bay.


o Tra cứu phiếu đặt chỗ.
o Tra cứu các vé đã bán.

3. DFD cấp 2.

Chức năng quản lý:


a. Chức năng lập lịch tuyến bay: 10 TuyenBay

1.7.1
[SanBayDen, San Bay Di]
Kiem Tra San Bay Den San Bay Di

Nguoi Dung [Thông báo kết quả]

1 San Bay
Người dùng điền thông in về tên tuyến bay, chọn sân bay đi, sân bay đến có. Sau khi
chọn chương trình phải đảm bảo rằng sân bay đi và sân bay đến không trùng nhau.

Trang 7
Quản Lý Bán Vé Máy Bay

Mã tuyến bay được phát sinh tự động. Sau khi dữ liệu được kiểm tra hợp lệ tuyến
bay sẽ được lưu xuống bản tuyến bay.

d. Chức năng lập lịch chuyến bay:

13 May Bay

1.1.1.7
Kiem Tra May Bay [THông tin máy bay, số lượng ghế các hạng
...]

10 TuyenBay

1.1.1.1
Kiểm Tra Sân Bay

1 San Bay 1.1.1.5


[San Bay Trung Gian, TuyenBay] [Thong Tin Chuyen Bay]
Cap Nhat So Luong Ghe Trong Cac Hang Ve,
Giam SL May Bay

6 San Bay Trung Gian


[Thông tin máy bay]

1.1.1.2 [Tuyen Bay]


Kiem Tra So Luong San Bay Trung Gian Toi
Da, Thoi Gian Dung
[TuyenBay, San Bay Trung Gian, Thoi Gian
Dung]

Nguoi Dung

1.1.3
1.1.1.3 [Thoi Gian Bay]
[Thoi Gian Bay] Luu Tru Va Thong Bao
Kiem Tra Thoi Gian Bay (Lap Lich Chuyen Bay)

5 Tham So

[Ngay Gio Khoi Hanh, Ghi Chu]

[Ngay Gio Khoi Hanh, Ghi Chu]


1.1.1.6
Kiem Tra Hop Le Du Lieu

Lập chuyến bay cho các tuyến bay. Người dùng chọn tuyến bay, máy bay, giờ khởi
hành, giờ đến nơi( dự định), đơn giá cho chuyến bay. Lập danh sách sân bay trung

Trang 8
Quản Lý Bán Vé Máy Bay

gian nếu cần. Thông qua thao tác kiểm tra ta có được chuyến bay hợp lệ và lưu
xuống CSDL.

e. Chức năng đặt chỗ:

[Mã chuyến bay, Sân bay đi, Sân bay đến,


Ngày - Giờ khởi hành, Thời gian ]
1.1.1
Kiem Tra...

[Mã chuyến bay, Sân bay đi, Sân bay đến,


Ngày - Giờ khởi hành, Thời gian ]

Nguoi Dung
1.1.3
[Thong Bao Cho Nguoi Dung]
Luu Tru Va Thong
Bao

7 Chuyen Bay

Trang 9
Quản Lý Bán Vé Máy Bay

3 Khach Hang

4 Dat Cho
1.3.1
Kiem Tra Khach Hang2
[Thong Tin Khach Hang]

[Thong Tin Khach Hang]

7 Chuyen Bay
1.3.7
1.3.2 [Thong Tin Ve Dat Cho]
Luu Tru Va Thong Bao Dat Cho
Kiem Tra Chuyen Bay2
Nguoi Dung [Chuyen Bay] 1.3.6
[Thong Tin Chuyen Bay] Cap Nhat So Luong Ghe Trong Cho Chuyen
Bay
8 Hang Ve [Don Gia Chuyen Bay]

[Hang Ve]

1.3.3
Kiem Tra Hang Ve2
[Ngay Dat Cho]

[Hang Ve, Ti Le]


[Thong Bao Ket Qua]

1.3.4 [Hang Ve, Gia Tien]


Tinh Tien2

1.3.5 [Ngay Dat Cho, Ngay Huy Dat Cho]


Tinh Toan Ngay Huy Dat Cho

5 Tham So

Đặt chỗ trước yêu cầu người dùng nhập tên hoặc lựa chọn tên của mình nếu có
trong CSDL. Lựa chọn chuyến bay muốn đi, lựa chọn hạng vé muốn đi. Chương
trình sẽ tự động kiểm tra và tính toán tự động ngày hủy đặt chỗ dựa vào quy định và
ngày khởi hành của chuyến bay. Sau khi dữ liệu đã phù hợp chương trình tiến hành
lưu xuống CSDL.

f. Chức năng bán vé:

Trang 10
Quản Lý Bán Vé Máy Bay

3 Khach Hang

1.2.1
Kiem Tra Khach Hang
[Thong Tin Khach Hang]
2 Ban Ve
7 Chuyen Bay

[Thong Tin Khach Hang]


1.2.2 1.2.5
[Thong Tin Chuyen Bay] [Thong Tin Ve] 1.2.6
Kiem Tra Chuyen Bay Cap Nhat So Luong Ghe Trong
Luu Tru va Thong Bao Ban Ve

Nguoi Dung [Chuyen Bay]


[Don Gia Chuyen Bay]
8 Hang Ve

[Hang Ve]

1.2.3
Kiem Tra Hang Ve

[Hang Ve, Ti Le]


[Thong Bao Ket Qua]

1.2.4 [Hang Ve, Gia Tien]


Tương tự chức năng bán vé. Tinh
NgườiTien dùng nhập thông tin hành khách và thông tin vé.

g. Thay đổi quy định 1:

Trang 11
Quản Lý Bán Vé Máy Bay
[So Luong San Bay Trung Gian T oi Da]
Nguoi Dung
[Thoi Gian Dung Toi Thieu]

[Ket Qua]
[Thoi Gian Dung T oi Da]

1.4.3
Thay Doi Thoi Gian Dung Toi Thieu [Ket Qua]

1.4.4 [Ket Qua]


T hay Doi Thoi Gian Dung Toi Da
1.4.2
T hay Doi So San Bay Trung Gian Toi Da

Phân rã chức năng thay đổi thời gian dừng tối thiểu:

1.4.3.1 [Thoi Gian Dung Toi Thieu Moi]


Kiem Tra Thoi Gian Dung Toi Thieu

1.4.3.3
So Sanh

[Thoi Gian Dung Toi Thieu Moi]

[Thoi Gian Dung Toi Thieu Moi]

Nguoi Dung

1.4.3.2

[Ket Qua Thay Doi] Cap Nhat Thoi Gian


Dung Toi Thieu 5 Tham So

Phân rã chức năng thay đổi thời gian dừng tối đa:

Trang 12
Quản Lý Bán Vé Máy Bay

1.4.4.1 [Thoi Gian Dung Toi Da Moi]


Kiem Tra Thoi Gian Dung Toi Da

[Thoi Gian Dung Toi Da Moi]

1.4.4.2
Nguoi Dung So Sanh Thoi Gian Dung Toi Da

[Thong Bao Ket Qua]

1.4.4.3
Cap Nhat Thoi Gian Dung Toi Da

5 Tham So

Phân rã chức năng thay đổi số lượng sân bay trung gian tối đa:

1.4.2.1
Kiem Tra Hop Le So Luong San Bay Trung
Gian T oi Da
[So San Bay Trung Gian Toi Da Moi]
[So San Bay Trung Gian Toi Da Moi]

[So San Bay Trung Gian Toi Da Moi]

1.4.2.2
Nguoi Dung
[Thong Bao Ket Qua] So Sanh So Luong San Bay Trung Gian T oi
Da

1.4.2.3
Cap Nhat So Luong San Bay Trung Gian Toi
Da

1.5.2.1
h. Thay đổi quy định 2:
Kiem Tra Don Gia Moi
5 Tham So

Thay đổi tỷ [Don Gia Moi] lệ hạng vé

[Don Gia Moi] 1.5.2.2


So Sanh Don Gia

Nguoi Dung
[Don Gia Moi]

[Thong Bao Ket Qua] Trang 13


1.5.2.3
Cap Nhat Don Gia

8 Hang Ve
Quản Lý Bán Vé Máy Bay

i. Thay đổi quy định 3:

Thay đổi quy định về thời gian chậm nhất khi đặt vé, thay đổi thời gian hủy đặt vé.

[Thoi Gian Huy Dat Ve Moi]


Nguoi Dung
[Thoi Gian Cham Nhat Khi Dat Ve Moi]

[Thong Bao Ket Qua]

1.6.1
Thay Doi Thoi Gian Cham Nhat Khi Dat Ve
1.6.2
[Thong Bao Ket Qua]
Thay Doi T hoi Gian Huy Dat Ve

Phân rã chức năng thay đổi thời gian chậm nhất khi đặt vé:

1.6.1.1
Kiem Tra Thoi Gian Cham Nhat Khi Dat Ve

[Thoi Gian Cham Nhat Khi Dat Ve Moi]


[T hoi Gian Cham Nhat Khi Dat Ve Moi]

Nguoi Dung
1.6.1.2
So Sanh Thoi Gian Cham Nhat Khi Dat Ve

1.6.1.3 [Thoi Gian Cham Nhat Khi Dat Ve Moi]

Cap Nhat Thoi Gian Cham Nhat Khi Dat Ve Trang 14

5 Tham So
Quản Lý Bán Vé Máy Bay

Phân rã chức năng thay đổi thời gian hủy đặt vé:

1.6.2.1
Kiem Tra Thoi Gian Huy Dat Ve

[Thoi Gian Huy Dat Ve Moi]


[Thoi Gian Huy Dat Ve Moi]

1.6.2.2
Nguoi Dung
[Thoi Gian Huy DatSo
VeSanh
Moi] Thoi Gian Huy Dat Ve

1.6.2.3
[Thong Bao Ket Qua]
Cap Nhat Thoi Gian Huy Dat Ve

j. Chức năng quản lý người dùng: 5 Tham So

Thay đổi password đối với phân quyền bình thường. Nếu là phân quyền Admin,
thêm các chức năng tạo/xóa user, tạo/xóa phân quyền.

1.8.2
[Thông tin người dùng]
THực hiện các quyền (thay đổi mật khẩu,..
1.8.1 ., thay đổi hệ thống)
Phân loại người dùng
[Thông báo kết quả]

[Thông tin người dùng]

11 Phan Quyen
12 Nguoi Dung
Nguoi Dung

Trang 15
Quản Lý Bán Vé Máy Bay

Chức năng thống kê:

3.1
Doanh Thu Thang

[Thang, Nam] [Chuyen Bay + So Ve + Doanh Thu + Ti Le]

Nguoi Dung

[Nam + Thang + So Chuyen Bay + Doanh Thu +


Ti Le]
[Nam]
3.2
Doanh Thu Nam

k. Báo cáo tháng:

Nguoi Dung
[Thang Nam]

[Chuyen Bay + So Ve + Doanh Thu + Ti Le]

3.1.12
Tinh Ti Le Tung Chuyen Bay
[Tong Doanh Thu Cua Thang]

3.1.11
Doanh Thu Tong Cong

[Thong Tin Ve Ban Trong Thang]

3.1.10
Tinh So Luong Ve va Doanh Thu

8 Hang Ve
2 Ban Ve 7 Chuyen Bay

Trang 16
Quản Lý Bán Vé Máy Bay

l. Báo cáo năm:

[Nam] Nguoi Dung

[Nam + Thang + So Chuyen Bay + Doanh T hu +


Ti Le]
3.2.6 [Tong Doanh THu] 3.2.8
Tong Doanh Thu Cua Nam Tinh Ti Le Doanh Thu Tung Thang

m. Chức năng tra cứu:


2.18
Tra cứu chuyến bay

Nguoi Dung

2.18.15
Tra Cuu Theo Ngay Khoi
[Ngay Khoi Hanh] Hanh2
2.19
Tra cứu vé đã bán
2.20 [San Bay Den San Bay DI]
Nguoi Dung
Tra cứu phiếu đặt [DS Chuyen Bay Theo Ngay Khoi Hanh]
chỗ

[Ten Chuyen Bay]


[DS Chuyen Bay Tim Theo San Bay Den San
Bay Di]

n. Tra cứu chuyến bay:


[DS Chuyen Bay Theo T en]
2.18.16
Tra Cuu Theo May Bay2
2.18.17
Tra Cuu Theo Ten Tuyen Bay2

Trang 17

10 TuyenBay
13 May Bay

7 Chuyen Bay
Quản Lý Bán Vé Máy Bay

o. Tra cứu phiếu đặt:


[Ngay Khoi Hanh]

[Máy Bay] Nguoi Dung 2.20.12


[DS PHiếu đặt chổ theo ngày] Tra Cuu Theo Ngay Dat Ve

[Ten tuyen Bay]

[DS Phiếu đặt chỗ theo máy bay]

[DS phiếu đặt chỗ theo tên tuyến bay]


2.20.13
Tra Cuu Theo May Bay 2.20.14
Tra Cuu Theo Ten Tuyen Bay

10 TuyenBay

13 May Bay

7 Chuyen Bay

Trang 18
Quản Lý Bán Vé Máy Bay

p. Tra cứu vé:

[Ngay Khoi Hanh] 2.19.12


[DS vé theo Máy bay]
Tra Cuu Theo Ngay Khoi Hanh
Nguoi Dung [DS Vé theo ngày khởi hành]

[Ten Chuyen Bay]

[Máy bay]

[DS vé theo tên tuyến bay.]


2.19.13
Tra Cuu Theo May Bay1
2.19.14
Tra Cuu Theo Ten Tuyen Bay1

10 TuyenBay
13 May Bay

7 Chuyen Bay

Trang 19
Quản Lý Bán Vé Máy Bay

IV. Thiết kế mô hình dữ liệu.

1. Sơ đồ CDM.
PHANQUYEN
NGUOIDUNG_PHANQUYEN MaPhanQuyen <pi> Characters (4) <M>
NGUOIDUNG
MieuTaPhanQuyen Characters (200)
MaNguoiDung <pi> Characters (50) <M> LapLichTuyenBay Boolean <M>
MatKhau Characters (32) <M> LapChuyenBay Boolean <M>
GhiChuNguoiDung Characters (200) BanVe Boolean <M>
Identifier_1 <pi> DatCho Boolean <M>
... ThayDoiQuyDinh1 Boolean <M>
ThayDoiQuyDinh2 Boolean <M>
ThayDoiQuyDinh3 Boolean <M>
LapBaoCaoThang Boolean <M>
LapBaoCaoNam Boolean <M>
TraCuu Boolean <M>
TaoVaXoaUser Boolean <M>
SANBAYTRUNGGIAN Identifier_1 <pi>
ThoiGianDung Short integer <M> ...
GhiChuSanBayTrungGian Characters (200)
SANBAY_CHUYENBAY1

THAMSO
SANBAY
SanBayDen ID <pi> Integer <M>
MaSanBay <pi> Characters (5) <M> SLSanBayTrungGianToiDa Short integer
TenSanBay Characters (100) TGDungToiDa Integer
MAYBAY MaSanBay <pi> TGDungToiThieu Integer
MaMayBay <pi> Characters (5) <M> ... TGChamNhatKhiDatVe Short integer
TenMayBay Characters (50) <M> NGUOIDUNG TGHuyDatCho Short integer
SanBayDi PHANQUYEN
MieuTaMayBay Characters (200) TGBayToiThieu Short integer
MaPhanQuyen char(4)
SANBAY_CHUYENBAY <pk,fk> MaPhanQuyen char(4) <pk>
MaMayBay <pi> Identifier_1 <pi>
MaNguoiDung char(50) <pk>
...
MieuTaPhanQuyen char(200)
...
MatKhau char(32) LapLichTuyenBay bit
GhiChuNguoiDung char(200) LapChuyenBay bit
...
BanVe bit
DatCho bit
TUYENBAY
ThayDoiQuyDinh1 bit
MaTuyenBay <pi> Characters (7) <M>
ThayDoiQuyDinh2 bit
CHUYENBAY ChuyenBay_TuyenBay TenTuyenBay Characters (100)
ThayDoiQuyDinh3 bit
SANBAYTRUNGGIAN NgayKhoiHanh Date LapBaoCaoThang
DonGia Long integer bit
MaMayBay ThoiGianBay char(5)Short <pk,fk1>
integer MaTuyenBay <pi> LapBaoCaoNam bit
MaTuyenBay ThoiGianDen char(7)Short <pk,fk1>
integer TraCuu bit
MayBay_ChuyenBay
MaSanBay SLGheHang1 char(5)Short <pk,fk2>
integer TaoVaXoaUser bit
ThoiGianDung SLGheHang2 smallintShort integer ...
SLGheTrongHang1
GhiChuSanBayTrungGian Short integer
char(200)
... SLGheTrongHang2 Short integer THAMSO
Di SLSanBayTrungGian Short integer SANBAY
Lua Chon
ID int <pk>
DaBay Boolean MaSanBay char(5) <pk> SLSanBayTrungGianToiDa smallint
TenSanBay char(100) TGDungToiDa int
MAYBAY TGDungToiThieu int
MaMayBay char(5) <pk> TGChamNhatKhiDatVe smallint
TenMayBay char(50) TGHuyDatCho smallint
MieuTaMayBay char(200) TGBayToiThieu smallint
... ...

HANHKHACH
DATCHO CHUYENBAY
MaHanhKhach <pi> Characters (7) <M>
NgayLap Date & Time
Dat MaMayBay char(5) <pk,fk1>Mua BANVE
HoTen Characters (100)
NgayHuy Date & Time MaTuyenBay char(7) <pk,fk2>
CMND Characters (9) NgayBanVe Date & Time
DonGia bigint TUYENBAY
DienThoai Characters (15)
ThoiGianBay smallint MaTuyenBay char(7) <pk>
Identifier_1 <pi>
ThoiGianDen
... smallint MaSanBay char(5) <fk2>
2. Sơ đồ PDM. SLGheHang1
SLGheHang2
smallint
smallint
SAN_MaSanBay
TenTuyenBay
char(5)
char(100)
<fk1>

SLGheTrongHang1 smallint NgayKhoiHanh datetime


SLGheTrongHang2 smallint ...
SLSanBayTrungGian HANGVE
smallint
DaBay bit
Chon ... HangVe <pi> Byte <M>
HeSo Float Muon Di

Identifier_1 <pi>
...
DATCHO BANVE
MaHanhKhach char(7) <pk,fk1> HANHKHACH MaMayBay char(5) <pk,fk1>
MaMayBay char(5) <pk,fk2> MaHanhKhach char(7) <pk> MaTuyenBay char(7) <pk,fk1>
MaTuyenBay char(7) <pk,fk2> HoTen char(100) MaHanhKhach char(7) <pk,fk2>
HangVe tinyint <pk,fk3> CMND char(9) HangVe tinyint <pk,fk3> Trang 20
NgayLap datetime DienThoai char(15) NgayBanVe datetime
NgayHuy datetime ... ...
...

HANGVE
HangVe tinyint <pk>
HeSo float
Quản Lý Bán Vé Máy Bay

3. Danh sách các bảng dữ liệu và miêu tả.


a. Bảng tham số (THAMSO)
Chứa thông tin về các quy định, gồm: Thời gian bay tối thiểu trong một chuyến bay,
Số lượng sân bay trung gian tối đa, Thời gian dừng tối đa, Thời gian dừng tối thiểu,
Thời gian chậm nhất khi đặt vé.

Kiểu dữ Diễn
STT Thuộc tính
liệu giải
Quy định
thời gian
bay tối
1 TGBayToiThieu int
thiểu của
một chuyến
bay.
Trang 21
Quản Lý Bán Vé Máy Bay

Quy định
số lượng
sân bay
2 SLSanBayTrungGianToiDa tinyint trung gian
tối đa trong
mỗi chuyến
bay.
Quy định
thời gian
dừng tối đa
3 TGDungToiDa int
tại các sân
bay trung
gian.
Quy định
thời gian
dừng tối
4 TGDungToiThieu int
thiểu tại
các sân bay
trung gian.
Quy định
số ngày
cách ngày
khởi hành
5 TGChamNhatKhiDatVe smallint
mà hành
khách còn
có thể đặt
vé.
Quy định
số ngày
cách ngày
khởi hành
mà phiếu
đặt trước
6 TGHuyDatCho smallint
còn tồn tại,
nếu qua
ngày này
các phiếu
đặt sẽ bị
hủy.

Trang 22
Quản Lý Bán Vé Máy Bay

b. Bảng Sân bay (SANBAY)


Lưu danh sách các sân bay. Bao gồm các thuộc tính: Mã sân bay, Tên sân bay.

STT Thuộc tính Kiểu dữ liệu Diễn giải


Là khóa
chính
dùng xác
định duy
nhất 1
1 MaSanBay char(5)
sân bay.
Phân biệt
với các
sân bay
khác.
Cho biết
2 TenSanBay nvarchar(100) tên của
sân bay.

c. Bảng Tuyến bay (TUYENBAY)

Diễn
STT Thuộc tính Kiểu dữ liệu
giải
Là khóa
chính dùng
xác định
duy nhất 1
1 MaTuyenBay Char(7) tuyến bay.
Phân biệt
với các
tuyến bay
khác.
2 MaSanBayDi Char(5) Là khóa
ngoại tham
chiếu tới
bảng sân

Trang 23
Quản Lý Bán Vé Máy Bay

bay.
Là khóa
ngoại tham
3 MaSAnBayDen Char(5) chiếu tới
bảng sân
bay.
Cho biết tên
2 TenTuyenBay nvarchar(100)
của sân bay.

d. Bảng Chuyến bay (CHUYENBAY)


Chứa thông tin đầy đủ của một chuyến bay. Bảng bao gồm: Mã máy bay, Mã Tuyến
bay , Thời gian bay, Thời gian đến, Số lượng ghế trống hạng 1, Số lượng ghế trống
hạng 2, Đã Bay

Diễ
Kiểu dữ
STT Thuộc tính n
liệu
giải
Máy bay,
1 MaMayBay char(5)
khóa ngoại
Tuyến bay,
2 MaTuyenBay char(7)
khóa ngoại
Đơn giá
3 DonGia Bigint của chuyến
bay
Là thời
gian khởi
4 ThoiGianBay Datetime
hành của
chuyến bay
Thời gian
dự định hạ
5 ThoiGianDen Datetime
cánh tại sân
bay đích
Là số
lượng ghế
hạng 1 còn
6 SLGheTrongHang1 smallint
trống của
chuyến
bay.
7 SLGheTrongHang2 smallint Là số
lượng ghế
hạng 2 còn
Trang 24
Quản Lý Bán Vé Máy Bay

trống của
chuyến
bay.
8 SLSanBayTrungGian Smallint
Ấn
định
chu
yến
bay
9 DaBay Bit
này
đã
bay
chư
a.

e. Bảng Sân bay trung gian (SANBAYTRUNGGIAN)

Là cầu nối quan hệ giữa bảng SANBAY và bảng CHUYENBAY. Bảng bao gồm
các thuộc tính: Mã sân bay trung gian, Mã chuyến bay, Thời gian dừng và Ghi chú.

Kiểu dữ
STT Thuộc tính Diễn giải
liệu
Là khóa ngoại
tham chiếu tới
bảng SANBAY.
1 MaSanBay char(5)
Cho biết sân bay
trung gian nào
trong chuyến bay.
Là khóa ngoại
tham chiếu tới
2 MaTuyenBay char(7)
bảng
CHUYENBAY.
3 MaMayBay Char(5) Máy bay
Cho biết thời gian
dừng của chuyến
4 ThoiGianDung smallint
bay tại sân bay
trung gian.
Cho biết những
5 GhiChu text lưu ý, những chi
tiết phụ thêm…

Trang 25
Quản Lý Bán Vé Máy Bay

f. Bảng Hành Khách (HANHKHACH)


Là bảng dữ liệu lưu trữ thông tin của các Hành Khách. Bảng bao gồm các thuộc
tính: Mã hành khách, Họ tên, CNMD, Điện thoại.

Diễn
STT Thuộc tính Kiểu dữ liệu
giải
Là khóa
chính dùng
để phân biệt
1 MaHanhKhach char(7)
từng hành
khách trong
bảng.
Cho biết họ
tên đầy đủ
2 HoTen nvarchar(100)
của hành
khách.
Cho biết số
giấy CMND
3 CMND char(9)
của hành
khách.
Cho biết số
điện thoại
4 DienThoai varchar(15)
của hành
khách.
Địa chỉ của
5 Đia chỉ Nvarchar(200)
hành khách

g. Bảng Hạng Vé (HANGVE)

Là bảng dữ liệu lưu trữ thông tin của các loại vé. Bảng bao gồm các thuộc tính:
Hạng vé, Giá tiền.

STT Thuộc Kiểu dữ Diễn giải


Trang 26
Quản Lý Bán Vé Máy Bay

tính liệu
Là khóa
chính dùng
1 HangVe tinyint để phân biệt
với các hạng
vé khác.
Cho biết hệ
số khi tính
tiền của
Hạng vé
tương ứng.
2 HeSo Float
Cụ thể vé
hạng 1 có hệ
số 1.05, vé
hạng 2 có hệ
số 1.

h. Bảng Bán Vé (BANVE)

Là cầu nối quan hệ giữa bảng CHUYENBAY và bảng HANHKHACH trên hành
động xác định là đã mua vé. Bảng bao gồm các thuộc tính: Mã hành khách, Mã
chuyến bay, Hạng vé.

Kiểu dữ
STT Thuộc tính Diễn giải
liệu
Là khóa ngoại
tham chiếu tới
1 MaHanhKhach char(7)
bảng
HANHKHACH.
Là khóa ngoại
tham chiếu thới
2 MaTuyenBay char(7)
bảng
CHUYENBAY.
3 MaMayBay Char(5) Máy bay
Là khóa ngoại
4 HangVe Tinyint tham chiếu tới
bảng HANGVE.
5 NgayBanVe Datetime Ngày bán vé

Trang 27
Quản Lý Bán Vé Máy Bay

i. Bảng Đặt Chỗ (DATCHO)


Là cầu nối quan hệ giữa bảng CHUYENBAY và bảng HANHKHACH trên hành
động xác định là đặt chỗ trước. Bảng bao gồm các thuộc tính: Mã hành khách, Mã
chuyến bay, Hạng vé, Ngày lập, Ngày hủy.

ST Diễn
Thuộc tính Kiểu dữ liệu
T giải
Là khóa
ngoại tham
MaHanhKhac chiếu tới
1 char(7)
h bảng
HANHKHA
CH.
Là khóa
ngoại tham
chiếu tới
2 MaTuyenBay char(7)
bảng
CHUYENBA
Y.
3 MaMayBay Char(5) Máy bay
Là khóa
ngoại tham
3 HangVe tinyint chiếu tới
bảng
HANGVE.
Cho biết ngày
smalldatetim
4 NgayLap phiếu đặt chỗ
e
được lập.
Cho biết ngày
hủy phiếu,
smalldatetim dựa trên ngày
5 NgayHuy
e khởi hành
của chuyến
bay.

j. Bản người dùng (NGUOIDUNG)

Trang 28
Quản Lý Bán Vé Máy Bay

ST
Thuộc tính Kiểu dữ liệu Diễn giải
T
MaNguoiDu
1 Char(50) Khóa chính
ng
Là khóa
ngoại tham
MaPhanQuy chiếu thới
2 Char(4)
en bảng
PHANQU
YEN.
3 MatKhau Char(32) Mật khẫu
Nvarchar(20
4 GhiChu Ghi chú
0)

k. Bản phân quyền(PHANQUYEN)

D
iễ
ST
Thuộc tính Kiểu dữ liệu n
T
gi
ải
Khóa
1 MaPhanQuyen Char(4)
chính
Miêu tả
ngắn
Nvarchar(200
2 MieuTaPhanQuyen gọn về
)
phân
quyền
Ấn định
xem có
cho sử
dụng
3 LapLichTuyenBay Boolean
chức
năng
này
không.
4 LapLichChuyenBa Boolean Ấn định
y xem có
cho sử
dụng
Trang 29
Quản Lý Bán Vé Máy Bay

chức
năng
này
không.
Ấn định
xem có
cho sử
dụng
5 BanVe Boolean
chức
năng
này
không.
Ấn định
xem có
cho sử
dụng
6 DatCho Boolean
chức
năng
này
không.
Ấn định
xem có
cho sử
dụng
7 ThayDoiQuyDinh1 Boolean
chức
năng
này
không.
Ấn định
xem có
cho sử
dụng
8 ThayDoiQuyDinh2 Boolean
chức
năng
này
không.
Ấn định
xem có
cho sử
9 ThayDoiQuyDinh3 Boolean
dụng
chức
năng
Trang 30
Quản Lý Bán Vé Máy Bay

này
không.
Ấn định
xem có
cho sử
dụng
10 LapBaoCaoThang Boolean
chức
năng
này
không.
Ấn định
xem có
cho sử
dụng
11 LapBaoCaoNam Boolean
chức
năng
này
không.
Ấn định
xem có
cho sử
dụng
12 TraCuu Boolean
chức
năng
này
không.
Ấn định
xem có
cho sử
dụng
13 TaoVaXoaUser Boolean
chức
năng
này
không.

V. Thiết kế giao diện.

1. Giao diện quản lý


a. Sơ đồ màn hình.

Trang 31
Quản Lý Bán Vé Máy Bay

q. Màn hình đăng nhập người dùng.

Trang 32
Quản Lý Bán Vé Máy Bay

r. Màn hình chính.

Trang 33
Quản Lý Bán Vé Máy Bay

s. Màn hình thông tin người dùng

t. Màn hình tạo người dùng mới.

Trang 34
Quản Lý Bán Vé Máy Bay

u. Màn hình tạo phân quyền mới.

v. Màn hình chính.

Trang 35
Quản Lý Bán Vé Máy Bay

w. Màn hình quản lý tuyến bay:

Trang 36
Quản Lý Bán Vé Máy Bay

x. Màn hình Lập lịch chuyến bay.

Trang 37
Quản Lý Bán Vé Máy Bay

y. Màn hình Bán Vé chuyến bay

Trang 38
Quản Lý Bán Vé Máy Bay

z. Màn hình đặt chỗ trước

Trang 39
Quản Lý Bán Vé Máy Bay

aa.Màn hình in vé máy bay

ab.Màn hình thay đổi quy định 1

Trang 40
Quản Lý Bán Vé Máy Bay

ac. Màn hình thay đổi quy định 2

ad.Màn hình thay đổi quy định 3

Trang 41
Quản Lý Bán Vé Máy Bay

Trang 42
Quản Lý Bán Vé Máy Bay

ae.Màn hình lựa chọn báo cáo:

Danh sách các đối tượng thể hiện:

Trang 43
Quản Lý Bán Vé Máy Bay

af. Màn hình báo cáo doanh thu năm:

Trang 44
Quản Lý Bán Vé Máy Bay

ag.Màn hình báo cáo doanh thu tháng:

ah.Màn hình tra cứu


Trang 45
Quản Lý Bán Vé Máy Bay

2. Giao diện trực tuyến


a. Thông tin khách hàng

ai. Tìm danh sách hành khách

Trang 46
Quản Lý Bán Vé Máy Bay

aj. Thông tin vé

Trang 47
Quản Lý Bán Vé Máy Bay

ak.Chọn chuyến bay

Trang 48
Quản Lý Bán Vé Máy Bay

VI. Sơ đồ hoạt động chức năng bán vé trực tuyến

1. Mô hình khái quát nền tảng công nghệ

3. Sơ đồ lớp

Trang 49
Quản Lý Bán Vé Máy Bay

VII. Các công nghệ được sử dụng

1. JavaServer Face(JSF):
- JSF là một phần của JavaEE Standard . JSF là một bộ các thành phần dùng cho việc cho
việc phát triển giao diện (User Interface:UI) trên nền tảng Web Java framework.

Một ứng dụng JSF bao gồm các trang web tích hợp các thành phần của JSF và được cấu
hình trong 2 files: faces-config.xml" và "web.xml

- File “faces-config.xml” định nghĩa:

+ Managed Bean: Các thành phần dữ liệu của ứng dụng JSF – là các lớp java.

Trang 50
Quản Lý Bán Vé Máy Bay

+ Navigation giữa các trang.

+ Data validator: sử dụng cho việc xác thực các giá trị đưa vào.

+ Data Converter: sử dụng cho việc phiên dịch giữa UI và các model.

Managed bean đơn giản là các dùng các đối tượng java(Plain Old Java Objects:POJO) và
được khai báo trong in "faces-config.xml".

4. Enterprise JavaBeans (EJB)


- EJB là các đối tượng hoạt động trong trình chứa EJB của máy chu J2EE. Nó cung cấp các
dịch vụ hổ trợ xử lý giao dịch(transction), phân tán,.. nhằm giúp người phát triển viết các
ứng dụng enterprise hiệu quả hơn và mang tính phân tán. EJB được chia làm 2 loại chính:
Entity Bean và Sesion Bean.

+ Entity Bean được thiết kế nhằm mô hình hóa dữ liệu trong CSDL thành các đối tượng
phân tán, có thể triệu gọi từ xa theo cơ chế RMI-IIOP. Nó ánh xạ 1-1 với dữ liệu trong
database. Entity có thể tự quản lý việc truy xuất CSDL hay giao cho trình chứa quản lý.

+ Session Bean có 2 loại chính là Stateless và Statefull. Các Bean này không thể hiện dữ
liệu, nhưng có thể truy xuất dữ liệu. Theo đề nghị của Sun, các ứng dụng có dùng EJB nên
truy xuất Entity Bean thông qua Session Bean.
- Để gọi một JavaBean, bạn cần cung cấp đầy đủ tên lớp cài đặt. Còn để gọi EJB, bạn phải
thông qua dịch vụ JNDI, bằng cách cung cấp một JNDI name mà người tạo EJB đã đặt khi
triển khai nó.

5. Hibernate
- Hibernate là một thành phần cốt tuỷ của bộ sản phẩm JBoss Enterprise Middleware
System (JEMS). Hibetnate là một thư viện Object Relational Mapping (ORM) cho ngôn
ngữ java. Nó là một framework cho việc mapping một mô hình hướng đối tượng vào trong
CSDL. Hibernate là một thành phần phổ biến để ánh xạ các lớp java vào các bảng CSDL.
Hibernate giúp phát triển các class dùng để lưu trữ dữ liệu theo cách thức rất là hướng đối
tượng: association, inheritance, polymorphism, composition và collections. Hibernate cho
phép bạn thực hiện các câu truy vấn dữ liệu bằng cách sử dụng ngôn ngữ SQL mở rộng của
Hibernate (HQL) hoặc là ngôn ngữ SQL nguyên thuỷ cũng như là sử dụng các API.
Hibernate không ẩn đi sức mạnh của ngôn ngữ SQL khỏi bạn mà nó còn đảm bảo cho việc
đầu tư vào công nghệ và tri thức cơ sở dữ liệu quan hệ là luôn luôn chính xác.

Trang 51
Quản Lý Bán Vé Máy Bay

6. Language Integrated Query (LinQ)


- Linq là ngôn ngữ truy vấn được tích hợp vào ngôn ngữ lập trình. Linq là một thành phần
trong gói .Net của hãng Microsoft. Nó có thể thêm câu hỏi truy vấn dữ liệu vào ngôn
ngữ .net với cấu trúc gần giống với cấu trúc SQL. Nhiều những khái niệm mà LINQ được
giới thiệu trước đấy đã được kiểm tra ở Dự án nghiên cứu CW của hãng Microsoft. LINQ
được phát triển tự do như một phần của gói .NET 3.5.

- LINQ định nghĩa là một tập hợp những toán tử truy vấn có thể được sử dụng để truy vấn
hoạc lọc dữ liệu từ những lớp dữ liệu chuẩn như XML, CSDL quan hệ, những nguồn dữ
liệu của hãng thứ ba. Nó cũng cho phép truy vấn đến bất kỳ nguồn dữ liệu nào nhưng với
yêu cầu dữ liệu đó phải được đóng gói như những đối tượng. Vì thế, nếu nguồn dữ liệu
không lưu trữ dữ liệu như những đối tượng, thì dữ liệu phải là ma trận có miền giá trị của
đối tượng. Những câu hỏi đã viết sử dụng những toán tử truy vấn được thực hiện theo cách
khác bởi bộ xử lý câu hỏi LINQ hoặc qua một cơ chế mở rộng, được thoả thuận với những
nhà cung cấp LINQ. Những kết quả của câu hỏi được trả về như một tập hợp bộ nhớ trong
của những đối tượng, vì vậy nó đếm được.

7. Windows Presentation Foundation(WPF)


WPF là một trong những công nghệ mới trong .net 2008 ( Framework 3.0 hay 3.5) của
Microsoft. WPF được sử dụng cho mục đích hiển thị giao diện. Trước đây, trong bộ .net
2005(framework 2.0) thì phần display được chia làm nhiều phần khác nhau:

+ user32: cho ta một cái nhìn thân thiên thiện với Window như: buttons, text boxes ..

+ GDI/GDI: hỗ trợ vẽ những hình ảnh và text.

+ DirectX: được dùng để làm việc với với những phần cứng như card đồ họa. Nó là lớp
giao tiếp khá gần với các thiết bị phần cứng cho nên sẽ tăng tốc độ lên rất nhiều so với
phần đề cập trên. Và cũng được dùng để làm việc với những hình ảnh 3D. Được sử dụng
chủ yếu khi làm game.

- Thay vì chia làm nhiều phần như vậy, với WPF nó sẽ bao gồm các phần trên và là một
Higher-Level API. Khi làm việc với giao diện trong WPF chúng ta cần biết một chút về
XAML (giống với XML). Giao diện được định nghĩa theo các <tab> giống hệt như HTLM.
Với cách dùng theo tab như vậy sẽ chúng ta sẽ rất dễ dàng quản lý nhưng control của mình.
Một số điểm khá hay của WPF:

Trang 52
Quản Lý Bán Vé Máy Bay

+ Trong WPF khi chúng ta đã biên dịch chương trình. Ta được giao diện mà ta lại muốn
thay đổi một số control trong giao diện này ta vẫn có thể chỉnh sửa trên file.xalm điều này
cho ta thấy WPF rất linh động.

+ Vần đề tiếp theo là Binding: Ngày trước khi chúng ta làm việc với các gridview, Form,
button... thì ta chủ yếu sử lý theo hương sự kiện bằng code. Điều này làm mất công quá
trình sử lý phía dưới. Thay vì làm như vậy, WPF có thể binding trực tiếp đến các đối tược
có trong dataset, hay mảng đối tượng rồi hiện thị lên gridview. Khi chúng ta lick vào dòng
dữ liệu trên gridview ta không cần phải sử lý sự kiện dòng dữ liệu được chọn mà nó sẽ
được .

VIII. Kết luận và hướng phát triển.

1. Nhận xét
• Ưu điểm:

+ Đơn giản, dễ dùng, đầy đủ chức năng nghiệp vụ.

+ Hổ trợ chức năng đặt vé trực tuyến.

• Nhược điểm: Giao diện chưa phù hợp, chưa sao hỗ trợ sao lưu dữ
liệu.
2. Hướng phát triển
• Thiết kế lại giao diện người dùng, phát triển vận hành qua mạng.
• Phát triển các chức năng tra cứu trực tuyến cho khách hàng.
• Phát triển các web service hổ trợ cho web.

IX. Tài liệu tham khảo.

[1] Phạm Hữu Khang (2005), “C# 2005 – Tập 4: Lập Trình Cơ sở dữ liệu”, NXB Lao
Động Xã Hội.

[2] Nguyễn Ngọc Bình Phương – Thái Thanh Phong , “Các giải pháp lập trình C final”.
Chương 10: Lập trình Cơ Sở Dữ Liệu, Crystal report, NXB Giao Thông Vận Tải.

[3] Joseph C.Rattz, Jr. Pro Linq to Language Integrated Query in C# 2008, Appress.

[4] Matthew MacDonald, Pro WPF in C# 2008, Second edition, Appress.


Trang 53
Quản Lý Bán Vé Máy Bay

Trang 54

You might also like