Quản lý lịch trình
Tên phương thức
|
Mô tả chung
|
ThemLichTrinh()
|
Thêm một lịch trình vào CSDL
|
SuaLichTrinh()
|
Sửa thông tin lịch trình
|
HuyLịchTrinh()
|
Xóa một lịch trình khỏi CSDl
|
TaoBaoCaoLT()
|
Tạo báo cáo về lịch trình
|
Quản lý đặt vé
-
Tên phương thức
|
Mô tả chung
|
ThemVe()
|
Thêm một vé vào CSDL
|
SuaVeNV()
|
Sửa thông tin vé
|
HuyVeTD()
|
Xóa tất cả vé quá hạn và vé trên chuyến xe đã chạy được 2 tháng khỏi CSDl
|
TaoBaoCaoHK()
|
Tạo báo cáo về khách hàng
|
Quản lý xe khách
-
Tên phương thức
|
Mô tả chung
|
ThemXeKhach()
|
Thêm một xe khách vào CSDL
|
SuaXeKhach()
|
Sửa thông tin xe khách
|
HuyXeKhach()
|
Xóa một xe khách khỏi CSDl
|
TaoBaoCaoXK()
|
Tạo báo cáo về xe khách
|
Quản lý điểm đến
-
Tên phương thức
|
Mô tả chung
|
ThemDiemDen()
|
Thêm một điểm đến vào CSDL
|
SuaDiemDen()
|
Sửa thông tin điểm đến
|
HuyDiemDen()
|
Xóa một điểm đến khỏi CSDl
|
Quản lý loại xe
-
Tên phương thức
|
Mô tả chung
|
ThemLoaiXe()
|
Tthêm một loại xe vào CSDL
|
SuaLoaiXe()
|
Sửa thông tin loại xe
|
HuyLoaiXe()
|
Xóa một loại xe khỏi CSDl
|
Quản lý phân quyền
-
Tên phương thức
|
Mô tả chung
|
ThemTaikhoa()
|
Thêm một tài khoản vào CSDL
|
XoaTaiKhoan()
|
Xóa một tài khoản khỏi CSDL
|
CapQuyen()
|
Cấp một số quyền cho tài khoản
|
ThemThanhVien()
|
Thêm một thành viên hệ thống vào CSDL
|
DangNhap()
|
Cho phép tài khoản đăng nhập vào hệ thống
|
DangThoat()
|
Cho phép NSD thoát khỏi hệ thống
|
DoiMatKhau()
|
Đổi mật khẩuu của một tài khoản
|
Thiết kế cơ sở dữ liệu
CSDL sẽ được thiết kế theo mô hình CSDL quan hệ. Mô hình CSDL quan hệ có những đặc điểm nổi bật như
Dữ liệu được lưu trữ có tính cấu trúc.
Tính rằng buộc và tính nhất quán cao.
Hầu hết các công cụ lập trình đều hỗ trợ.
Các quy ước
Qui ước về ký hiệu khóa
-
Kí hiệu
|
Mô tả
|
PK
|
Khóa chính (Primary Key)
|
FK
|
Khóa ngoài (Foreign Key)
|
Qui ước về kiểu dữ liệu
-
Kiểu dữ liệu
|
Mô tả
|
uniqueidentifier
|
Kiểu định danh duy nhất 16 byte
|
bit
|
Kiểu logic (True/ false)
|
int
|
Kiểu số nguyên 4 byte
|
numeric
|
Kiểu số
|
datetime
|
Kiểu ngày giờ mm/dd/yy: 00:00:00
|
ntext
|
Kiểu kí tự có hỗ trợ tiếng việt có độ dài thay đổi
|
Qui ước về kiểu quan hệ
-
Kí hiệu
|
Mô tả
|
1
|
Chỉ được phép tồn tại một thực thể
|
0..n
|
Không có hoặc có hơn một thực thể
|
1..n
|
Có một hoặc lớn một thực thể
|
Danh sách các bảng
STT
|
Tên bảng
|
Khóa
|
Mô tả
|
1
|
Tbl_TaiKhoan
|
Id_TaiKhoan
|
Lưu trữ thông tin về tài khoản
|
3
|
Tbl_Quyen
|
Id_Quyen
|
Lưu trữ thông tin về các quyền
|
4
|
Tbl_DatVe
|
Id_DatVe
|
Lưu trữ thông tin về khách hàng đặt vé
|
5
|
Tbl_ThanhToan
|
Id_TT
|
Lưu trữ thông tin về khách hàng thanh toán trực tuyến
|
6
|
Tbl_ChuyenXe
|
Id_ChuyenXe
|
Lưu trữ thông tin về lịch trình xe chạy
|
7
|
Tbl_DiemDen
|
Id_DiemDen
|
Lưu trữ thông tin về các điểm đến
|
8
|
Tbl_XeKhach
|
Id_XeKhach
|
Lưu trữ thông tin về xe khách sử dụng
|
9
|
Tbl_LoaiXe
|
Id_LoaiXe
|
Lưu trữ thông tin về các loại xe
|
10
|
Tbl_LoaiBCLT
|
Id_LoaiBCLT
|
Lưu trữ các loại báo cáo về lịch trình
|
11
|
Tbl_LoaiBCHK
|
Id_LoaiBCHK
|
Lưu trữ các loại báo cáo về hành khách
|
12
|
Tbl_LoaiBCXK
|
Id_LoaiBCXK
|
Lưu trữ các loại báo cáo về xe khách
|
13
|
Tbl_BaoCao
|
Id_BaoCao
|
Lưu trữ các báo cáo đã lập
|
Mô tả chi tiết các bảng
Tbl_TaiKhoan
-
Tên trường
|
Khóa
|
Kiểu dữ liệu
|
Trống?
|
Mô tả
|
Id_TaiKhoan
|
PK
|
uniqueidentifier
|
0
|
User+pass của nhân viên
|
Name
|
|
ntext
|
0
|
Tên chủ tài khoản
|
Birthday
|
|
datetime
|
|
Ngày sinh
|
Add
|
|
ntext
|
|
Địa chỉ
|
Id_Quyen
|
|
uniqueidentifier
|
0
|
Quyền truy nhập của tài khoản
|
SoDT
|
|
int
|
0
|
Số điện thoại liên lạc
|
Email
|
|
ntext
|
0
|
Địa chỉ email
|
Tbl_Quyen
-
Tên trường
|
Khóa
|
Kiểu dữ liệu
|
Trống?
|
Mô tả
|
Id_Quyen
|
PK
|
uniqueidentifier
|
0
|
Mã
|
Name
|
|
ntext
|
|
Tên quyền
|
Tbl_DatVe
-
Tên trường
|
Khóa
|
Kiểu dữ liệu
|
Trống?
|
Mô tả
|
Id_DatVe
|
PK
|
uniqueidentifier
|
0
|
Mã điều khiển
|
Id_TaiKhoan
|
FK
|
uniqueidentifier
|
0
|
Mã điều khiển
|
Add
|
|
ntext
|
|
Điểm đến
|
Time
|
|
datetime
|
|
Ngày, giờ xe chạy
|
count
|
|
int
|
|
Số lượng vé
|
Giá vé
|
|
int
|
|
Giá vé
|
TimeDV
|
|
datetime
|
0
|
Thời gian đặt vé
|
Id_ session
|
|
uniqueidentifier
|
0
|
Mã phiên giao dich hiện tại của mỗi khách
|
Id_TT
|
|
uniqueidentifier
|
|
Mã thanh toán
|
Tbl_ThanhToan
-
Tên trường
|
khóa
|
Kiểu dữ liệu
|
Trống?
|
Mô tả
|
Id_TT
|
PK
|
uniqueidentifier
|
0
|
Mã
|
Id_TaiKhoan
|
FK
|
uniqueidentifier
|
0
|
Mã điều kiển
|
numberCard
|
|
ntext
|
0
|
Số tài khoản
|
Bank
|
|
ntext
|
|
Ngân hàng
|
Money
|
|
int
|
|
Số tiền
|
Tbl_ChuyenXe
Tên trường
|
khóa
|
Kiểu dữ liệu
|
Trống?
|
Mô tả
|
Id_ChuyenXe
|
PK
|
uniqueidentifier
|
0
|
Mã
|
Id_Xekhach
|
|
uniqueidentifier
|
0
|
Biển số xe tương ứng
|
Id_DiemDen
|
|
uniqueidentifier
|
0
|
Điểm đến
|
time
|
|
datetime
|
|
Thời gian xe xuất phát
|
soGheT
|
|
int
|
0
|
Số ghế trống
|
GiaVe
|
|
int
|
|
Giá vé
|
Tbl_DiemDen
-
Tên trường
|
khóa
|
Kiểu dữ liệu
|
Trống?
|
Mô tả
|
Id_Diemden
|
PK
|
uniqueidentifier
|
0
|
mã
|
Name
|
|
ntext
|
0
|
Tên địa điểm
|
Tbl_XeKhach
-
Tên trường
|
khóa
|
Kiểu dữ liệu
|
Trống?
|
Mô tả
|
Id_XeKhach
|
PK
|
uniqueidentifier
|
0
|
Mã, là biển số xe
|
Id_LoaiXe
|
FK
|
|
0
|
Mã loại xe
|
ghichu
|
|
ntext
|
|
Mô tả về xe
|
Tbl_LoaiXe
Tên trường
|
khóa
|
Kiểu dữ liệu
|
Trống?
|
Mô tả
|
Id_LoaiXe
|
PK
|
uniqueidentifier
|
0
|
Mã
|
loai
|
|
int
|
0
|
Số ghế trên xe
|
Tbl_LoaiBCLT
Tên trường
|
khóa
|
Kiểu dữ liệu
|
Trống?
|
Mô tả
|
Id_LoaiBCLT
|
PK
|
uniqueidentifier
|
0
|
Mã
|
BC_LT
|
|
|
0
|
Mẫu báo cáo
|
Tbl_LoaiHK
-
Tên trường
|
khóa
|
Kiểu dữ liệu
|
Trống?
|
Mô tả
|
Id_LoaiBCHK
|
PK
|
uniqueidentifier
|
0
|
Mã
|
BC_HK
|
|
|
0
|
Mẫu báo cáo
|
Tbl_LoaiBCXK
-
Tên trường
|
khóa
|
Kiểu dữ liệu
|
Trống?
|
Mô tả
|
Id_LoaiBCXK
|
PK
|
uniqueidentifier
|
0
|
Mã
|
BC_XK
|
|
|
0
|
Mẫu báo cáo
|
BaoCao
-
Tên trường
|
khóa
|
Kiểu dữ liệu
|
Trống?
|
Mô tả
|
Id_LoaiBC
|
PK
|
uniqueidentifier
|
0
|
Mã
|
BaoCao
|
|
|
0
|
Báo cáo đã lập
|
CHƯƠNG 4
LẬP TRÌNH THỰC NGHIỆM
Trong chương này tôi xin trình bày về môi trường phát triển và một số giao diện chương trình đã xây dựng được.
4.1. Môi trường phát triển
Cơ sở dữ liệu
Hệ thống sử dụng hệ cơ sở dữ liệu không lớn, nhưng cần độ truy cập dữ liệu nhanh nên cơ sở dữ liệu MySQL là một lựa chọn hợp lý.
Ưu điểm của cở sở dữ liệu MySQL
Gọn, tốc độ truy cập dữ liệu nhanh
Dễ sử dụng
Chạy trên nhiều hệ điều hành
Hoàn toàn miễn phí
Ngôn ngữ lập trình
Ngôn ngữ phát triển hệ thống được dùng là PHP. Ngôn ngữ PHP có các ưu điểm như:
Tốc độ thực thi nhanh
Tiêu tốn ít tài nguyên
Là ngôn ngữ mã nguồn mở nên có nhiều thư viện, ứng dụng có sẵn, miễn phí
Công cụ hỗ trợ
Giao diện chương trình
Giao diện tìm kiếm chuyến xe
Hình 41. Giao diện tìm kiếm chuyến xe
Tên giao diện: tìm kiếm chuyến xe
Người sử dụng: tất cả mọi người
Các thao tác: chọn điểm đến, chọn thời gian chạy (gồm thời gian của hành trình và ngày, giờ xuất phát), chọn loại xe, số vé dự kiến và click vào nút tìm kiếm
Kết quả: chương trình sẽ hiển thị ra lịch các chuyến xe thỏa mãn các tiêu chí tìm kiếm. Nếu không có chuyến xe nào thỏa mãn thì chương trình sẽ liệt kê toàn bộ các chuyến xe còn ghế trống.
Chia sẻ với bạn bè của bạn: |