Diagrama de clase para el sistema de gestión de parada de autobús

Una parada de autobús es un lugar donde todos los autobuses estarán disponibles para el transporte dentro de un estado y entre otros estados. En este artículo, veremos la gestión de la parada de autobús de una parada de autobús típica de la India junto con su diagrama de clases.

Clases :

  • BusStandManagement : esta clase contiene los detalles sobre la parada de autobús.
  • Empleado : esta clase nos brinda los detalles de todos los empleados que trabajan para la parada de autobús, incluidos los minoristas, el personal de apoyo, etc. Esta clase es la clase principal del personal de Conductor, Conductor y Mantenimiento, ya que todos son empleados.
  • Conductor : el conductor es la clase secundaria de empleado. Da los detalles de todos los conductores de autobús en la parada de autobús.
  • Conductor : Conductor es la clase secundaria de empleado. Esto nos da los detalles del conductor del autobús.
  • Personal de mantenimiento: el personal de mantenimiento es la clase secundaria de empleado. Da los detalles de todo el personal de mantenimiento.
  • Estacionamiento : la mayoría de las paradas de autobús tendrán un espacio de estacionamiento al lado. Esta clase nos da los detalles del estacionamiento, la información sobre los vehículos y el dueño de los vehículos.
  • Estacionamiento de autobuses: el estacionamiento de autobuses es la clase secundaria de estacionamiento. Es el espacio en el que solían aparcar los autobuses. En India, los autobuses a lugares específicos tendrán un área asignada en la parada de autobús, por lo que esos autobuses deben estacionarse allí.
  • VehicleParking : VehicleParking es la clase secundaria de estacionamiento. Contiene los detalles de otros vehículos en la parada de autobús, como vehículos de dos ruedas, automóviles y automóviles.
  • TravelAgency : estas son las agencias que venderían boletos para autobuses de larga distancia. Tiene dos clases secundarias GovernmentAgency y PrivateAgency.
  • GovernmentAgency : es la clase secundaria de TravelAgency. Contiene los detalles de la agencia gubernamental a cargo y los autobuses gubernamentales disponibles para viajes largos.
  • PrivateAgency : es la clase secundaria de TravelAgency. Contiene los detalles de los autobuses no gubernamentales y los servicios de viaje disponibles para reservar boletos de viaje largos.
  • Autobús : esta clase nos brinda los detalles del autobús en la parada de autobús, nos ayuda a obtener un boleto para ese autobús y obtener información sobre los asientos.
  • Pasajeros : esta clase brinda información sobre los pasajeros de la parada de autobús.
  • Billete : contiene la información sobre el billete reservado para viajar. Contendría los detalles del pasajero y el autobús junto con el horario del viaje.
  • Tiendas : esta clase contiene los detalles de todas las tiendas que estarían presentes dentro de la parada de autobús.

Atributos:

  • BusStandManagement – ​​BusStandName, Ciudad, Área
  • Empleado – Id. de empleado, Nombre de empleado, Designación de empleado, Salario de empleado
  • Conductor – BusId
  • Conductor – BusId
  • Personal de Mantenimiento – Departamento
  • Estacionamiento – NoOfFreeBusSlots NoOfFreeOtherSlots,,
  • Estacionamiento de autobuses: SlotId, PlaceName, ArrivalTime, DepartureTime
  • Estacionamiento del vehículo: ID de estacionamiento, nombre del propietario, tipo de vehículo, número de vehículo, hora de inicio, hora de finalización
  • Agencia de viajes – Nombre de la agencia, TotalBuses
  • Agencia Gubernamental – InchargeId
  • Agencia Privada – InchargeId, InchargeContact
  • Autobús : BusId, BusType, DriverId, ConductorId, TotalSeats, SeatsFilled, Source, Destination, TicketPrice, SlotId
  • Pasajeros : PassengerId, PassengerName, PassengerAge, PassengerGender, Source, Destination, BusId
  • Boleto – TicketId, BusId, PassengerId, Precio del boleto
  • Tiendas – ShopId, ShopName, OwnerId

Métodos:

1. Gestión de la parada de autobús: 

  • IsOpen() : este método indica si la parada de autobús funciona o no.

2. Empleado:  

  • EmployeeDetails() : este método obtiene los detalles del empleado.

3. Estacionamiento:  

  • ParkVehicle() : este método es para estacionar el vehículo.
  • Pagar() – El método de pago es para pagar las tarifas de estacionamiento.

4. Agencia de viajes

  • GetAvailableBuses() : este método muestra los autobuses disponibles para viajar.
  • BookTicket() : este método reserva el boleto para nosotros.

5. Autobús  

  • BusDetails() : este método brinda información sobre un bus específico.
  • GetTicket() : este método nos ayuda a reservar boletos para ese autobús específico.

6. Pasajeros

  • PassengerDetails() : este método es para obtener los detalles de un pasajero específico.

7. Boleto  

  • TicketDetails() : los detalles del boleto de un pasajero específico se pueden ver con este método.
  • isPaid() : este método muestra si el pasajero compró y pagó el boleto.

8. Tiendas  

  • ShopDetails() : muestra las tiendas de la parada de autobús junto con los artículos disponibles allí.
  • Comprar() : este método es para comprar los artículos en esas tiendas.

Relación:

1. Herencia:

        La herencia es la práctica de adquirir las propiedades requeridas de una clase a otra clase. La clase que adquiere las propiedades se conoce como clase secundaria. La clase que permite adquirir sus propiedades se conoce como clase padre. Se conoce simplemente como la relación padre-hijo. Es decir. Relaciones “es-un”

Aquí,  

1. Driver, Conductor, MaintenanceStaff es la clase secundaria de Employee.

  • El conductor es un empleado
  • El conductor es un empleado
  • El personal de mantenimiento es un empleado

     Satisface correctamente la relación «es-un»

2. GovernmentAgency y PrivateAgency es la clase secundaria de TravelAgency

  • GovernmentAgency es una agencia de viajes
  • PrivateAgency es una agencia de viajes

Satisface correctamente la relación «es-un»

3. BusParking y VehicleParking es la clase secundaria de Parking

  • BusParking es un parking
  • VehicleParking es un estacionamiento

Satisface correctamente la relación «es-un»

2. Agregación:

        En Agregación, la Clase A y la Clase B dependen entre sí, lo que indica que A tiene una instancia de B y B tiene una instancia de B, pero no están físicamente contenidas una dentro de la otra. En términos simples, la Clase B puede existir sin la Clase A. Sigue una relación «tiene-a» .  

Aquí,

  • BusStandManagement and Shop: la tienda puede existir sin Bus Stand.
  • BusStandManagement y estacionamiento: el estacionamiento puede existir sin la parada de autobús.
  • BusStandManagement y TravelAgency: TravelAgency puede existir sin parada de autobús.
  • Boleto y Pasajero – Pasajero puede existir sin boleto.
  • Autobús y Pasajero: el Pasajero puede existir sin Autobús.

sigue la relación de agregación.

3. Composición:

     En composición, la clase A y la clase B dependen una de la otra, lo que indica que la clase A tiene una instancia de la clase B dentro de la clase A. En otras palabras, la clase B está contenida físicamente dentro de la clase A. Por lo tanto, la clase B no puede existir sin la clase A. Sigue la relación «tiene-un».

Aquí,

  • Autobús y billete: el billete no puede existir sin el autobús

siga la relación de composición.

4. Asociación:

       En Asociación, una clase no está comprometida con la otra clase de ninguna manera, pero ambas clases se usan mutuamente y funcionan en sus propios espacios respectivos. Sigue la relación de “usar”.

Aquí,

  • Empleado y Pasajero: el empleado usa Pasajero, el Pasajero usa Empleado.

seguir la relación de asociación.

5. Asociación unidireccional:

          En la asociación unidireccional, dos clases están relacionadas de alguna manera, pero solo una clase hace uso de la otra clase, mientras que la otra clase no se beneficia de la relación. La clase A puede llamar a la clase B, mientras que la clase B no puede llamar a la clase A.

Aquí,  

  • Pasajero y tiendas – El pasajero usa tiendas

seguir asociación unidireccional.

Notación:

Diagrama de clase :

Publicación traducida automáticamente

Artículo escrito por aishwaryasum 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 *