Diagrama de clases para el sistema de gestión de aeropuertos

El aeropuerto es un sistema complejo en el que cada día funcionan miles de vuelos nacionales e internacionales y necesita una adecuada planificación y ejecución para convertirlo en un sistema de gestión.

Clases :

  • AirportManagement : esta clase contiene los detalles generales del aeropuerto.
  • TicketCounter : permite a los pasajeros comprar el boleto y pagarlo.
  • Vuelo : contiene todos los detalles del vuelo en un aeropuerto.
  • Empleados : los empleados pueden ser de dos tipos: empleados de aeropuerto y de avión. Esta clase es la clase principal de dos subclases: empleado del aeropuerto y empleado del avión.
  • AirportEmployees : esta clase es la clase secundaria de Employees. Describe a los empleados que trabajan en el aeropuerto. Contiene su designación y departamentos como aduanas, boletería, alimentación, etc.
  • AirplaneEmployees   : esta clase es la clase secundaria de Employee y contiene la designación como Air Hostess, Pilot, etc. Indica los empleados que trabajan dentro de los aviones.
  • Pista : contiene los detalles de la pista y también indica si la pista en particular está ocupada por algún vuelo.
  • Pasajeros : esta clase contiene los detalles de los pasajeros.
  • Tablón de anuncios : esta clase contiene los vuelos actuales y los vuelos que aún deben llegar y partir en un día en particular.
  • Equipaje : esta clase contiene los detalles del equipaje de un pasajero en particular.

Atributos:

  • Gestión de aeropuertos: nombre del aeropuerto, nombre de la ciudad, área
  • TicketCounter : TicketId, PassengerId, Origen, Destino, Precio, FlightId.
  • Vuelo : ID de vuelo, nombre de vuelo, capacidad, hora de inicio, hora de llegada, origen, destino, precio
  • Empleados – IdEmpleado, NombreEmpleado, SalarioEmpleado
  • AirportEmployees – Designación, Departamento
  • AirplaneEmployees  – Designación
  • Pista : número de pista, nombre del vuelo, estado ocupado
  • Pasajeros : PassengerId, PassengerName, PassengerAge, TicketId, LuggageId.
  • Tablón de anuncios: FlightId, FlightName, ArrivalTime, DepartureTime, Source Destination
  • Equipaje – EquipajeId, PassengerId, FlightId, NoOfLuggages

Métodos :

1. Gestión del aeropuerto:

  • open() -Esto indica si el aeropuerto está funcionando o no y nos ayuda a iniciar y detener el funcionamiento del aeropuerto.

2. Contador de boletos:

  • TicketDetails() – Este método muestra los detalles de nuestro boleto y los vuelos disponibles junto con sus precios.
  • BookTicket() – Este método es para reservar el boleto

3. Vuelo:

  • FlightDetails() : este método es para mostrar todos los detalles del vuelo junto con la cantidad de boletos reservados para cada vuelo.

4. Empleados:

  • EmployeeDetails() : este método se utiliza para mostrar los detalles del empleado junto con su designación.

5. Pista:

  • RunwayDetails() : este método proporciona la longitud de la pista, los vuelos que han reservado la pista y el vuelo que se encuentra actualmente en esa pista.
  • isOccupied() – Indica si la pista está ocupada o no.

6. Pasajeros:  

  • PassengerDetails() : este método muestra todos los detalles de los pasajeros en el aeropuerto.
  • Checkin() : este método es para registrarse en el vuelo.

7. Tablón de anuncios:

  • Detalles() : este método muestra los detalles de todos los vuelos que están en el aeropuerto y también muestra los horarios y los detalles de los vuelos que ya partieron y que llegarán pronto.
  • FlightStatus() : este método muestra el estado de un vuelo en particular y también dice si el vuelo está retrasado o sale pronto y también la cantidad de pasajeros.

8. Equipaje:

  • LuggageDetails() : este método muestra los detalles de todo el equipaje asociado con un pasajero en particular.
  • LuggageStatus() : este método se utiliza para indicar el estado del equipaje y dice si se revisó y envió.

Relación :

Herencia :

La herencia es el concepto de adquirir el recurso de los padres o la clase base por parte de la clase secundaria. En la herencia, la clase que permite compartir sus propiedades se conoce como clase principal y la clase que adquiere las propiedades de su clase principal se conoce como clase secundaria. La herencia reduce en gran medida la necesidad de volver a codificar y permite la reutilización del código.

Aquí, la clase de empleado es la clase principal, los empleados del aeropuerto y los empleados del avión son sus clases secundarias.

Asociación :

La asociación es un tipo de relación en la que ambas clases se utilizan entre sí y sus métodos. En asociación, ninguna clase es dueña de otra clase, porque ambas clases se usan mutuamente y aún permanecen en su propio espacio.

Aquí existe una relación de asociación entre pasajeros y empleados porque los pasajeros necesitan empleados y los empleados sirven a los pasajeros, pero ambos existen en su propio espacio.

Agregación :

La agregación es un tipo de relación en la que una clase depende de otra clase, pero puede existir incluso sin la otra clase. En resumen, la clase dependiente no está contenida físicamente dentro de la clase independiente.

Aquí estas tres clases siguen la agregación,

  • vuelo y pasajeros
  • Vuelo y tablón de anuncios
  • Vuelo y pista

Los pasajeros, el tablón de anuncios y la pista están relacionados con el vuelo de alguna manera, pero también pueden existir sin un vuelo y un vuelo puede ser reemplazado por otro vuelo.

Composición :

La composición es un tipo de relación en la que una clase en particular es propietaria de otra clase. En composición, la clase dependiente no puede existir sin la clase independiente y está contenida físicamente dentro de la clase independiente.

Aquí pasajeros y equipaje siguen una relación de composición porque el equipaje ni siquiera puede existir sin su dueño (pasajeros).

Notaciones: 

Diagrama de clase :

Publicación traducida automáticamente

Artículo escrito por suryadbdeveloper y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *