CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI. 4
1.1. Cơ sở thực tế và lí do chọn đề tài 5
1.2. Phát biểu bài toán 8
CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG 9
2.1. Xác định yêu cầu của Hệ thống 10
2.1.1. Các chức năng chính và người sử dụng (Tác nhân) 10
2.1.2. Các yêu cầu phi chức năng 11
2.2. Mô tả chức năng của Hệ thống 12
2.2.1. Mô tả các chức năng 12
2.2.2. Sơ đồ mô tả chức năng tổng thể Hệ thống 14
2.3. Xây dựng biểu đồ chức năng Hệ thống (Usercase Diagram) 15
2.3.1. Usercase mức tổng quát 15
2.3.2. Usercase mức chi tiết cho từng chức năng 16
2.4. Biểu đồ hoạt động của các chức năng chính (Activity Diagram) 20
2.4.1. Chức năng Đặt vé 20
2.4.2. Chức năng Quản lý Vé 21
2.4.3. Chức năng Quản lý Lịch trình 22
2.4.4. Chức năng Quản lý Xe và Hãng xe 23
2.4.5. Chức năng Tìm kiếm (Vé, lịch trình, hãng xe, địa điểm,.) 24
2.5. Xây dựng biểu đồ quan hệ thực thể 25
2.5.1. Xác định các thực thể 25
2.5.2. Biểu đồ quan hệ thực thể 32
2.6. Biểu đồ tương tác tuần tự cho các chức năng chính 33
2.6.1. Tìm kiếm đặt vé 33
103 trang |
Chia sẻ: Thành Đồng | Ngày: 05/09/2024 | Lượt xem: 459 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng hệ thống quản lý xe khách và đặt vé trực tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
động Chức năng Quản lý Xe và Hãng xe
Chức năng Tìm kiếm (Vé, lịch trình, hãng xe, địa điểm,...)
Hình2.15: Biểu đồ hoạt động Chức năng Tìm Kiếm
Xây dựng biểu đồ quan hệ thực thể
Xác định các thực thể
Hãng xe
Thông tin chi tiết các Hãng xe: Tên hãng, địa chỉ, điện thoại liên hệ, tình trạng Hãng xe, ...
Bảng 2.1: Hãng xe
tbl_hangxe
STT
Field name
Data type
Field size
Index
Description
1
id_hang
Int
PK
Mã Hãng Xe
2
tenhang
Varchar
100
Tên Hãng Xe
3
diachi
Varchar
150
Địa chỉ
5
dienthoai
Varchar
15
Điện thoại
6
ngaythem
Date
Ngày thêm
7
tinhtrang
Varchar
30
Hoạt động/Không hoạt động
8
mota
Text
Mô tả
Tuyến đường
Thông tin tuyến đường cố định: Tên tuyến, điểm đi, điểm đến, ... Thông tin chi tiết của Tuyến đường.
Bảng 2.2: Tuyến đường
tbl_tuyen
STT
Field name
Data type
Field size
Index
Description
1
id_tuyen
Int
PK
Mã Tuyến đường
2
tentuyen
Varchar
100
Tên Tuyến đường
3
diemdau
Varchar
100
Điểm đầu
4
diemcuoi
Varchar
100
Điểm cuối
5
dodai
Int
Độ dài Tuyến đườg (Km)
6
thoigiandi
Time
Thời gian đi (Giờ)
7
ngaythem
Date
Ngày thêm
8
tinhtrang
Varchar
30
Hoạt động/Không hoạt động
9
mota
Text
Mô tả
Tỉnh thành
Thông tin Tên tỉnh thành, sử dụng cho việc chọn các địa điểm.
Bảng 2.3: Tỉnh
tbl_tinh
STT
Field name
Data type
Field size
Index
Description
1
id_tinh
Int
PK
Mã Tỉnh
2
tentinh
Varchar
100
Tên Tỉnh
3
motatinh
Text
Mô tả Tỉnh
Địa điểm
Thông tin chi tiết Địa điểm: Tên địa điểm, địa chỉ, điện thoại liên hệ, tình trạng hoạt động của địa điểm, ...
Bảng 2.4: Địa điểm
tbl_diadiem
STT
Field name
Data type
Field size
Index
Description
1
id_diadiem
Int
PK
Mã Địa điểm
2
id_tinh
Int
FK
Mã Tỉnh
3
tendd
Varchar
150
Tên Địa điểm
4
diachi
Varchar
300
Địa chỉ
5
dienthoai
Varchar
15
Điện thoại
6
ngaythem
Date
Ngày thêm
7
tinhtrang
Varchar
30
Hoạt động/Không hoạt động
8
mota
Text
Mô tả
Loại xe
Thông tin các loại xe khách, tên, số lượng ghế...
Bảng 2.5: Loại xe
tbl_loaixe
STT
Field name
Data type
Field size
Index
Description
1
id_loaixe
Int
PK
Mã Loại xe
2
tenloaixe
Varchar
100
Tên Loại xe
3
soluongghe
Int
Số lượng ghế
4
ngaythem
Date
Ngày thêm
5
tinhtrang
Varchar
30
Hoạt động/Không hoạt động
6
motaloaixe
Text
Mô tả loại xe
Xe khách
Thông tin chi tiết xe khách, biển số, màu xe, tuyến, loại xe, ...
Bảng 2.6: Xe khách
tbl_xekhach
STT
Field name
Data type
Field size
Index
Description
1
id_xe
Int
PK
Mã Xe khách
2
id_loaixe
Int
FK
Mã Loại xe
3
id_hang
Int
FK
Mã Hãng xe
4
id_tuyen
Int
FK
Mã Tuyến đường
5
tenxe
Varchar
100
Tên Xe khách
6
mauxe
Varchar
100
Màu Xe khách
7
hangsx
Varchar
100
Hãng sản xuất
8
bienso
Varchar
10
Biển số Xe khách
9
ngaythem
Date
Ngày thêm
10
tinhtrang
Varchar
30
Hoạt động/Không hoạt động
11
motaxekhach
Text
Mô tả xe khách
Đại lý
Thông tin chi tiết Đại lý: Tên đại lý, địa chỉ và điện thoại liên hệ.
Bảng 2.7: Đại lý
tbl_daily
STT
Field name
Data type
Field size
Index
Description
1
id_daily
Int
PK
Mã Đại lý
2
id_hang
Int
FK
Mã Hãng Xe
3
tendaily
Varchar
100
Tên Đại lý
4
diachi
Varchar
300
Địa chỉ
5
dienthoai
Varchar
15
Điện thoại
6
ngaythem
Date
Ngày thêm
7
tinhtrang
Varchar
30
Hoạt động/Không hoạt động
8
motadaily
Text
Mô tả đại lý
Nhân viên
Chi tiết nhân viên làm việc theo hãng xe. Thông tin chi tiết Nhân viên.
Bảng 2.8: Nhân viên
tbl_nhanvien
STT
Field name
Data type
Field size
Index
Description
1
id_nv
Int
PK
Mã Nhân viên
2
id_loainv
Int
FK
Mã loại Nhân viên
3
id_hang
Int
FK
Mã Hãng Xe
4
tennv
Varchar
100
Tên Nhân viên
5
cmnd
Varchar
15
Số CMND
6
ngaysinh
Date
Ngày sinh
7
diachi
Varchar
300
Địa chỉ
8
dienthoai
Varchar
15
Điện thoại
9
ngaythem
Date
Ngày thêm
10
tinhtrang
Varchar
30
Đang làm việc/Không làm việc
Loại nhân viên
Thông tin loại nhân viên, chức vụ (tài xế, phụ xe).
Bảng 2.9: Loại nhân viên
tbl_loainhanvien
STT
Field name
Data type
Field size
Index
Description
1
id_loainv
Int
PK
Mã loại Nhân viên
2
tenloainv
Varchar
100
Tên loại Nhân viên
3
ngaythem
Date
Ngày thêm
4
tinhtrang
Varchar
30
Hoạt động/Không hoạt động
5
mota
Text
Mô tả loại nhân viên
Lịch trình
Lịch trình chạy xe theo ngày, theo tuyến, thông tin chi tiết Ngày đi, giờ đi, điểm đi, đến, Xe khách, ...
Bảng 2.10: Lịch trình
tbl_lichtrinh
STT
Field name
Data type
Field size
Index
Description
1
id_lichtrinh
Int
PK
Mã Lịch trình
2
id_xekhach
Int
FK
Mã Xe khách
3
diemdi
Varchar
100
Điểm đi
4
diemden
Varchar
100
Điểm đến
5
tramdung
Varchar
100
Trạm dừng nghỉ
6
giodi
Time
Giờ đi
7
ngaydi
Date
Ngày đi
8
taixe
Varchar
100
Tên tài xế
9
phuxe
Varchar
100
Tên phụ xe
10
ngaythem
Date
Ngày thêm
11
tinhtrang
Varchar
30
Hoạt động/Không hoạt động
12
mota
Text
Mô tả lịch trình
Giá vé
Thông tin Chi tiết Giá vé áp dụng theo ngày, giá cố định công thêm phụ thu.
Bảng 2.11: Giá vé
tbl_giave
STT
Field name
Data type
Field size
Index
Description
1
id_gia
Int
PK
Mã giá vé
2
id_hang
Int
FK
Mã Hãng Xe
3
id_loaixe
Int
FK
Mã Loại xe
4
id_tuyen
Int
FK
Mã Tuyến đường
5
gia
Int
Giá vé (VNĐ)
6
phuthu
Int
Phụ thu (%)
7
ngaythem
Date
Ngày thêm
8
tinhtrang
Varchar
30
Áp dụng/Không áp dụng
9
mota
Text
Mô tả giá vé
Khách hàng
Thông tin khách khi đặt vé, khách đi, xác nhận đặt vé.
Bảng 2.12: Khách hàng
tbl_khach
STT
Field name
Data type
Field size
Index
Description
1
id_kh
Int
PK
Mã Khách
2
tenkh
Varchar
100
Tên Khách
3
dienthoai
Varchar
15
Điện thoại
4
diachi
Varchar
300
Địa chỉ
5
cmnd
Varchar
15
Số CMND
6
email
Varchar
100
Email
7
ghichu
Text
Ghi chú
Ghế ngồi
Thông tin vé xe đã đặt theo khách, lịch trình.
Bảng 2.13: Ghế
tbl_ghe
STT
Field name
Data type
Field size
Index
Description
1
id_ghe
Int
PK
Mã ghế
2
id_lichtrinh
Int
FK
Mã Lịch trình
3
soghe
Varchar
10
Số ghế
4
tinhtrang
Varchar
30
Trống/Đã đặt
5
mota
Text
Mô tả ghế
Vé xe
Thông tin vé xe đã đặt theo khách, lịch trình.
Bảng 2.14: Vé xe
tbl_ve
STT
Field name
Data type
Field size
Index
Description
1
id_ve
Int
PK
Mã vé
2
id_lichtrinh
Int
FK
Mã Lịch trình
3
id_ghe
Int
FK
Mã ghế
4
id_gia
Int
FK
Mã Giá vé
5
id_khach
Int
FK
Mã Khách
6
mabimat
Varchar
10
Mã bí mật
7
mave
Varchar
10
Mã đặt vé
8
ngaythem
Date
Ngày thêm
9
nguoithem
Varchar
100
Người thêm
10
tinhtrang
Varchar
30
Đã thanh toán/Chưa thanh toán
Loại tài khoản
Thông tin chi tiết Loại tài khoản (quyền, thông tin...). Thông tin về nhóm nhân viên quản trị và quản lý, phân quyền truy cập cho nhóm nhân viên.
Bảng 2.15: Loại tài khoản
tbl_loaiuser
STT
Field name
Data type
Field size
Index
Description
1
id_loaiuser
Int
PK
Mã loại User
2
tenloaiuser
Varchar
100
Tên loại User
3
lv
Int
Phân quyền
4
ngaythem
Date
Ngày thêm
5
tinhtrang
Varchar
30
Hoạt động/Không hoạt động
6
mota
Text
Mô tả
Tài khoản
Thông tin chi tiết tài khoản đăng nhập hệ thống (quyền sử dụng, thông tin chi tiết...).
Bảng 2.16: Tài khoản
tbl_user
STT
Field name
Data type
Field size
Index
Description
1
username
Varchar
100
PK
Tên đăng nhập
2
password
Varchar
100
Mật khẩu đăng nhập
3
id_loaiuser
Int
FK
Mã Loại user
4
email
Varchar
100
Email
5
ngaythem
Date
Ngày thêm
6
tinhtrang
Varchar
30
Hoạt động/Không hoạt động
7
stt
DateTime
Thời gian gian đăng nhập gần nhất
8
mota
Text
Mô tả
Loại tin tức
Thông tin loại tin tức (Dành cho trang Web).
Bảng 2.17: Loại tin tức
tbl_loaitintuc
STT
Field name
Data type
Field size
Index
Description
1
id_loaitin
Int
PK
Mã loại Tin tức
2
tenloaitin
Varchar
300
Tên loại Tin tức
3
ngaythem
Date
Ngày thêm
4
tinhtrang
Varchar
30
Hoạt động/Không hoạt động
5
mota
Text
Mô tả
Tin tức
Tin tức (Dành cho trang Web).
Bảng 2.18: Tin tức
tbl_tintuc
STT
Field name
Data type
Field size
Index
Description
1
Id_tin
Int
PK
Mã Tin tức
2
id_loaitin
Int
FK
Mã loại Tin tức
3
tieude
Text
Tiêu đề
4
noidung
Text
Nội dung
5
ghichu
Text
Ghi chú
6
ngaythem
Date
Ngày thêm
7
tinhtrang
Varchar
30
Ẩn/Hiện
Biểu đồ quan hệ thực thể
Hình2.16: Biểu đồ quan hệ thực thể (ERD)
Biểu đồ tương tác tuần tự cho các chức năng chính
Tìm kiếm đặt vé
Hình2.17: Biểu đồ Tương tác tuần tự Chức năng Tìm kiếm đặt vé
Đặt vé xe
Hình2.18: Biểu đồ Tương tác tuần tự Chức năng Đặt vé
Tìm kiếm Vé
Hình2.19: Biểu đồ Tương tác tuần tự Chức năng Tìm kiếm Vé
Hủy Vé
Hình2.20: Biểu đồ Tương tác tuần tự Chức năng Hủy vé
Thêm lịch trình
Hình2.21: Biểu đồ Tương tác tuần tự Chức năng Thêm Lịch Trình
Hủy lịch trình
Hình2.22: Biểu đồ Tương tác tuần tự Chức năng Hủy Lịch Trình
Thêm xe khách
Hình2.23: Biểu đồ Tương tác tuần tự Chức năng Thêm xe khách
Xóa xe khách
Hình2.24: Biểu đồ Tương tác tuần tự Chức năng Xóaxe khách
Thêm tài khoản người dùng
Hình2.25: Biểu đồ Tương tác tuần tự Chức năng Thêm tài khoản
Phân quyền tài khoản người dùng
Hình2.26: Biểu đồ Tương tác tuần tự Chức năng Phân quyền tài khoản
Đăng nhập
Hình2.27: Biểu đồ Tương tác tuần tự Chức năng Đăng nhập
Sao lưu và phục hồi dữ liệu
Hình2.28: Biểu đồ Tương tác tuần tự Chức năng Sao lưu & Phục hồi Dữ liệu
CHƯƠNG 3: CÔNG NGHỆ SỬ DỤNG
Công nghệ sử dụng
Windows Forms và Ngôn ngữ lập trình C#
Windows Forms
Windows Forms hay viết tắt là WinForm là thuật ngữ chỉ việc phát triển các ứng dụng giao diện người dùng bằng cách sử dụng các thành phần xây dựng sẵn (Buil in component) còn được gọi là các điều khiển.
Hình 3.1: WinForm và .Net Framework
Hay nói cách khác Windows Forms là một API (Application Programming Interface) cho phép tạo GUI (Graphical User Interface) cho các ứng dụng chạy trên Desktop.
Các điều khiển này dùng để hiển thị thông tin cho người dùng cũng như cho người dùng nhập thông tin vào Windows Forms ra đời đáp ứng nhu cầu tạo ứng dụng nhanh (Rapid Application Development).
Hình 3.2: Mô hình hoạt động WinForm
C#
C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ bao gồm dấu số thường. Microsoft phát triển C# dựa trên C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java.
C# là ngôn ngữ lập trình phản ánh trực tiếp nhất đến.NET Framework mà tất cả các chương trình.NET chạy, và nó phụ thuộc mạnh mẽ vào Framework này.
Hình 3.3: Ví dụ về C#
Ngôn ngữ lập trình C# được đánh giá là dễ học và kết hợp được nhiều ưu điểm của các ngôn ngữ lập trình hướng đối tượng Java và C++. Do đó ngôn ngữ C# đựơc sử dụng rộng rãi nhất.
C# có thể được viết với bất kỳ trình soạn thảo văn bản nào như Notepad của Windows, và sau đó biên dịch với trình biên dịch dòng lệnh của C#, csc.exe luôn đi kèm với .Net framework.
Do đó mà ngày nay, C# được rất nhiều các coder trên thế giới ưu chuộng và tìm hiểu.
PHP
PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát.
Hình 3.4: Sơ đồ hoạt động của PHP và HTML
PHP rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
Được phát triển năm 1994 bởi Rasmus Lerdorf. Lúc đầu chỉ là một bộ đặc tả của Perl được sử dụng để lưu dấu vết của trang web.Sau đó đã được phát triển thành một máy đặc tả (Scripting engine). Và nó đã không còn là một dự án cá nhân của Ramus Lerdorf nữa mà trở thành một công nghệ web quan trọng hiện nay.
Các điểm mạnh của PHP:
Được sử dụng linh hoạt và mềm dẻo hơn.
PHP được thực hiện rất nhanh và hiệu quả, do đó 1 server có thể đáp ứng được hàng triệu lượt người truy cập.
Hỗ trợ rất nhiều cơ sở dữ liệu như: MySQL, Oracle, InterBase...
Cung cấp thư viện rất phong phú.
Là một mã nguồn mở.
Dễ học + dễ sử dụng.
Được sử dụng trên nhiều hệ điều hành khác nhau.
Nhiều hệ thống CMS miễn phí dùng.
HQT CSDL MySQL
CSDL là 1 phần quan trọng không thể thể thiếu được trong các ứng dụng web chuyên nghiệp. MySQL từ lâu đã là hệ CSDL được dùng phổ biến nhất với PHP vì tính gọn nhẹ, nhanh, miễn phí và được PHP hỗ trợ sẵn.
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet.
MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,...
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
Hình 3.5: MySQL bổ trợ rất tốt cho PHP
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,...
Một số đặc điểm của MySQL
MySQL là một phần mềm quản trị cơ sở dữ liệu dạng server-based (gần tương đương với SQL Server của Microsoft).
MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu.
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều cơ sở dữ liệu khác nhau, mỗi người dùng có một tên truy cập (username) và mật khẩu(password) tương ứng để truy xuất đến cơ sở dữ liệu.
Khi ta truy vấn tới CSDL MySQL, phải cung cấp tên truy cập và mật khẩu của tài khỏan có quyền sử dụng CSDL đó.
Công cụ phát triển
Microsoft Visual Studio 2010
Phần mềm Quản Lý Xe Khách được phát triển trên nền .NET Framework 4.0 và được xây dựng bằng công cụ phát triển của Microsoft đó là Visua Studio 2010.
Adobe Dreamweaver CS3
Hệ thống Website đặt vé được xây dựng trên nền PHP và công cụ lập trình Adobe Dreamweaver CS3.
Một số công cụ và Phần mềm phát triển khác
Trình soạn thảo Notepad++ 5.8.7
Phần mềm chạy Server ảo trên máy tính cá nhân AppServ 2.5.10
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG
Thiết kế Cơ sở dữ liệu
Phần mềm Quản lý Xe khách
Tổng quan Phần mềm Quản lý
Hình 4.3: Màn hình hiển thị mặc định khi mở phần mềm
Sau khi đăng nhập, Hệ thống sẽ mở màn hình mặc định là Tab THỐNG KÊ, bao gồm thông tin thống kê về Xe, Hãng xe, Loại xe, Lịch trình, Số lượng vé đặt, Thông tin Tài khoản đang đăng nhập, ...
Phần mềm bao gồm nhiều Tab chức năng được sắp xếp hàng ngang ở trên cùng, mỗi Tab có chức năng quản lý riêng:
THỐNG KÊ: Thống kê chung nhất các lịch trình, vé đặt trong ngày, thông tin tài khoản đăng nhập, phiên làm việc, ...
VÉ XE: Quản lý Vé xe đã đặt theo Lịch trình, tìm kiếm vé, Đặt vé, xem chi tiết Vé đã đặt, Cập nhật thông tin hoặc Hủy vé đã đặt, xuất
Các file đính kèm theo tài liệu này:
- de_tai_xay_dung_he_thong_quan_ly_xe_khach_va_dat_ve_truc_tuy.doc