Đề tài Xây dựng hệ thống quản lý xe khách và đặt vé trực tuyến

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

 

doc103 trang | Chia sẻ: Thành Đồng | Ngày: 05/09/2024 | Lượt xem: 459 | Lượt tải: 0download
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:

  • docde_tai_xay_dung_he_thong_quan_ly_xe_khach_va_dat_ve_truc_tuy.doc