Report Team 4
Report Team 4
• Customer: End-user who interacts with the system to book and manage flight tickets.
• Administrator, Administration System: Responsible for managing flights, customers, and book-
ing processes.
1.2 Actors
1.2.1 Customer
The Customer actor performs the following actions in the system:
• Register: The customer can register a new account in the system.
• Login: The customer logs in to access their account and services.
• Check for Availability: Allows the customer to search for available flights.
• Book Ticket: Enables the customer to book a flight, which extends to selecting a seat and
validating the payment.
• Payment: After booking, the customer proceeds to the payment process. This use case includes
validation through a payment gateway.
• Manage Ticket: Customers can manage their booked tickets (e.g., view, edit, or cancel). This
use case extends to viewing ticket history and the ability to cancel the ticket.
• Receive Flight Notifications: Customers receive notifications regarding their flight status and
other updates.
1.2.2 Customer
The Administrator and Administration System perform critical functions related to system manage-
ment:
• Flight Management: The administrator manages flights (create, edit, delete) as part of the
system’s operations.
• Customer Management: The administrator manages customer information, including creating,
editing, or deleting customer accounts.
• Booking Management: This includes overseeing booking status, processing bookings, and making
necessary adjustments.
1
1.3 Detailed Use Case Descriptions
1.3.1 Register
• Actor: Customer
• Description: The customer registers for a new account by providing necessary details (e.g., name,
email, password). This allows them to access the booking and ticket management features.
• Precondition: The customer is not logged in.
• Postcondition: A new account is created for the customer, allowing future access to the system.
1.3.2 Login
• Actor: Customer
• Description: After registering, the customer can log in using their credentials to access system
functionalities such as booking tickets and managing accounts.
• Precondition: The customer must have an existing account.
• Postcondition: The customer is logged into the system and has access to services.
1.3.5 Payment
• Actor: Customer
• Description: The customer completes the payment for the booked ticket. This process includes
validation through a payment gateway.
• Precondition: The customer has selected a flight and is ready to confirm the booking.
• Postcondition: Payment is processed successfully, and the ticket is confirmed.
2
1.3.7 Receive Flight Notifications
• Actor: Customer
• Description: The customer receives notifications about flight updates, such as delays, cancella-
tions, or boarding reminders.
• Postcondition: Booking statuses are updated, and necessary actions are taken to process book-
ings.
1.5 Conclusion
This use case diagram illustrates the key functionalities of the flight booking and management system.
By enabling customers to easily interact with flight services and allowing administrators to manage
system operations, the diagram provides a comprehensive overview of the system’s architecture and
interaction flow.
2 Class Diagram
2.1 Overview
This report provides a detailed specification for the class diagram, which models a reservation system.
The primary classes include Passenger, Reservation, Ticket, Payment, Flight, and Admin. Each class
has its attributes and methods, which define its behavior and interactions with other classes.
3
Figure 1: Usecase diagram
4
2.2 Class Descriptions
2.2.1 Passenger
• Attributes:
– id: Int - Unique identifier for the passenger.
– name: String - Name of the passenger.
– email: String - Email address of the passenger.
– phoneNumber: String - Phone number of the passenger.
– gender: String - Gender of the passenger.
– login: boolean - Indicates if the passenger is logged in.
• Methods:
– viewFlights(): void - Displays available flights.
– bookTicket(flight: Flight): void - Books a ticket for a specific flight.
– checkAvailability(): boolean - Checks if the flight is available.
2.2.2 Reservation
• Attributes:
– reservationId: Int - Unique identifier for the reservation..
– passenger: Passenger - The passenger associated with the reservation.
– flight: The flight associated with the reservation.
– class: String - The class of reservation.
– seatNumber: String - The seat number of reservation.
• Methods:
– confirmReservation(): boolean - Confirms the reservation.
2.2.3 Ticket
• Attributes:
– ticketId: Int - Unique identifier for the ticket.
– ticketName: String - Name associated with the ticket.
– flight: Flight - The flight connected to the ticket.
– passenger: Passenger - The passenger who holds the ticket.
– price: float - Price of the ticket for the flight.
• Methods:
– getTicketDetails(): String - Retrieves details about the ticket.
2.2.4 Payment
• Attributes:
– id: Int - Unique identifier for the payment.
– amount: Double - Amount to be paid.
– paymentMethod: String - Method of payment (e.g., credit card, PayPal).
– paymentStatus: String - Status of the payment (e.g., completed, pending).
• Methods:
– makePayment(): boolean - Processes the payment.
– refundPayment(): boolean - Initiates a refund of the payment.
5
2.2.5 Flight
• Attributes:
– flightId: String - Flight ID.
– flightName: String - Flight’s name
– flightStatus: String - The status of flight.
– capacity: Int - The capacity of flight.
– destination: String - Flight destination.
– departureTime: Date - Scheduled departure time.
– returnTime: Date - Scheduled return time.
– availableSeats: Int - Number of available seats on the flight.
• Methods:
– checkAvailability(): boolean - Checks available seats for the flight.
2.2.6 Admin
• Attributes:
– id: Int - Unique identifier for the admin.
– name: String - Name of the admin.
– email: String - Email address of the admin.
• Methods:
– addFlight(flight: Flight): void - Adds a new flight to the system.
– updateFlight(flight: Flight): void - Updates details of an existing flight.
– manageReservations(): void - Manages reservations made by passengers.
2.3 Conclusion
This class diagram provides a structured overview of the reservation system, detailing the relationships
and functionalities of each component. The outlined classes and their interactions will facilitate the
development of a robust system for managing flight reservations and payments.
6
Figure 2: Class diagram