Trang web này không chỉ cung cấp một giao diện trực quan để tạo và điều chỉnhcác tuyến xe, mà còn cho phép nhân viên định hình lại lộ trình, đáp ứng nhanh chóngmọi thay đổi về nhu cầu di
Trang 1PROJECT REPORT
Bus Management System
Trần Duy Hưng- HE182688
Đỗ Tùng Dương- HE181160 Trịnh Ngọc Quang- HE180143 Nguyễn Phú Quảng- HE163991 Nguyễn Đức Anh– HE182179
Class: PRJ301 - SE1843 Spring 2024 FPT University Hanoi 17/03/2024 Mục Lục
Mục Lục.……… 1
Chương 1: Giới thiệu……… …2
Chương 2: Phương pháp thực hiện……… 3
2.1 Các phần mềm đã sử dụng………3
2.2 Design process……… 4
Chương 3: Cấu trúc hệ thống………6
3.1 System database…….……… 6
3.2 Back-end ………9
Trang 23.3 Front-end………9
Chương 4: Giao diện và chức năng……… ……… 11
4.1 Cho người dùng……… 11
4.2 Cho quản lý……… 13
4.3 Dành cho admin trang web……… 16
Chương 5: Tổng kết……… 20
5.1 Kết quả đạt được: 20
5.2 Hạn chế: 20
5.3 Khắc phục và phát triển: 20
Chương 1: Giới Thiệu HolaBus
HolaBus mang đến giải pháp đột phá trong quản lý và vận hành hệ thống xe bus, nơi giao thoa giữa nhu cầu đi lại của người dùng và khả năng quản lý linh hoạt của các quản trị viên Trang web này không chỉ cung cấp một giao diện trực quan để tạo và điều chỉnh các tuyến xe, mà còn cho phép nhân viên định hình lại lộ trình, đáp ứng nhanh chóng mọi thay đổi về nhu cầu di chuyển
Người dùng, ngay cả khi không cần đăng nhập, vẫn có thể dễ dàng khám phá và tìm kiếm các chuyến xe phù hợp với lịch trình của mình, kết nối liền mạch đến những điểm đến yêu thích HolaBus đem lại trải nghiệm tìm kiếm thông minh, nhanh chóng và thuận tiện
Trang 3Đối với quản trị viên, HolaBus trang bị quyền hạn để điều chỉnh, cấp phát quyền hạn chonhân viên một cách dễ dàng, từ đó duy trì một hệ thống hoạt động mượt mà, an toàn vàhiệu quả HolaBus không chỉ là một dịch vụ, mà còn là một cầu nối văn minh, đồng hànhcùng mỗi hành trình của bạn.
Chương 2: Phương pháp thực hiện
2.1 Các phần mềm đã sử dụng
Dưới đây là danh sách các phần mềm, thư viện và công cụ mà nhóm đã sửdụng:
2.1.1 Development tools
- Apache NetBeans IDE 18
- Apache Ant™ version 1.10.8
- Microsoft Visual Studio Code
- Microsoft SQL Server Management Studio 19
- Microsoft Windows Notepad
Trang 4- JavaScript 1.5
- Cascading Style Sheet 3
2.1.3 Servers and hosting platforms
- Jakarta Standard Tag Library 2.0
- Jakarta XML Binding API 2.1
- Microsoft JDBC Driver 4.2 for SQL Server
- JavaBeans Activation Framework 1.1
- JavaMail API 1.6.2
- Project LomBok
2.2 Design process
Trang 6Fig 2.1 Các bảng CSDL
Ở đây, từ lược đồ cơ sở dữ liệu, các đối tượng chương trình Java đã được tạo
để sử dụng làm đơn vị lưu trữ và khối xây dựng cơ bản, đồng thời các truy vấn
cơ sở dữ liệu cho các đối tượng nói trên đã được soạn thảo
Trang 7Chương 3: Cấu trúc hệ thống
3.1 System Database
fig 3.1 Database Diagrams
Bảng User : Lưu thông tin Người dùng , Quản trị Viên và Admin Bảng Bus : Lưu thông tin của các tuyến Bus.
Bảng Route :Lưu thông tin của tuyến đường.
Bảng Station : Lưu thông tin của từng bến xe.
Bảng RoutePassessStation : Lưu thông tin các bến xe nằm trên tuyến đường trong bảng Route.
3.2 Backends
Trang 8fig 3.2 back-end
3.3 Front-End
Trang 9fig 3.3 front-end
Trang 10Chương 4: Giao diện và chức năng
4.1 Cho người dùng
Tại giao diện người dùng khi đăng nhập vào trang web, trang web sẽ hiển thị toàn bộ thông tin các xe bus
fig 4.1.1: List of bus showed
Khi người dùng click và một tuyến bus bất kì, ví dụ ở đây là tuyến A10, sẽ hiển thị thôngtin về giá vé, tuyến bus, thời gian bắt đầu và kết thúc, tần số và danh sách các trạm dừng của xe bus
Trang 11fig 4.1.2: Details of bus
4.2 Cho quản lý
Sau khi sử dụng tài khoản quản lý để đăng nhập, đây là những quyền hạn của một quảnlý
fig 4.2.1: Roles of employee
Sau khi click vào quản lý xe bus Hệ thống sẽ chuyển sang trang bus-management.Trang web sẽ hiển thị những tuyến xe bus để chỉnh sửa hoặc xóa
fig 4.2.2: Details of bus
Trang 12Nếu click vào button sửa, trang web sẽ hiện lên giao diện như sau, ta có thể thay đổi tên, giá vé và tuyến của bus
Trang 13fig 4.2.3:
Trang 14Nếu click vào button “Thêm Bus”, hệ thống sẽ hiển thị giao diện, nơi đây ta có thể thêm bus với những thông tin như tên, giá, tuyến đường.
fig 4.2.4: Add bus
Vai trò thứ hai của quản lý là quản lý tuyến đường, tại đây(route-management), quản lý
có thể thêm tuyến đường, sửa và xem tuyến đường
Trang 15fig 4.2.5: Route-Management
Tại giao diện sửa tuyến đường, ta có thể sửa điểm đầu, điểm cuối, thời gian bắt đầu, thời gian kết thúc và tần suất
Trang 16fig 4.2.6: Edit route
Trang 17Giao diện sau khi click vào button “Xem” của tuyến đường, tại giao diện này, mọi trạm dừng cụ thể sẽ được sắp xếp theo thứ tự từ trên xuống và ta có thể sửa,thêm như xóa trạm dừng nào đó.
fig 4.2.7: Station List
fig 4.2.8: Edit Station
Trang 18fig 4.2.9: Add Station
4.3 Dành cho admin trang web
Giao diện đăng nhập cho admin
fig 4.3.1: Giao diện đăng nhập cho admin
Trang 20Chương 5: Tổng kết
5.1 Kết quả đạt được
Ứng dụng hoạt động ổn định: Đảm bảo rằng ứng dụng phát triển là ổn định và không gặp phải các lỗi nghiêm trọng trong quá trình sử dụng Các chức năng cơ bản như tìm kiếm tuyến xe, xem thông tin lịch trình và đặt vé cần hoạt động một cách mượt mà và không gây ra lỗi
Tính năng và trải nghiệm người dùng: Đánh giá sự hoàn thiện của các tính năng
và trải nghiệm người dùng Đảm bảo rằng ứng dụng cung cấp đầy đủ các tính năng mà người dùng mong đợi và có giao diện người dùng thân thiện và dễ sử dụng
Tính năng tìm kiếm và đặt vé: Đảm bảo rằng chức năng tìm kiếm tuyến xe và đặt
vé hoạt động một cách chính xác và nhanh chóng Người dùng cần có khả năng tìm kiếm tuyến xe theo địa điểm xuất phát và đích đến, xem thông tin lịch trình chi tiết và đặt vé một cách dễ dàng
Thông tin lịch trình đầy đủ: Đảm bảo rằng thông tin lịch trình hiển thị trên ứng dụng là đầy đủ và chính xác Bao gồm thông tin về các điểm dừng, thời gian xuất phát và đích đến, tần suất và các tuyến xe phục vụ
5.2 Hạn chế
Hạn chế về hiệu suất: Một ứng dụng web phức tạp như về xe buýt có thể gặp phảivấn đề về hiệu suất khi có nhiều người dùng truy cập cùng một lúc Điều này có thể dẫn đến thời gian tải trang chậm, đáp ứng chậm hoặc thậm chí là sự cố hoạt động của ứng dụng
Quản lý dữ liệu lớn: Với lượng dữ liệu lớn về lịch trình, điểm dừng và thông tin về hành khách, việc quản lý và xử lý dữ liệu có thể trở nên phức tạp Nếu không có một cơ sở dữ liệu và cấu trúc dữ liệu phù hợp, có thể gặp phải vấn đề về hiệu suất
và khả năng mở rộng
5.3 Khắc phục và phát triển
Tối ưu hóa hiệu suất: Dành thời gian để xem xét và cải thiện hiệu suất của ứng dụng Cải thiện tốc độ tải trang bằng cách sử dụng các kỹ thuật tối ưu hóa ảnh, minify và gộp các tệp CSS và JavaScript Sử dụng caching để lưu trữ dữ liệu tạm thời và giảm tải cho máy chủ Đảm bảo cơ sở dữ liệu được tối ưu hóa và chỉ truy vấn dữ liệu cần thiết
Tăng cường bảo mật: Áp dụng các biện pháp bảo mật mạnh mẽ hơn như mã hóa mật khẩu, sử dụng HTTPS, thực hiện kiểm tra đầu vào đầy đủ để ngăn chặn các cuộc tấn công như SQL injection và Cross-Site Scripting Cập nhật thường xuyên các thư viện và framework để bảo mật hệ thống khỏi các lỗ hổng bảo mật mới
Trang 21Liên tục cải tiến và duy trì: Duy trì quy trình phát triển liên tục để cải tiến và bảo trìứng dụng Điều này bao gồm việc thường xuyên cập nhật, kiểm tra và sửa chữa lỗi, cũng như thúc đẩy sự đổi mới và cải tiến liên tục.
Tăng cường giao tiếp và phản hồi từ người dùng: Xây dựng một cơ chế giao tiếp chặt chẽ với người dùng, bao gồm cả việc thu thập phản hồi và đánh giá từ họ để cải thiện ứng dụng Tạo các kênh phản hồi như hộp thư góp ý, trang web phản hồihoặc các cuộc khảo sát người dùng để thu thập ý kiến và đề xuất từ người dùng