1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng website bán vé xe khách trực tuyến

42 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Website Bán Vé Xe Khách Trực Tuyến
Tác giả Ngô Thị Khuê
Người hướng dẫn TS. Trần Xuân Sang
Trường học Trường Đại Học Vinh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo Đồ Án Tốt Nghiệp
Năm xuất bản 2016
Thành phố Nghệ An
Định dạng
Số trang 42
Dung lượng 2,62 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1: CƠ SỞ LÝ THUYẾT (7)
    • 1.1. Chuẩn bị và cài đặt (7)
    • 1.2. Tìm hiểu và cài đặt các công cụ và Framework (7)
      • 1.2.1. JDE (Java Developer Eclipse) (7)
      • 1.2.2. Apache Tomcat (7)
      • 1.2.3. JDBC (Java Database Connectivity) (7)
      • 1.2.4. Framework Apache Struts 1 (8)
      • 1.2.5. Hệ quản trị SQL Server (8)
      • 1.2.6. Mô hình MVC (8)
  • CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG (13)
    • 2.1. Mô tả yêu cầu (13)
    • 2.2. Biểu đồ phân cấp chức năng (14)
    • 2.3. Module dành cho thành viên và khách xem (14)
      • 2.3.1. Chức năng đặt vé (14)
      • 2.3.2. Chức năng đăng ký thành viên (15)
    • 2.4. Module dành cho quản trị và nhân viên (17)
      • 2.4.1. Chức năng quản lý vé xe (17)
      • 2.4.2. Chức năng quản lý nhà xe (20)
      • 2.4.3. Chức năng quản lý bến xe (23)
      • 2.4.4. Chức năng quản lý hóa đơn (25)
    • 2.5. Thiết kế cơ sở dữ liệu (28)
      • 2.5.1. Mô hình ERD (28)
      • 2.5.2. Mô tả các bảng dữ liệu (28)
  • CHƯƠNG 3: KẾT QUẢ CHẠY DEMO VÀ TRÌNH BÀY CÁC CHỨC NĂNG (33)
    • 3.1. Quá trình đặt vé (33)
    • 3.2. Chức năng đọc tin tức (36)
    • 3.3. Chức năng hướng dẫn mua vé (37)
    • 3.2. Chức năng quản lý (38)
    • 3.3. Chức năng tự động hủy vé, tự động thêm vé (40)
  • KẾT LUẬN (41)
  • TÀI LIỆU THAM KHẢO (42)

Nội dung

CƠ SỞ LÝ THUYẾT

Chuẩn bị và cài đặt

Các công cụ và Framework đƣợc sử dụng trong đồ án:

- Các công cụ và phần mềm sử dụng để lập trình và chạy ngôn ngữ Java Web bao gồm: JDE (Java Developer Eclipse), Apache Tomcat, JDBC (Java Database Connectivity)

- Hệ quản trị SQL server

Tìm hiểu và cài đặt các công cụ và Framework

Eclipse là môi trường phát triển tích hợp (IDE) nổi bật cho Java, ban đầu được phát triển bởi IBM và hiện nay do tổ chức Eclipse duy trì Ngoài hỗ trợ Java, Eclipse còn cho phép lập trình viên làm việc với nhiều ngôn ngữ khác như PHP, C, C++, C#, Python, HTML, XML và JavaScript thông qua các trình bổ sung.

JDE có thể đƣợc tải về và cài đặt tại trang chủ: https://www.eclipse.org

Apache Tomcat, thường được gọi là Tomcat, là một máy chủ web mã nguồn mở đƣợc phát triển bởi Apache Software Foundation (ASF) Tomcat thực thi một số Java

EE cung cấp các thông số kỹ thuật như Java Servlet, JavaServer Pages (JSP), Java EL và WebSocket, tạo ra một môi trường web "Java thuần túy" để chạy mã Java.

Apache Tomcat có thể đƣợc tải về và cài đặt tại trang chủ: http://tomcat.apache.org

Java Database Connectivity (JDBC) là một API cho ngôn ngữ lập trình Java, cho phép khách hàng truy cập cơ sở dữ liệu và là một phần của nền tảng Java Standard Edition của Oracle JDBC cung cấp các phương pháp để truy vấn và cập nhật dữ liệu trong cơ sở dữ liệu quan hệ Để kết nối với các nguồn dữ liệu ODBC từ môi trường máy ảo Java (JVM), cần có JDBC-to-ODBC Trong dự án này, hệ quản trị cơ sở dữ liệu được sử dụng là SQL Server, và JDBC tương ứng với SQL Server có thể được tải về và cài đặt tại: https://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx.

Apache Struts là một bộ khung mã nguồn mở độc lập, trước đây thuộc dự án Apache Jakarta, được sử dụng để phát triển ứng dụng web bằng J2EE Bộ khung này mở rộng Java Servlet API, hỗ trợ các nhà phát triển trong việc áp dụng kiến trúc MVC (Model-View-Controller).

Bộ khung cho phép thiết kế và triển khai các ứng dụng web quy mô lớn, hỗ trợ nhiều nhóm làm việc độc lập như nhà thiết kế trang và nhà phát triển thành phần Nó cung cấp tính năng hỗ trợ quốc tế (I18N), thư viện thẻ tùy biến phong phú, hiển thị nội dung theo dạng lát gạch và kiểm chứng nội dung Ngoài ra, bộ khung còn hỗ trợ nhiều lớp hiển thị khác nhau như JSP, XML/XSLT, JavaServer Faces (JSF) và Velocity, cùng với các lớp mô hình như JavaBeans và EJB.

Apache Struts 1 có thể tham khảo tại trang: https://struts.apache.org

1.2.5 Hệ quản trị SQL Server

SQL (Structured Query Language) là ngôn ngữ lập trình đặc biệt dùng để quản lý dữ liệu trong hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) hoặc xử lý dòng trong hệ thống quản lý luồng dữ liệu Microsoft SQL Server, phát triển bởi Microsoft, là một hệ thống quản lý cơ sở dữ liệu quan hệ, hoạt động như một máy chủ cơ sở dữ liệu, với chức năng chính là lưu trữ và truy xuất dữ liệu cho các ứng dụng phần mềm, có thể chạy trên cùng một máy tính hoặc qua mạng, bao gồm Internet.

SQL Server có thể đƣợc tải về và cài đặt tại trang: https://www.microsoft.com/en-us/server-cloud/products/sql-server

1.2.6.1 Sự ra đời mô hình MVC

Vào những năm 70 của thế kỷ 20 tại phòng thí nghiệm Xerox PARC ở Palo Alto, sự phát triển của giao diện đồ họa (GUI) và lập trình hướng đối tượng (OOP) đã mở ra cơ hội mới cho lập trình viên, cho phép họ làm việc với các thành phần đồ họa như những đối tượng có thuộc tính và phương thức riêng Không chỉ dừng lại ở đó, các nhà nghiên cứu tại Xerox PARC còn phát triển kiến trúc MVC (Model – View – Controller), tạo nền tảng cho nhiều ứng dụng hiện đại ngày nay.

MVC được phát minh tại Xerox Parc vào những năm 70 bởi Trygve Reenskaug và lần đầu tiên xuất hiện công khai trong Smalltalk-80 Sau một thời gian dài, thông tin về MVC gần như không có, ngay cả trong tài liệu của Smalltalk-80 Giấy tờ quan trọng đầu tiên về MVC là “A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk – 80”, được công bố bởi Glenn Krasner và Stephen Pope vào tháng 8/ tháng 9 năm 1988.

1.2.6.2 Kiến trúc mô hình MVC

MVC, viết tắt của Model – View – Controller, là phương pháp thiết kế giúp chia nhỏ ứng dụng thành ba thành phần chính: Model (mô hình), View (giao diện) và Controller (bộ điều khiển) Phương pháp này tối ưu hóa cấu trúc của ứng dụng, cho phép quản lý giao diện người dùng hiệu quả hơn và dễ dàng bảo trì.

Các thành phần chính của mô hình MVC a, Tầng Model

Mô hình là tập hợp các đối tượng đại diện cho dữ liệu của chương trình, bao gồm dữ liệu lưu trữ trong cơ sở dữ liệu (CSDL) và từ các hệ thống ứng dụng khác như email Tầng View đóng vai trò quan trọng trong việc hiển thị thông tin cho người dùng.

Giao diện người dùng (View) là phần hiển thị dữ liệu trên màn hình, bao gồm các menu, nút bấm, hộp đối thoại và lựa chọn, giúp người dùng thực hiện các thao tác như thêm, xóa, sửa và tìm kiếm dữ liệu trong hệ thống.

Controller là bộ phận điều khiển toàn bộ logic hoạt động của giao diện, tương tác với các thao tác của người dùng như chuột, bàn phím và thiết bị ngoại vi khác Nó có nhiệm vụ cập nhật và thao tác dữ liệu theo đầu vào nhận được, đồng thời điều khiển việc chọn phần "Hiển thị" phù hợp để truyền dữ liệu đến người dùng.

Khi người dùng cần thay đổi trạng thái của đối tượng đồ họa, họ sẽ tương tác thông qua Controller Controller sẽ thực hiện các thay đổi trên Model, và khi có bất kỳ sự thay đổi nào xảy ra, Model sẽ phát thông điệp để thông báo cho View và Controller Nhận được thông điệp từ Model, View sẽ cập nhật hiển thị của mình để đảm bảo thể hiện chính xác trạng thái của Model, trong khi Controller sẽ thực hiện các tương tác cần thiết để phản hồi lại người dùng hoặc các đối tượng khác.

Mô hình trình tự của mô hình MVC 1.2.6.3 Đặc điểm của mô hình MVC

Mô hình MVC mang lại nhiều lợi ích quan trọng, bao gồm khả năng bảo trì dễ dàng, phân chia chức năng thành các module và xây dựng ứng dụng nhanh chóng Việc tách biệt các thành phần model, view và controller giúp giảm bớt độ phức tạp trong quá trình phát triển Điều này cho phép dễ dàng thêm tính năng mới và thay đổi tính năng cũ mà không gây ảnh hưởng đến các phần khác của ứng dụng Hơn nữa, MVC tạo điều kiện cho các nhà phát triển và nhà thiết kế làm việc đồng thời, nâng cao hiệu quả và tính linh hoạt trong quá trình phát triển ứng dụng.

Kiến trúc MVC tách biệt sự phụ thuộc giữa các thành phần trong đối tượng đồ họa, giúp tăng tính linh động và khả năng tái sử dụng Nhờ vào cấu trúc này, giao diện của đối tượng đồ họa có thể được sửa đổi dễ dàng bằng cách thay đổi các thành phần View, trong khi cách lưu trữ (Model) và xử lý (Controller) vẫn không bị ảnh hưởng Tương tự, việc thay đổi cách lưu trữ hoặc xử lý cũng không làm thay đổi các thành phần còn lại của đối tượng đồ họa.

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Mô tả yêu cầu

Sau quá trình tìm hiểu và khảo sát, xác định có các tác nhân sử dụng website nhƣ sau:

- Quản trị: Người quản lý toàn hệ thống

- Nhân viên: Người sử dụng website để bán vé xe cho khách hàng

- Khách xem: Khách chỉ vào xem mà không đăng ký tài khoản trên website

- Thành viên: Khách xem online và đã đăng ký tài khoản trên website

Chức năng của các nhân tố đƣợc mô tả trong bảng sau:

Người dùng Mô tả chức năng

Quản trị Có quyền xem, thêm, cập nhật và xóa dữ liệu của tất cả các bản ghi; Quản lý toàn bộ hệ thống

Nhân viên Có quyền xem, thêm, cập nhật, tìm kiếm và xóa dữ liệu một số bản ghi

Khách xem Có quyền đăng ký, tìm kiếm thông tin vé, đặt vé, đọc tin tức,…

Thành viên Có quyền đăng nhập, tìm kiếm thông tin vé, đặt vé, đọc tin tức,…

Website được chia thành hai module chính: một module dành cho người quản trị và nhân viên bán vé, và một module dành cho thành viên cùng khách xem.

Module dành cho thành viên và khách xem: Thành viên và khách xem có thể:

- Xem và tìm kiếm danh sách các vé xe, các thông tin liên quan đến vé xe

- Xem và tìm kiếm danh sách các tin tức, sự kiện khuyến mãi

- Đăng nhập hoặc đăng ký thành viên

Module dành cho người quản lý:

Quản trị trong lĩnh vực vận tải bao gồm nhiều chức năng quan trọng như quản lý vé xe, nhà xe, và mạng lưới bến xe Ngoài ra, hệ thống cũng hỗ trợ quản lý hóa đơn, thống kê doanh thu và xử lý đặt vé online, giúp tối ưu hóa quy trình và nâng cao hiệu quả kinh doanh.

- Nhân viên bán vé có thể: o Quản lý vé xe o Quản lý hóa đơn o Xử lý đặt vé online o Thống kê doanh thu

Biểu đồ phân cấp chức năng

Biểu đồ phân cấp chức năng

Module dành cho thành viên và khách xem

Biểu đồ Use case thể hiện chức năng đặt vé

Mô tả Chức năng này diễn tả một khách hàng đặt vé nhƣ thế nào

Chính Khách xem, thành viên

Nếu thành công, thông tin đặt vé của khách hàng sẽ được lưu vào Database

Nếu bạn chưa điền thông tin tài khoản hoặc chưa chọn hình thức thanh toán, bạn sẽ không thể đặt vé Vui lòng thực hiện lại các bước này để hoàn tất quá trình đặt vé.

Luồng sự kiện chính/Kịch bản chính

Chức năng này bắt đầu khi người dùng đang ở trang chủ, bắt đầu thực hiện đặt vé:

1 Người dùng thực hiện chọn điểm khởi hành, điểm đến và thời gian

2 Người dùng nhấn vào nút “tìm kiếm”, chuyển đến trang chọn vé

3 Hệ thống đẩy dữ liệu các vé xe thỏa mãn lên trang chọn vé

4 Người dùng chọn vé thích hợp và nhấn nút “đặt vé”, chuyển đến trang đặt vé

5 Người dùng chọn số vé muốn mua, chọn điểm đón, trả khách và tiến hành nhấn nút “Thanh toán”

6 Người dùng điền đầy đủ thông tin vào phần “Thông tin khách hàng” nếu là khách hàng mới, hoặc đăng nhập nếu là thành viên đã đăng ký Chọn hình thức thanh toán, nhấn nút “Thanh toán”

7 Hệ thống đẩy dữ liệu tình trạng đặt vé vào “Hóa đơn vé của bạn”

8 Tình trạng thanh toán sẽ là “Chờ thanh toán”

Luồng sự kiện phát sinh/Kịch bản phát sinh

2.3.2 Chức năng đăng ký thành viên

Mô tả Chức năng này diễn tả một khách hàng đăng kí vào hệ thống nhƣ thế nào

Thành công Nếu thành công, thông tin của khách hàng sẽ được lưu vào CSDL

Lỗi Nếu tên đăng nhập đã tồn tại trong CSDL, người đăng nhập bắt buộc phải nhập lại tên đăng nhập mới ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/Kịch bản chính

Chức năng này bắt đầu khi người dùng đăng ký với hệ thống tại màn hình đăng ký

1 Hệ thống yêu cầu người dùng các thông tin đăng nhập và thông tin cá nhân

2 Người dùng điền các thông tin được yêu cầu

3 Người dùng chọn “Đăng ký”

4 Hệ thống xác thực tên đăng nhập chưa tồn tại và thêm thông tin người dùng mới vào CSDL

5 Màn hình phải thông báo đăng nhập thành công, quay về trang đăng nhập

Luồng sự kiện phát sinh/ Kịch bản phát sinh

Người dùng đã tồn tại

Khi người dùng nhập tên đăng nhập đã tồn tại trong luồng chính, hệ thống sẽ hiển thị thông báo lỗi ngay trên form đăng nhập Người dùng có thể chỉnh sửa thông tin hoặc hủy bỏ quá trình đăng nhập, dẫn đến việc kết thúc chức năng này.

Module dành cho quản trị và nhân viên

2.4.1 Chức năng quản lý vé xe

Biểu đồ Use case thể hiện chức năng quản lý vé

Chức năng này cho phép quản trị viên và nhân viên thêm, sửa, xóa và tìm kiếm vé một cách dễ dàng Đồng thời, cả quản trị viên, khách hàng và nhân viên đều có quyền truy cập thông tin chi tiết của vé, cũng như tìm kiếm và hiển thị danh sách vé.

Chính Người quản trị và nhân viên quản lý vé

Tiền điều kiện Nhân viên và người quản trị quản lý vé phải đăng nhập vào hệ thống trước khi chức năng bắt đầu

Nếu chức năng thành công, vé mới sẽ đƣợc thêm vào, xóa, cập nhật hoặc hiển thị ra

Lỗi Nếu không trạng thái hệ thống sẽ không thay đổi ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/Kịch bản chính

Chức năng này được khởi động khi người quản trị hoặc nhân viên quản lý vé cần thực hiện các thao tác để quản lý thông tin và dữ liệu liên quan đến vé xe.

1 Hệ thống yêu cầu người quản trị hoặc nhân viên quản lý vé xe chỉ rõ chức năng muốn thực hiện (hoặc thêm vé, xóa vé, cập nhập thông tin vé)

2 Mỗi lần người quản trị hoặc nhân viên quản lý vé cung cấp thông tin yêu cầu, 1 luồng con sẽ đƣợc thực thi

- Nếu người quản trị hoặc nhân viên quản lý vé chọn “Thêm vé”, luồng con “Thêm vé” sẽ đƣợc thực thi

- Nếu người quản trị hoặc nhân viên quản lý vé chọn “Cập nhập vé”, luồng con “Cập nhập vé” sẽ đƣợc thực thi

- Nếu người quản trị hoặc nhân viên quản lý vé chọn “Xóa vé”, luồng con

“Xóa vé” sẽ đƣợc thực thi

- Ở đây chỉ có nhân viên quản lý vé và quản trị mới có quyền tham gia quản lý vé, còn người khác sẽ không thể truy cập

1 Người quản trị hoặc nhân viên quản lý vé yêu cầu hệ thống hiển thị danh sách vé

2 Hệ thống hiển thị danh sách vé

3 Danh sách vé đƣợc liệt kê theo hệ thống chữ cái alpha

1 Hệ thống yêu cầu người quản trị hoặc nhân viên quản lý vé nhập thông tin vé cần thêm Bao gồm :

2 Mỗi lần người quản trị hoặc nhân viên quản lý cung cấp thông tin yêu cầu, hệ thống sinh ra và chỉ định một VeId Vé đó sẽ đƣợc thêm vào hệ thống

3 Hệ thống cung cấp cho người quản trị hoặc nhân viên quản lý vé mã của vé mới vừa đƣợc thêm vào hệ thống

4 Người quản trị hoặc nhân viên quản lý xác nhận việc thêm vé

5 Vé mới đƣợc thêm vào hệ thống

1 Hệ thống yêu cầu quản trị hoặc nhân viên quản lý vé chọn mã vé

2 Người quản trị hoặc nhân viên quản lý vé chọn mã vé Hệ thống xác định các thông tin của mã vé đƣợc chọn

3 Người quản trị hoặc nhân viên quản lý vé tạo một yêu cầu thay đổi thông tin vé

4 Mỗi lần người quản trị hoặc nhân viên quản lý vé cập nhập thông tin cần thiết, hệ thống sẽ cập nhập vé đó

5 Người quản trị hoặc nhân viên quản lý vé xác nhận lại yêu cầu

6 Vé đó đƣợc cập nhập vào hệ thống

1 Hệ thống yêu cầu người quản trị hoặc nhân viên quản lý vé chọn mã vé cần xóa

2 Nhân viên quản lý vé chọn mã vé Hệ thống xác định các thông tin của mã vé đƣợc chọn

3 Hệ thống nhắc người quản trị hoặc nhân viên quản lý vé xác nhân việc xóa vé đó

4 Người quản trị hoặc nhân viên xác nhận xóa vé

5 Hệ thống xóa bỏ tất cả các thông tin dữ liệu của vé đó trong hệ thống

6 Hệ thống sẽ thông báo là đã xóa thành công

Luồng sự kiện phát sinh/ Kịch bản phát sinh

2.4.2 Chức năng quản lý nhà xe

Biểu đồ Use case thể hiện chức năng quản lý Nhà xe

Chức năng này cho phép người quản trị quản lý nhà xe một cách hiệu quả, bao gồm việc thêm mới, sửa đổi, xóa thông tin và tìm kiếm nhà xe.

Phụ Nhân viên và Khách hàng

Tiền điều kiện Người quản trị quản lý vé phải đăng nhập vào hệ thống trước khi chức năng bắt đầu

Nếu chức năng thành công, nhà xe mới sẽ đƣợc thêm vào, xóa, cập nhật hoặc hiển thị ra

Lỗi Nếu không trạng thái hệ thống sẽ không thay đổi ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/Kịch bản chính

Chức năng này bắt đầu khi người quản trị muốn thực hiện các thao tác để quản lý các thông tin, dữ liệu về nhà xe

1 Hệ thống yêu cầu người quản trị chỉ rõ chức năng muốn thực hiện (hoặc thêm nhà xe, xóa nhà xe, cập nhập thông tin nhà xe)

2 Mỗi lần người quản trị cung cấp thông tin yêu cầu, 1 luồng con sẽ được thực thi

- Nếu người quản trị chọn “Thêm nhà xe”, luồng con “Thêm nhà xe” sẽ đƣợc thực thi

- Nếu người quản trị chọn “Cập nhập nhà xe”, luồng con “Cập nhập nhà xe” sẽ đƣợc thực thi

- Nếu người quản trị chọn “Xóa nhà xe”, luồng con “Xóa nhà xe” sẽ được thực thi

- Ở đây chỉ có quản trị mới có quyền tham gia quản lý nhà xe, còn người khác sẽ không thể truy cập

Luồng liệt kê nhà xe:

1 Người quản trị yêu cầu hệ thống hiển thị danh sách nhà xe

2 Hệ thống hiển thị danh sách nhà xe

3 Danh sách nhà xe đƣợc liệt kê theo hệ thống chữ cái alpha

1 Hệ thống yêu cầu người quản trị nhập thông tin vé cần thêm Bao gồm :

- Số điện thoại quản lý

- Giới thiệu về nhà xe

- Hình ảnh của nhà xe

2 Mỗi lần người quản trị cung cấp thông tin yêu cầu, hệ thống sinh ra và chỉ định một nhaXeId Nhà xe đó sẽ đƣợc thêm vào hệ thống

3 Hệ thống cung cấp cho người quản trị mã của nhà xe mới vừa được thêm vào hệ thống

4 Người quản trị xác nhận việc thêm nhà xe

5 Nhà xe mới đƣợc thêm vào hệ thống

Luồng cập nhập nhà xe:

1 Hệ thống yêu cầu quản trị chọn mã nhà xe

2 Người quản trị chọn mã nhà xe Hệ thống xác định các thông tin của mã nhà xe đƣợc chọn

3 Người quản trị tạo một yêu cầu thay đổi thông tin nhà xe

4 Mỗi lần người quản trị cập nhập thông tin cần thiết, hệ thống sẽ cập nhập nhà xe đó

5 Người quản trị xác nhận lại yêu cầu

6 Nhà xe đó đƣợc cập nhập vào hệ thống

1 Hệ thống yêu cầu quản trị chọn mã nhà xe

2 Quản trị nhập mã nhà xe Hệ thống xác định các thông tin của mã nhà xe đƣợc chọn

3 Hệ thống nhắc người quản trị xác nhân việc xóa nhà xe đó

4 Người quản trị xác nhận xóa nhà xe

5 Hệ thống xóa bỏ tất cả các thông tin dữ liệu của nhà xe đó trong hệ thống

6 Hệ thống sẽ thông báo là đã xóa thành công

Luồng sự kiện phát sinh/ Kịch bản phát sinh

2.4.3 Chức năng quản lý bến xe

Biểu đồ Use case thể hiện chức năng quản lý Bến xe

Chức năng này cho phép quản trị viên thực hiện các thao tác như thêm mới, sửa đổi, xóa và tìm kiếm thông tin bến xe một cách hiệu quả.

Phụ Nhân viên và Khách hàng

Tiền điều kiện Người quản trị quản lý vé phải đăng nhập vào hệ thống trước khi chức năng bắt đầu

Nếu chức năng thành công, bến xe mới sẽ đƣợc thêm vào, xóa, cập nhật hoặc hiển thị ra

Lỗi Nếu không trạng thái hệ thống sẽ không thay đổi ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/Kịch bản chính

Chức năng này bắt đầu khi người quản trị muốn thực hiện các thao tác để quản lý các thông tin, dữ liệu về bến xe

1 Hệ thống yêu cầu người quản trị chỉ rõ chức năng muốn thực hiện (hoặc thêm bến xe, xóa bến xe, cập nhập thông tin bến xe)

2 Mỗi lần người quản trị cung cấp thông tin yêu cầu, 1 luồng con sẽ được thực thi

- Nếu người quản trị chọn “Thêm bến xe”, luồng con “Thêm bến xe” sẽ đƣợc thực thi

- Nếu người quản trị chọn “Cập nhập bến xe”, luồng con “Cập nhập bến xe” sẽ đƣợc thực thi

- Nếu người quản trị chọn “Xóa bến xe”, luồng con “Xóa bến xe” sẽ được thực thi

- Ở đây chỉ có quản trị mới có quyền tham gia quản lý bến xe, còn người khác sẽ không thể truy cập

Luồng liệt kê bến xe:

1 Người quản trị yêu cầu hệ thống hiển thị danh sách bến xe

2 Hệ thống hiển thị danh sách bến xe

3 Danh sách bến xe đƣợc liệt kê theo hệ thống chữ cái alpha

1 Hệ thống yêu cầu người quản trị nhập thông tin vé cần thêm Bao gồm :

- Hình ảnh của nhà xe

2 Mỗi lần người quản trị cung cấp thông tin yêu cầu, hệ thống sinh ra và chỉ định một benXeId Bến xe đó sẽ đƣợc thêm vào hệ thống

3 Hệ thống cung cấp cho người quản trị mã của bến xe mới vừa được thêm vào hệ thống

4 Người quản trị xác nhận việc thêm bến xe

5 Bến xe mới đƣợc thêm vào hệ thống

Luồng cập nhập nhà xe:

1 Hệ thống yêu cầu quản trị chọn mã bến xe

2 Người quản trị chọn mã bến xe Hệ thống xác định các thông tin của mã bến xe đƣợc chọn

3 Người quản trị tạo một yêu cầu thay đổi thông tin bến xe

4 Mỗi lần người quản trị cập nhập thông tin cần thiết, hệ thống sẽ cập nhập bến xe đó

5 Người quản trị xác nhận lại yêu cầu

6 Bến xe đó đƣợc cập nhập vào hệ thống

1 Hệ thống yêu cầu quản trị chọn mã bến xe

2 Quản trị chọn mã bến xe Hệ thống xác định các thông tin của mã bến xe đƣợc chọn

3 Hệ thống nhắc người quản trị xác nhân việc xóa bến xe đó

4 Người quản trị xác nhận xóa bến xe

5 Hệ thống xóa bỏ tất cả các thông tin dữ liệu của bến xe đó trong hệ thống

6 Hệ thống sẽ thông báo là đã xóa thành công

Luồng sự kiện phát sinh/ Kịch bản phát sinh

2.4.4 Chức năng quản lý hóa đơn

Biểu đồ Use case thể hiện chức năng quản lý hóa đơn

- Chức năng này cho phép người quản trị và nhân viên quản lý hóa đơn Nó bao gồm xác nhận, xem chi tiết hoặc huỷ hoá đơn

- Cho phép khách hàng thêm mới hóa đơn nếu tiến hành đặt vé thành công

Tác Chính Nhân viên hệ thống, khách hàng, người quản trị hệ thống nhân Phụ Không có

Tiền điều kiện Quản trị hoặc nhân viên phải đăng nhập vào hệ thống trước khi chức năng bắt đầu

Nếu chức năng thành công, hoá đơn sẽ đƣợc thêm, liệt kê, cập nhật hoặc xóa

Lỗi Nếu không trạng thái hệ thống sẽ không thay đổi ĐẶC TẢ CHỨC NĂNG

Luồng sự kiện chính/ Kịch bản chính

Chức năng này bắt đầu khi người dùng muốn thực hiện các thao tác liên quan đến hóa đơn trên hệ thống

Mỗi lần người dùng cung cấp thông tin yêu cầu, 1 luồng con sẽ được thực thi

- Nếu khách hàng tiến hành đặt vé thành công, luồng con “tạo mới hoá đơn” sẽ đƣợc thực thi

- Nếu quản trị hoặc nhân viên chỉnh sửa hoá đơn, luồng con “Chỉnh sửa hoá đơn” sẽ đƣợc thực thi

- Nếu quản trị hoặc nhân viên huỷ hoá đơn, luồng con “Huỷ hoá đơn” sẽ đƣợc thực thi

- Nếu quản trị hoặc nhân viên xóa hóa đơn, luồng con “Xóa hóa đơn” sẽ đƣợc thực thi Ở đây khách hàng sẽ thực hiện chức năng để đặt vé

Luồng tạo mới hoá đơn:

1 Hệ thống hiển thị danh sách vé, chi tiết vé cho khách hàng

2 Khách hàng tiến hành chọn vé, số lƣợng vé để đặt vé

3 Hệ thống tiến hành kiểm tra tài khoản cũng nhƣ số vé và tính tiền cho hoá đơn

4 Khách hàng tiến hành thanh toán

5 Hệ thống tạo mới hoá đơn và thông báo lại cho khách hàng

Luồng chỉnh sửa hoá đơn:

1 Hệ thống trả về danh sách đặt vé (hoá đơn đã tạo)

2 Quản trị hoặc nhân viên tiến hành cập nhập, chỉnh sửa thông tin và xác nhận thay đổi

3 Hệ thống cập nhật thông tin và thông báo cho người dùng

1 Hệ thống trả về danh sách đặt vé (hoá đơn đã tạo)

2 Quản trị hoặc nhân viên tiến hành chọn vé và xác nhận xóa

3 Hệ thống cập nhật lại thông tin và thông báo cho người dùng

Luồng xác nhận hoá đơn

1 Hệ thống trả về danh sách các hoá đơn đang đƣợc chờ để xử lý

2 Nhân viên tiến hành chọn hoá đơn và xác nhận: Đã thanh toán, chờ thanh toán, đã huỷ

3 Hệ thống tiến hành cập nhật thông tin và thông báo cho nhân viên

Chức năng bắt đầu khi người quản trị hệ thống muốn xem thống kê hoá đơn

Người quản trị chọn chức năng, luồng con sẽ được xử lý tương ứng

- Nếu người quản trị chọn mục “Thống kê”, luồng con “Thống kê” sẽ được xử lý

1 Hệ thống trả về thông tin hoá đơn theo các mục: Tình trạng hóa đơn

2 Người quản trị chọn mục và xác nhận

3 Hệ thống trả về danh sách hoá đơn và thực hiện thống kê theo mục

Luồng sự kiện phát sinh/Kịch bản phát sinh

- Nếu trong khi khách hàng tiến hành đặt vé mà quá thời gian thực hiện thanh toán, quá trình đặt vé sẽ bị huỷ.

Thiết kế cơ sở dữ liệu

Sau khi có đƣợc mô tả yêu cầu cho hệ thống, cơ sở dữ liệu quan hệ của website đƣợc thiết kế nhƣ sau:

2.5.2 Mô tả các bảng dữ liệu

Bài viết mô tả cấu trúc dữ liệu của bảng nhà xe với các trường quan trọng như nhaXeId (int) là khóa chính, maNhaXe (Nvarchar 50) là mã nhà xe duy nhất, tenNhaXe (Nvarchar 50) là tên nhà xe, tenQuanLy (Nvarchar 50) là tên quản lý, và soDienThoaiQuanLy (Nvarchar 20) là số điện thoại của quản lý Ngoài ra, bảng còn chứa gioiThieu (Ntext) để giới thiệu về nhà xe, soLuongXe (Int) ghi nhận số lượng xe, dichVu (Nvarchar 50) mô tả dịch vụ cung cấp, diaChi (Nvarchar 50) là địa chỉ, và dienThoai (Nvarchar 20) là số điện thoại liên hệ.

Email Nvarchar 100 Email urlHinh Anh Nvarchar 50 Hình ảnh

Bài viết này trình bày cấu trúc dữ liệu cho bến xe, bao gồm các trường như benXeId (Int, khóa chính), diaDiemId (Int, khóa ngoại), maBenXe (Nvarchar 50, mã bến xe, duy nhất), tenBenXe (Nvarchar 50, tên bến xe), diaChi (Nvarchar 100, địa chỉ) và urlHinhAnh (Nvarchar 50, hình ảnh) Các trường này đảm bảo tính toàn vẹn và dễ dàng quản lý thông tin liên quan đến bến xe.

Trong cơ sở dữ liệu, trường "loaiVeId" là kiểu dữ liệu Int và đóng vai trò là khóa chính, xác định loại vé Trường "maLoaiVe" có kiểu Nvarchar với độ dài tối đa 50 ký tự, đảm bảo tính duy nhất cho mã loại vé "tenLoaiVe" cũng là Nvarchar với độ dài 50 ký tự, dùng để lưu tên loại vé Các trường "mucGiamGia" và "mucTangGia" đều có kiểu dữ liệu Int, lần lượt thể hiện mức giảm giá và mức tăng giá của loại vé.

Trong cơ sở dữ liệu, bảng chứa thông tin về vé xe với các trường dữ liệu quan trọng như veId (Int) là khóa chính để xác định vé, maVe (Nvarchar 50) là mã vé, nhaXeId (Int) là khóa ngoài liên kết đến nhà xe, loaiVeId (Int) là khóa ngoài chỉ loại vé, donGia (Money) thể hiện đơn giá, thoiGianDi (Datetime) ghi lại thời gian khởi hành và thoiGianDen (Datetime) là thời gian đến.

Bảng dữ liệu chứa các trường sau: "diaDiemId" (Int) là khóa chính, "maDiaDiem" (nvarchar 50) là mã địa điểm duy nhất, "tenDiaDiem" (nvarchar 50) là tên địa điểm, "diemKhoiHanh" (Int) là điểm khởi hành với khóa ngoài, và "diemKetThuc" (Int) là điểm kết thúc cũng với khóa ngoài.

Trường "tuyenDuongId" là kiểu dữ liệu Int với độ dài tối đa không giới hạn và đóng vai trò là khóa chính Trường "maTuyenDuong" có kiểu dữ liệu Nvarchar với độ dài tối đa 50, đảm bảo tính duy nhất cho mã tuyến đường Cuối cùng, trường "tenTuyenDuong" cũng có kiểu dữ liệu Nvarchar với độ dài tối đa 50, dùng để lưu trữ tên của tuyến đường.

Bảng dữ liệu hành trình bao gồm các trường như hanhTrinhId (Int) là khóa chính, maHanhTrinh (Nvarchar 50) với mã hành trình duy nhất, nhaXeId (Int) là khóa ngoài chỉ đến nhà xe, tuyenDuongId (Int) là khóa ngoài cho tuyến đường, diemDiId (Int) và diemDenId (Int) là khóa ngoài cho điểm đi và điểm đến Thời gian khởi hành được lưu trữ trong thoiGianDi (Datetime) và thời gian đến trong thoiGianDen (Datetime) Ngoài ra, soLuongKhach (Int) ghi nhận số lượng khách và veId (Int) là khóa ngoài cho vé.

Trường dữ liệu trong cơ sở dữ liệu bao gồm: "nguoiDungId" kiểu Int với độ dài tối đa là khóa chính, "tenDangNhap" kiểu Nvarchar 50 với yêu cầu là duy nhất, và "matKhau" kiểu Nvarchar 50 để lưu trữ mật khẩu.

Email Nvarchar 100 Email diaChi Nvarchar 100 Địa chỉ soDienThoai Nvarchar 20 Số điện thoại diemThuong Int Điểm thường

Bảng thông tin khách hàng bao gồm các trường sau: "khachHangId" là kiểu dữ liệu Int, đóng vai trò là khóa chính để xác định duy nhất mỗi khách hàng Trường "hoTen" có kiểu dữ liệu Nvarchar với độ dài tối đa 50 ký tự, dùng để lưu trữ họ tên của khách hàng Cuối cùng, trường "diaChi" cũng có kiểu dữ liệu Nvarchar nhưng với độ dài tối đa 100 ký tự, dùng để ghi nhận địa chỉ của khách hàng.

Email Nvarchar 100 Email gioiTinh Int Giới tính

Tuoi Int Tuổi ngheNghiep Nvarchar 50 Nghề nghiệp dienThoai Nvarchar 20 Điện thoại

Trường "phanHoiId" là kiểu dữ liệu Int với độ dài tối đa không giới hạn, đóng vai trò là khóa chính cho phản hồi Trường "noiDung" có kiểu dữ liệu Nvarchar với độ dài tối đa 500 ký tự, dùng để lưu trữ nội dung phản hồi "khachHangId" cũng là kiểu dữ liệu Int, giữ vai trò khóa ngoài liên kết với khách hàng Cuối cùng, trường "ngayPhanHoi" có kiểu dữ liệu Datetime, ghi lại ngày tháng của phản hồi.

2.5.2.11 Bảng Hình thức thanh toán

Tên trường Kiểu dữ liệu Độ dài tối đa Diễn giải Ràng buộc hinhThucThanh

ToanId Int Hình thức thanh toán Id Khóa chính maHinhThuc Nvarchar 50 Mã hình thức Unique tenHinhThuc Nvarchar 50 Tên Hình thức

Trường "hoaDonId" là kiểu dữ liệu Int và đóng vai trò là khóa chính, đại diện cho Id của hóa đơn Trường "veId" cũng là kiểu Int và là khóa ngoài, dùng để xác định Id của vé Trường "soLuong" có kiểu dữ liệu Int, ghi nhận số lượng vé được đặt "khachHangId" là trường Int khác, là khóa ngoài để liên kết với Id của khách hàng Cuối cùng, trường "hinhThucThanh" chưa được mô tả trong nội dung.

Hệ thống quản lý vé bao gồm các trường dữ liệu quan trọng như: Id của hình thức thanh toán, điểm giao vé (diemGiaoVe), ngày đặt vé (ngayDatVe), điểm đón (diemDon), điểm trả (diemTra), Id của người dùng (nguoiDungId), và tình trạng thanh toán (tinhTrangThanh) Các trường này được thiết kế để đảm bảo tính liên kết và quản lý hiệu quả thông tin vé.

Toan Nvarchar 50 Tình trạng thanh toán tongTien Money Tổng tiền timeDatVe Nvarchar 500 Thời gian đặt vé

Trường dữ liệu trong cơ sở dữ liệu bao gồm: tinTucId (Int) là khóa chính với độ dài tối đa không giới hạn, tieuDe (Nvarchar) có độ dài tối đa 500 ký tự dùng để lưu tiêu đề, tomTat (Nvarchar) cũng có độ dài tối đa 500 ký tự dùng cho tóm tắt, noiDung (Ntext) dùng để lưu nội dung mà không bị giới hạn độ dài, và urlHinhAnh (Nvarchar) có độ dài tối đa 50 ký tự để lưu đường dẫn hình ảnh.

KẾT QUẢ CHẠY DEMO VÀ TRÌNH BÀY CÁC CHỨC NĂNG

Quá trình đặt vé

Giao diện trang chủ khi bắt đầu truy cập hệ thống

(http://localhost:8080/vexe/showHome.do)

Trang chủ website Bán vé xe khách trực tuyến Để tìm kiếm và đặt vé, khách hàng phải chọn điểm khởi hành, điểm đến và thời gian đi

Sau khi chọn đầy đủ thông tin, click vào nút “Tìm kiếm”, hệ thống sẽ hiển thị tất cả những chuyến xe đáp ứng nhu cầu của khách hàng:

Khách hàng có thể dễ dàng điều chỉnh điểm khởi hành, điểm đến và thời gian đi nếu cần thiết Sau khi chọn chuyến đi mong muốn, hãy nhấn “Đặt vé” Tiếp theo, khách hàng sẽ chọn số lượng vé, địa điểm đón và trả khách, rồi nhấn “Thanh toán” để hoàn tất giao dịch.

Nếu bạn là khách hàng mới, hãy nhập đầy đủ thông tin cần thiết hoặc đăng nhập nếu bạn đã có tài khoản để bỏ qua bước này Sau đó, kiểm tra lại thông tin như tiền vé, số lượng vé, tổng tiền và chọn hình thức thanh toán “Chuyển khoản” hoặc “Thanh toán trực tiếp” Cuối cùng, nhấn nút “Thanh toán” để hoàn tất quá trình đặt vé.

Sau khi đặt vé thành công, khách hàng có thể kiểm tra lại thông tin và thời gian còn lại để hoàn tất thanh toán Mỗi khách hàng có 30 phút để thực hiện việc thanh toán; nếu quá thời gian này, vé sẽ tự động bị hủy Nếu khách hàng chuyển đủ số tiền vào tài khoản, nhân viên sẽ cập nhật trạng thái thanh toán thành "Đã thanh toán", xác nhận rằng khách hàng đã đặt vé thành công.

Chức năng hướng dẫn mua vé

Tại trang chủ, người dùng chọn “Hướng dẫn” tại phần Header của trang để nhận được hướng dẫn mua vé.

Chức năng quản lý

Giao diện chung của người quản trị và nhân viên bán vé:

Người quản trị và nhân viên bán vé có thể thực hiện các chức năng quản lý trang web, bao gồm quản lý vé, mạng lưới xe, bến xe, người dùng, khách hàng, tin tức và thêm các hình thức thanh toán.

Giao diện quản lý hóa đơn

Giao diện quản lý nhà xe

Giao diện quản lý bến xe

Chức năng tự động hủy vé, tự động thêm vé

Trang web đã được nâng cấp với chức năng tự động hủy và thêm vé Hệ thống sẽ tự động hủy vé của ngày hôm đó vào cuối mỗi ngày, khiến khách hàng không thể tìm kiếm vé đã đặt cho ngày hôm đó và những ngày trước Chức năng tự động thêm vé hoạt động theo lịch trình và công việc đã được cài đặt Tính năng này được phát triển trong hệ quản trị SQL Server thông qua công cụ SQL Agent, cho phép server tự động hoạt động dựa trên các công việc và lịch trình đã xác định trước.

Ngày đăng: 01/08/2021, 10:56

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w