• Vào trang đặt vé xe dành cho hành khách• Hành khách chọn ngày muốn đặt vé, giờ xuất phát, chọn điểm đi và điểmđến của tuyến xe muốn đặt • Hành khách tiến hành tìm chuyến xe theo nhu cầ
Trang 1https://documents-downloader.pages.dev/document 1/60
BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG ÁKHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN HỌC PHẦN: ĐỒ ÁN CHUYÊN NGÀNH 2
Đề tài : Xây dựng và phát triển phần mềm quản lý bán vé xe khách
Sinh viên thực hiện Khóa Lớp Nguyễn Đình Hải K11 DCCNTT11.10.3 Hoàng Tiến Linh K11 DCCNTT11.10.3 Trần Văn Tâm K11 DCCNTT11.10.3
Vũ Đăng Trình K11 DCCNTT11.10.3
Hà Anh Tuấn K11 DCCNTT11.10.3
Bắc Ninh, tháng 5 năm 2023
Trang 2https://documents-downloader.pages.dev/document 2/60
BỘ GIÁO DỤC VÀ ĐÀO TẠO
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN HỌC PHẦN: ĐỒ ÁN CHUYÊN NGÀNH 2
Đề tài: Xây dựng và phát triển phần mềm quản lý bán vé xe khách
CÁN BỘ CHẤM 2 (Ký và ghi rõ họ tên)
Bắc Ninh, tháng 5 Năm 2023
Trang 3https://documents-downloader.pages.dev/document 3/60
MỤC LỤC
MỤC LỤC 3
DANH MỤC HÌNH ẢNH 5
LỜI MỞ ĐẦU 6
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG QUẢN LÝ VÉ XE KHÁCH 7
1 Giới thiệu 7
2 Mục tiêu và phạm vi đề tài 7
CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG 9
1 Mô hình hóa nghiệp vụ 9
1.1 Sơ đồ Use-Case nghiệp vụ 9
1.2 Sơ đồ đối tượng nghiệp vụ 10
1.3 Mô hình hóa quy trình nghiệ p vụ 10
1.3.4Use case đăng ký thành viên 17
1.3.5Use case Cung cấp chuyến xe 20
2 Mô hình use case hệ thống bán vé xe 27
3 Bảng đặc tả use case hệ thống 27
4 Sơ đồ lớp của hệ thống 36
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 38
1 Thiết kế cơ sở dữ liệu 38
1.1 Mô hình ERD 38
1.2 Mô hình dữ liệu mức quan hệ (sơ đồ diagram) 39
2 Thiết kế giao diện hệ thống 39
3 Cài đặt hệ thống 47
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 56
Trang 4https://documents-downloader.pages.dev/document 4/60
1 Kết luận 56
2 Hướng phát triển đề tài 56TÀI LIỆU THAM KHẢO 57
Trang 5https://documents-downloader.pages.dev/document 5/60
DANH MỤC HÌNH ẢNH
ST4 Hình 3.3, 3.3a, 3.3b: Form đặt vé online
5 Hình 3.4, 3.4a, 3.4b : Form quản lí chuyến xe
6 Hình 3.5: Form thống kê
7 Hình 3.6: form hủy vé xe
8 Hình 3.7: Giao diện trang đặt vé
Trang 6https://documents-downloader.pages.dev/document 6/60
LỜI MỞ ĐẦU
Trong những năm gần đây do sự chuyển đổi nhanh của nền kinh tế cơ chếquản lý tập trung vào công nghệ số, nên việc các công ty kinh doanh đang chuyểndần sang cơ chế chuyển đổi số để phục vụ tốt cho công việc kinh doanh mà còn đápứng mức độ hài lòng của hành khách, là một sinh viên sống xa nhà, việc đến nayvẫn chưa hài lòng vì vẫn còn một số ngành kinh doanh vẫn còn sử dụng hình thứcthủ công để làm việc đặt biệt là ngành dịch vụ xe khách, đây đúng ra là ngành nênđược chuyển đổi số nhanh vì đây là ngành lưu trữ thông tin khách hàng lớn, mộtngày trao đổi thông tin với số lượng rất lớn, nên việc lưu trữ xảy ra sai xót là rấtthường xuyên, làm mất lòng rất nhiều hành khách, bài tiểu luận nhóm hôm naynhằm mục đích giải quyết vấn đề khó khăn nêu trên Trang 72 Mục tiêu và phạm vi đề tài
Mục tiêu đề tài: Phần mềm được đề ra để giải quyết các vấn đề khó khăntrong thực tiễn
a Quản lý thông tin chuyến xe, thông tin xe
b Cho khách hàng đăng ký thành viên để để hành khách có thể tự đặt vé online
c Lưu thông tin khách hàng, để sử dụng về sau
d Cho khách hàng tìm kiếm chuyến xe theo nhu cầu khách hàng
e Đặt vé xe dễ dàng, giao diện dễ dùng, có thể phân biệt được ghế nào đã cókhách, ghế nào chưa có khách
f Hủy vé xe dễ dàng
g Lưu thông tin hành khách đã đặt xe, cùng với thông tin số ghế
h Tìm kiếm số ghế cho khách hàng đã đặt vé
Trang 9https://documents-downloader.pages.dev/document 9/60
CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG
1 Mô hình hóa nghiệp vụ
1.1 Sơ đồ Use-Case nghiệp vụ
Trang 10https://documents-downloader.pages.dev/document 10/60
1.2 Sơ đồ đối tượng nghiệp vụ
1.3 Mô hình hóa quy trình nghiệp vụ
Trang 11• Vào trang đặt vé xe dành cho hành khách
• Hành khách chọn ngày muốn đặt vé, giờ xuất phát, chọn điểm đi và điểmđến của tuyến xe muốn đặt
• Hành khách tiến hành tìm chuyến xe theo nhu cầu đặt vé
• Xuất hiện danh sách ghế của xe theo chuyến xe hành khách tìm
• Hành khách tiến hành chọn ghế muốn ngồi trên danh sách ghế
• Hành khách kiểm tra thông tin cá nhân đặt vé và thông tin ghế vừa chọn
• Xác định tổng tiền vé xe đặt
• Hành khách chọn hình thức thanh toán online nếu đặt vé tại nhà
• Hành khách nhập số thẻ vào hệ thống, thẻ nhận là thẻ ghi nợ quốc tế, số tiềnđặt vé sẽ được trừ trực tiếp vào thẻ ngân hàng
Trang 12https://documents-downloader.pages.dev/document 12/60
c/ Sơ đồ hoạt động use case Đặt Vé Xe
Trang 13https://documents-downloader.pages.dev/document 13/60
d/ Sơ đồ tuần tự use case Đặt vé xe
Trang 14https://documents-downloader.pages.dev/document 14/60
e/ Sơ đồ cộng tác
1.3.2Use case mua vé xe
a/ Xác định thừa tác viên và thực thể nghiệp vụThừa tác viên: Nhân viên
Thực thể nghiệp vụ: Vé xe, thẻ thành viên, danh sách khách đặt vé,chuyến xe b/
Mô tả bằng văn bản
Use case nghiệp vụ: Mua vé xe
Use case mô tả hoạt động đăng ký mua vé xe tại quầy
Trang 15https://documents-downloader.pages.dev/document 15/60
Các dòng cơ bản:
• Hành khách có yêu cầu mua vé đến quầy mua vé xe trực tiếp với nhân viên
• Nhân viên tiếp nhân thông tin mua vé xe của khách hàng
• Kiểm tra thẻ thành viên
• Dùng tài khoản của hành khách vào
• Tìm kiếm thông tin chuyến xe theo nhu cầu của khách hàng
• Xác nhận lại thông tin vé xe đã đặt (số ghế, vị trí ghế, tổng tiền)
• Mua vé thành côngCác dòng thay thế:
Ngoại lệ xảy ra tại dòng 4
• Hành khách chưa đăng ký thẻ thành viên,đăng ký thẻ thành viên cho hànhkhách
Ngoại lệ xảy ra tại dòng 6
• Xử lý không có chuyến xe theo nhu cầu khách đặt: Nếu không tìm đượcchuyến xe khách đặt đi, thì nhân viên giới thiệu chuyến xe khác gần giờ chuyến xekhách muốn đặt hoặc báo khách hàng không có chuyến
Trang 16https://documents-downloader.pages.dev/document 16/60
c/ Sơ đồ hoạt động use case Mua vé
Trang 17https://documents-downloader.pages.dev/document 17/60
e/ Sơ đồ cộng tác
1.3.4Use case đăng ký thành viên
a/ Xác định thừa tác viên và thực thể nghiệp vụThừa tác viên: Nhân viên
Thực thể nghiệp vụ: Thẻ thành viên b/ Mô tả bằng văn bản
Use case nghiệp vụ: Đăng ký thành viên
Use case mô tả hành khách có nhu cầu đăng ký thành viên để đăng nhập vào hệ
Trang 18https://documents-downloader.pages.dev/document 18/60
thống đặt véCác dòng cơ bản:
• Hành khách có nhu cầu đăng ký thẻ thành viên
• Khách hàng cung cấp thông tin cho nhân viên để đăng ký thành viên
• Nhân viên tiến hành đăng ký cho hành khách
• Nhân viên cung cấp mã cho hành khách
• Hành khách đăng nhập vào ứng dụng kiểm tra thông tin đăng ký
• Xác nhận đăng ký thành côngCác dòng thay thế:
Ngoại lệ xảy ra tại dòng 5
• Thông tin hành khách nhân viên nhập sai, báo lại nhân viên để sửa lại thôngtin cá nhân trên hệ thống
c/ Sơ đồ hoạt động
Trang 19https://documents-downloader.pages.dev/document 19/60
d/ Sơ đồ tuần tự
Trang 20https://documents-downloader.pages.dev/document 20/60
e/ Sơ đồ cộng tác
1.3.5Use case Cung cấp chuyến xe
a/ Xác định thừa tác viên và thực thể nghiệp vụThừa tác viên: Nhân viên
Thực thể nghiệp vụ: Chuyến xe b/ Mô tả bằng văn bản
Use case nghiệp vụ: Cung cấp chuyến xeUse case mô tả thông tin chuyến xe di chuyển từ tỉnh thành này đến tỉnh thành khác
Do nhà xe cung cấp chuyến xeCác dòng cơ bản:
• Tiếp nhận thông tin chuyến xe
• Bến xe cung cấp thời gian khởi hành từng xe cho nhân viên
Trang 21https://documents-downloader.pages.dev/document 21/60
• Bến xe cung cấp điểm đi,điểm đến cho từng chuyến xe cho nhân viên
• Xác nhận đưa chuyến xe được vận hànhCác dòng thay thế:
• Điểm đến bị trùng với điểm đi, xóa chuyến xe bị sai thông tin, không cho pháthành chuyến xe bị sai thông tin
c/ Sơ đồ hoạt động
Trang 22https://documents-downloader.pages.dev/document 22/60
d/ Sơ đồ tuần tự
Trang 23https://documents-downloader.pages.dev/document 23/60
e/ Sơ đồ cộng tác
d/ Sơ đồ tuần tự use case Mua vé xe
Trang 24https://documents-downloader.pages.dev/document 24/60
e/ Sơ đồ cộng tác
1.3.3Use case hủy vé xe
a/ Xác định thừa tác viên và thực thể nghiệp vụThừa tác viên: Nhân viên (Lơ xe)
Thực thể nghiệp vụ: Vé xe, danh sách khách đặt vé b/ Mô tả bằng văn bản
Use case nghiệp vụ: Hủy vé xeUse case mô tả hoạt động hủy vé xe tại quầy hoặc gọi điện thoại hủy vé củahành khách khi không còn nhu cầu di chuyển
Các dòng cơ bản:
• Hành khách đến quầy hủy vé xe trực tiếp với nhân viên hoặc gọiđiện thoại qua hotline nhà xe hủy vé đã đặt
Trang 25https://documents-downloader.pages.dev/document 25/60
• Nhân viên tiếp nhân thông tin hủy vé xe của khách hàng
• Tìm kiếm số điện thoại hành khách đã đặt vé trong danh sáchhành khách đặt vé
• Xác nhận số ghế muốn hủy
• Hủy vé xe hành khách muốn hủy
• Nhân viên cập nhật lại danh sách hành khách đặt vé
• Nhân viên cập nhật lại số lượng ghế trên xe
• Hủy vé thành côngCác dòng thay thế:
Ngoại lệ xảy ra tại dòng 3
• Tìm không thấy vé xe khách đã đặt: thông báo khách hàng xác nhận lạithông tin vé xe lần nữa
c/ Sơ đồ hoạt động use case Hủy vé xe
Trang 26https://documents-downloader.pages.dev/document 26/60
d/ Sơ đồ tuần tự
Trang 27https://documents-downloader.pages.dev/document 27/60
2 Mô hình use case hệ thống bán vé xe
Hình 2.1: mô hình use case hệ thống bán vé
Trang 285 Tiến hành tìm kiếm chuyến theo các điều kiện đã chọn
6 Hệ thống hiển thị danh sách ghế xe theo chuyến xe đangtìm
7 Hành khách tiến hành chọn số ghế muốn đặt vé
8 Xác nhận thông tin đặt vé và tổng tiền cần trả
9 Hành khách chọn hình thức thanh toán online
10 Hành khách nhập số thẻ tài khoản ngân hàng để thanhtoán
11. Tiến hành xác nhận đặt vé, hệ thống sẽ ghi nhận mã ghế
và thông tin hành khách đặt véDòng sự kiện
phụ
A1 Tại bước 1 nếu chưa có thẻ thành viên:
• Hành khách liên hệ hotline hoặc trực tiếp tại bến xe đểđăng ký thẻ thành viên
• Quay lại bước 1A6 Tại bước 6 không có chuyến xe theo điều kiệntìm kiếm
• Hệ thống sẽ thông báo “Chưa có chuyến xe theo khunggiờ đó”
• Hay tìm kiếm đặt vé ở một khung giờ khác
Trang 29https://documents-downloader.pages.dev/document 29/60
Trang 30Hậu điều kiện Hành khách đặt thành công vé xe
Tên use case Hủy vé xeTóm tắt Hành khách có nhu cầu hủy vé xe đã đặt, hành khách
liên hệ với nhân viên nhà xe, cung cấp thông tin cánhân đã đặt vé với tài khoản hành khách nào, nhânviên sẽ tìm kiếm và hủy vé cho hành khách, tiền đặt
vé sẽ được hoàn về số tài khoản đặt vé
Tác nhân Nhân viên bến xeUse case liên
quanDòng sự kiệnchính
1 Nhân viên bến xe nhận được thông tin hủy vécủa hành khách
2 Nhân viên tiến hành kiểm tra vé xe của hànhkhách đặt
3 Xác nhận lại số ghế muốn hủy vé
4 Kiểm tra lại thông tin hành khách đặt vé
5 Xóa vé xe đã đặt của hành khách
6. Hoàn tiền về số tài khoản đã đặt vé
Trang 31https://documents-downloader.pages.dev/document 31/60
Dòng sự kiện phụ A2 Tại bước 2 nếu không tìm thấy thông tin vé đã đặt
từ số điện thoại hành khách cung cấp:
• Hệ thống sẽ thông báo “Không tìm thấy vé xe đặt với sốđiện thoại này”
• Quay lại bước 1Điều kiện tiên quyết Hành khách phải đặt một vé từ hệ thống đặt vé dành
cho hành kháchHậu điều kiện Nhân viên tiến hành hủy vé thành công, cập nhật lại
danh sách vé xe đã đặt
Trang 32quanDòng sự kiệnchính
1 Nhân viên bến xe nhận được thông tin hủy vécủa hành khách
2 Nhân viên tiến hành kiểm tra vé xe của hànhkhách đặt
3 Xác nhận lại số ghế muốn hủy vé
4 Kiểm tra lại thông tin hành khách đặt vé
5 Xóa vé xe đã đặt của hành khách
6. Hoàn tiền về số tài khoản đã đặt véDòng sự kiện
phụ
A2 Tại bước 2 nếu không tìm thấy thông tin vé đã đặt
từ số điện thoại hành khách cung cấp:
• Hệ thống sẽ thông báo “Không tìm thấy vé xe đặt với sốđiện thoại này”
• Quay lại bước 1Điều kiện
tiên quyết
Hành khách phải đặt một vé từ hệ thống đặt vé dànhcho hành khách
Hậukiện
điều Nhân viên tiến hành hủy vé thành công, cập nhật lại
danh sách vé xe đã đặt
Trang 331 Nhân viên tiến hành thống kê số lượng vé xetheo chuyến xe các hàng đã đặt
2 Nhân viên vào nút thống kê
3 Hệ thống chuyển đến form Thống kê chọn biển
số xe muốn xuất báo cáo doanh thu của một xe
4. In ra báo cáo cho quản lýDòng sự kiện
phụ
A3 Tại bước xuất báo cáo không có dữ liệu
• Hệ thống sẽ thông báo “Doanh thu của chiếc xe này là 0”
• Sẽ có vài chuyến xe được tạo ra nhưng không có ngườiđặt theo chuyến này, nên việc không có dữ liệu cho một
Trang 341 Nhân viên nhập ngày giờ chuyến xe mới vào hệthống
2 Nhân viên nhập điểm đi và điểm đến các bến
3. Loại bỏ các chuyến xe cũDòng sự kiện
Nhân viên tạo thành công các chuyến xe
Tên use case Tìm số ghếTóm tắt Khi chuẩn bị trước giờ khởi hành xe chạy, nhân viên sẽ
sắp ghế cho hành khách, nhân viên sử dụng ứng dụng
để tìm số ghế đã đặt của hành khách được lưu trên hệthống, qua các số cuối số điện thoại hành khách
Tác nhân Nhân viên bến xeUse case liên
Trang 35https://documents-downloader.pages.dev/document 35/60
quanDòng sự kiệnchính
1 Nhân viên lấy dữ liệu các số cuối số điện thoạihành khách
2 Vào ứng dụng nhập vào ô tìm kiếm trong danhsách đặt vé
3. Hệ thống trả về mã ghế và chuyến xe để nhânviên sắp chỗ cho hành khác
Dòng sự kiện phụ
A3 Tại bước 3 nếu không tìm thấy vé xe hành kháchđặt theo số điện thoại hành khách cung cấp:
• Hệ thống sẽ thông báo “không tìm thấy vé xe”
• Tiến hành mua vé ngay cho hành khách
• Quay lại bước 1Điều kiện
1 Nhân viên nhập liệu thông tin hành khách cónhu cầu đăng ký thẻ thành viên
Trang 36• Hệ thống sẽ thông báo “Mật khẩu hay tên đăng nhập sai”
• Tiến hành sửa lại thông tin hành khách
• Quay lại bước 3Điều kiện
Trang 37https://documents-downloader.pages.dev/document 37/60
4 Sơ đồ lớp của hệ thống
Hình 2.2: sơ đồ lớp4.1 các đối tượng trong hệ thống bao gồm:
Trang 40https://documents-downloader.pages.dev/document 40/60
1.2Mô hình dữ liệu mức quan hệ (sơ đồ diagram)
Hình 3.2: sơ đồ diagram
2 Thiết kế giao diện hệ thống
Giao diện đăng nhập dùng để phân loại người dùng, đây là ứng dụng nhóm hướngđến là vừa online vừa offline, viết ứng dụng nhưng dựa trên ý tưởng viết app dùngcho điện thoại Trang đăng nhập này vừa dành cho hành khách đã đăng ký tài khoảnvới bến xe, và dành cho nhân viên của bến xe quản lý các thông tin liên quan đếnchuyến xe, hành khách, thống kê
Trang 43https://documents-downloader.pages.dev/document 43/60
Hình 3.4: Form quản lí chuyến xe
Trang 44https://documents-downloader.pages.dev/document 44/60
Hình 3.4 a
Trang 45https://documents-downloader.pages.dev/document 45/60
Trang 46https://documents-downloader.pages.dev/document 46/60
Form thống kê
Hình 3.5: Form thống kê
Trang 47https://documents-downloader.pages.dev/document 47/60
Form hủy vé xe cho khách
Hình 3.6: form hủy vé xe
Trang 48https://documents-downloader.pages.dev/document 48/60
3 Cài đặt hệ thống
Bước 1: Thiết kế giao diện cho trang đặt vé xe, dễ sử dụng với người dùng
Hình 3.7: Giao diện trang đặt vé
Trang 49https://documents-downloader.pages.dev/document 49/60
Bước 2: chúng ta sẽ khai báo một class định nghĩa cho các table trong database, gán
dữ liệu cho các cột khi thực hiện câu lệnh query
Trang 51https://documents-downloader.pages.dev/document 51/60
Lấy dữ liệu từ cột Điểm Đến của bảng Chuyến Đi
Lấy dữ liệu từ cột Giờ Đi của bảng Chuyến Đi
Trang 52https://documents-downloader.pages.dev/document 52/60
Bước 5: Vào class ChuyenDiDAO viết hàm tìm chuyến theo điều kiện ngày, giờ,
điểm đi, điểm đến
Bước 6: Vào Giao diện gọi class DAO gọi hàm timChuyenDi
Trang 53https://documents-downloader.pages.dev/document 53/60
Trang 54https://documents-downloader.pages.dev/document 54/60
Bước 7: Cài đặt tính năng cho nút click chọn ghế
Ý nghĩa code: khi trỏ chuột click vào mã ghế bất kỳ, nếu mã ghế màu xám thì
có thể click chuột để xóa đi ghế đang chọn, trả màu ghế từ màu xám về cùng màuvới panel chứa các ghế Ngược lại nếu ghế là màu khác thì không thể click chuột đổimàu ghế