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

Un teatro es un lugar donde todos disfrutan de la película en público. En este artículo, veamos el sistema de gestión del teatro indio típico junto con su diagrama de clases.

Clases :

  • TheatreManagement: Esta clase contiene los detalles del teatro.
  • Película: contiene los detalles de la película junto con su número de sala y horarios.
  • Pasillo: esta clase contiene la pantalla de cine en el teatro y es el lugar donde la gente se sienta y ve la película.
  • Asientos: muestra los detalles de los asientos en una sala en particular y describe el tipo de asiento. El tipo de asientos puede ser asiento delantero, asiento trasero, asiento con balcón.
  • Cliente: Contiene información sobre el cliente.
  • TicketCounter: esta clase es para vender boletos a los clientes según la tarifa de la película.
  • Empleado: esta clase se utiliza para almacenar datos de empleados. El empleado puede ser de dos tipos. Entonces, esta clase es la clase base de dos clases secundarias: TechnicalOperators y SupportStaff
  • TechnicalOperators: esta clase es la clase secundaria de Employees. El personal técnico es el que opera las pantallas y los sistemas de sonido.
  • SupportStaff: esta es también la clase secundaria de Employee. Son las personas que se encargan de la limpieza, emisión de entradas, vigilancia y mantenimiento del teatro.
  • Estacionamiento: esta clase contiene los detalles de los estacionamientos. Aquí podemos estacionar nuestros vehículos y pagar las tarifas de estacionamiento.
  • Tiendas: esta clase contiene los detalles de las tiendas que estarán presentes en el teatro para vender bocadillos y otras cosas.
  • OperatorRoom: esta sala se encarga de mostrar la película. El operador de esta sala controla la pantalla y los sistemas de sonido del teatro.
  • Baños: Esta clase trata sobre los baños en el teatro, su disponibilidad, etc.

Atributos:

  • Gestión de teatro: TheatreName, City, NoOfScreens, MovieList
  • Película: MovieId, MovieName, Género, Duración
  • Salón: Hall_Id, HallName, MovieId
  • Asientos: SeatId, Hall_Id, SeatType,TotalSeat, NoOfSeatsBooked
  • Cliente: CustomerId, CustomerName, CustomerAge, CustomerGender
  • TicketCounter: TicketId, CustomerId, Hall_Id, MovieName, TicketPrice
  • Empleado: Id. de empleado, Nombre de empleado, Designación, Salario
  • Estacionamiento : TotalSlots, SlotsOccupied,
  • Tiendas: ShopId, EmployeeId, ShopName, ItemList
  • OperatorRoom: InchargeId, Incharge name, Hall_Id
  • Baño: NoOfSlots

Métodos :

1. Dirección de Teatro:

  • IsOpen() : este método indica si el teatro en particular está abierto o cerrado.
  • DisplayMovies() : este método muestra la lista de películas en un cine en particular.

2. Película:

  • DisplayMovieDetails() : muestra una descripción detallada de las películas, como su número de pantalla, los tiempos y el género de la película.

3. Salón:

  • DisplayDetails() : este método muestra los detalles de la sala en el teatro.

4. Asientos:

  • DisplayAvailableSeats() : este método muestra los asientos disponibles en una sala en particular en cada categoría .

5. Cliente:

  • CustomerDetails() : este método contiene los detalles de los clientes que vinieron a ver películas en el cine.

6. Contador de boletos: 

  • ShowTickets() : este método muestra las entradas disponibles para la película junto con su precio.
  • BookTickets() : este método se utiliza para reservar las entradas para un espectáculo en particular.

7. Empleado:

  • EmployeeDetails() : este método es para mostrar los detalles de los empleados junto con su designación.

8. Estacionamiento:

  • Park() – Este método es para estacionar los vehículos en el espacio disponible.
  • Pay() – Este método es para pagar las tarifas de estacionamiento.

9. Tiendas:

  • ShopDetails(): – Este método muestra los detalles de la tienda.
  • ItemDetails() : este método muestra los artículos disponibles junto con su precio de costo.
  • Buy() : este método se utiliza para comprar artículos en la tienda.

10. Sala del operador:

  • control() : este método es para controlar la pantalla, las películas que se muestran y el volumen y otros controles de los sistemas de sonido.

11. Baño:  

  • Use() – Este método es para usar el baño

Relaciones :

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í Employee es la clase principal y el personal técnico y el personal de apoyo son sus clases secundarias.

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í existe una relación de composición entre estas clases,

  • TeatroGestión y OperadorSala
  • Dirección de Teatro y Sala
  • Dirección de Teatro y Cine
  • Salón y Asientos
  • Dirección de Teatro y Venta de Entradas

Así que aquí la sala de operaciones, la sala, la película y el boleto ni siquiera pueden existir si no hay un teatro, por lo que están contenidos físicamente dentro del teatro. Asimismo, sin la sala, no hay asientos.

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í existen relaciones de asociación entre 

  • Cliente y Empleado
  • Cliente y Tiendas

Porque el cliente necesita al empleado y el empleado necesita al cliente y, de la misma manera, el cliente compra en las tiendas y las tiendas se benefician de los clientes.

Asociación unidireccional:

Como sugiere el nombre, la asociación unidireccional es el tipo de asociación en la que la relación es en una sola dirección. Solo una clase usa los métodos de otra clase, mientras que la otra clase no se beneficia de esta relación.

Aquí existe una asociación unidireccional entre estas clases,

  • cliente y baño
  • Cliente y Ticket
  • Empleado y estacionamiento
  • empleado y baño

Aquí el cliente usa baño y ticket, el empleado usa estacionamiento y baño. Aquí sólo las primeras clases se benefician de las segundas.

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í existe una relación de agregación entre estas clases.

  • Dirección de Teatro y Parking
  • Cine y Salón
  • TickerCounter y empleado

Estas clases se utilizan entre sí, pero no dependen completamente unas de otras y tampoco están contenidas físicamente.

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 *