Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Sistema de Administración del Cine Club Orson Welles (SACCOW) Análisis y Diseño Tacna, marzo del 2009
Mgr. Artidoro Velapatiño Castilla
Pág. 1 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
“Tengo un gato que se llama Trasch... Si estuviera intentando venderlo (por lo menos, si intentara venderlo a alguien que sabe de computación), no haría énfasis en que es cariñoso con los seres humanos y en que es autosuficiente, por cuanto vive fundamentalmente de los ratones que caza... Más bien, yo diría que es Orientado a Objetos”.
Roger King
A Berenice donde quiera que esté.
Mgr. Artidoro Velapatiño Castilla
Pág. 2 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.3 Índice Página 1.1 Carátula 1.2 Página introductora. 1.3 Índice general. 1.4 Identificación del Proyecto: 1.4.1 Título del Proyecto. 1.4.2 Descripción 1.4.3 Autor (es). 1.4.4 Versión. 1.4.5 Fecha. 1.5 Análisis. 1.5.1 Documentación del análisis 1.5.2 Especificación preliminar de requerimientos 1.5.3 Subsistemas e interfaces 1.5.4 Diagramas de casos de uso 1.5.4.1 Identificación de actores y definición de casos de uso 1.5.4.2 Construcción de diagramas 1.5.4.3 Descripción de casos de uso 1.5.4.4 Descripción de actores 1.5.4.5 Escenarios y subescenarios 1.5.4.6 Diagramas de actividades 1.5.5 Prototipos 1.5.5.1 Descripción del menú con las opciones del prototipo 1.5.5.2 Descripción de los módulos del menú. 1.6 Diseño 1.6.1 Diseño preliminar y diseño detallado 1.6.2 Diagramas de interacción 1.6.2.1 Diagramas de secuencia. 1.6.2.2 Diagramas de colaboración. 1.6.3 Diagramas de estructura. 1.6.3.1 Diagramas de clases: 1.6.3.1.1 Identificación de clases y objetos: 1.6.3.1.1.1 Clasificación de Ross 1.6.3.1.1.2 Análisis sintáctico: 1.6.3.1.1.2.1 Descripción de cómo funciona el sistema. 1.6.3.1.1.2.2 Subrayado de sustantivos, sintagmas-adjetivos y verbos para identificar las clases candidatas, sus atributos y los comportamientos 1.6.3.1.1.2.3 Uso del análisis de casos de uso haciendo uso de escenarios y subescenarios. 1.6.3.1.1.2.4 Fichas CRC (Clase - Responsabilidades - Colaboradores) con el formato de anverso y reverso en base a escenarios 1.6.3.1.1.2.5 Depurar clases, atributos y operaciones 1.6.3.1.2 Identificación de las relaciones de asociación, dependencia, herencia, agregación. 1.6.3.1.3 Construcción del diagrama de clases 1.6.3.1.4 Diccionario de datos 1.6.3.2 Diagrama de objetos. 1.6.4 Diagrama de comportamiento: 1.6.4.1 Diagramas de actividades. 1.6.4.2 Diagrama de estados. 1.6.5 Diagramas de implantación: 1.6.5.1 Diagramas de componentes. 1.6.5.2 Diagramas de despliegue. 1.7 Implementación del Sistema
Mgr. Artidoro Velapatiño Castilla
Pág. 3 de 72
1 2 3 5 5 5 5 5 5 6 6 7 9 10 10 14 16 19 20 21 24 24 24 24 24 26 26 28 31 31 31 31 31 32 32 33 34 36 38
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.7.1 Generación de la base de datos en SQL Server 2000 a partir de diagrama de clases: 1.7.1.1 Definición de los identificadores de clase. 1.7.1.2 Declaración de las clases persistentes. 1.7.1.3 Creación de los componentes de bases de datos. 1.7.1.3.1 Creación de los componentes 1.7.1.3.2 Creación del diagrama de componentes 1.7.1.4 Creación del esquema de la base de datos 1.7.1.5 Construcción del diagrama de modelo de datos. 1.7.1.6 Generación de la base de datos. 1.7.1.6.1 Creación de la Base de Datos en SQL Server 2000. 1.7.1.6.2 Generación de la Base de Datos en SQL Server 2000. 1.7.1.7 Aplicación de ingeniería reversa para generar modelos lógico y físico en ERWIN. 1.7.2 Construcción del prototipo inicial 1.7.2.1 Menú principal básico 1.7.2.2 Barra de herramientas 1.7.2.3 Barra de estado 1.8 Conclusiones y recomendaciones: 1.7.1 Las conclusiones se obtiene como consecuencia del desarrollo del análisis y diseño del software planteado. 1.7.2 Recomendaciones para ampliar, mejorar y optimizar el sistema. 1.9 Bibliografía y software: 1.9.1 Libros, revistas, apuntes, monografías, sitios Web, etc., se han consultado para realizar el trabajo. 1.8.2 Software utilizado en el trabajo: RATIONAL ROSE 2003, SQL SERVER 2000, ERWIN 4.1, C++ BUILDER 600, MS WORD.
Mgr. Artidoro Velapatiño Castilla
Pág. 4 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.4 Identificación del Proyecto 1.4.1 Titulo: “Sistema de Administración del Cine Club Orson Welles” 1.4.2 Descripción: Es un sistema de software que administra la taquilla, los clientes y las películas que se exhiben en el cine club. 1.4.3 Autores: Grupo Tákana: 2710890 VASQUEZ MOLLO, Virginia. 2710895 MOLINA CACERES, Juan José. 2710899 RIOS LOPEZ, Cecilia Ana.
1.4.4 Versión: 1.0 1.4.5 Fecha: 01/10/2007
Mgr. Artidoro Velapatiño Castilla
Pág. 5 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.5 Análisis 1.5.1 Documentación del análisis Se debe construir un sistema de software capaz de administrar una base de datos que contenga información sobre las películas exhibidas en el cine club, la venta de entradas, los datos de los usuarios (socios y eventuales). Sobre las películas se debe consignar todos los datos referentes a ella para elaborar una ficha técnica y un resumen del argumento y referencias críticas para las discusiones posteriores (Cine-Forum) a cada función. Las películas se adquirirán en formatos de rollo, video o DVD y se proyectan desde proyector de cine, un reproductor VHF o de una PC. Sobre los usuarios que son socios debe consignarse sus datos personales para la elaboración de los carnés que les da derecho a precio especial en las entradas y abonos por temporadas y a pagos a crédito. Se reservan entradas. Las reservas pueden ser de dos tipos: reservas individuales y abonos para ciclos de películas. Cada entrada es parte de una reserva individual o de un abono, pero no de ambas. Cada función tiene muchas entradas disponibles, cada una con un número de asiento único. Una función se puede identificar por una película, una fecha y una hora. En consecuencia los elementos implicados en el sistema son: 1 Las películas. 2 Los usuarios. 3 Las reservas 4 Las entradas 5 Las funciones Sobre las películas debe tener los datos sobre el título, título original, el director, el productor, los protagonistas, el género, el año de producción, la empresa productora, el color (blanco y negro y colores), la duración, el argumento, el soporte (video/ DVD) y apreciación crítica. Se debe poder realizar operaciones de adquirir, modificar y eliminar. Sobre los usuarios que sean miembros debe tenerse datos como apellidos, nombre, sexo, fecha de nacimiento, ocupación, dirección, teléfono, e-mail, y un código asignado por el sistema. Se debe poder realizar operaciones de agregar, modificar y eliminar. Se debe poder realizar operaciones de agregar, modificar y eliminar. Sobre las reservas solo se debe consignar la fecha. Si la reserva es para entradas de abono debe consignarse un número de serie. Sobre las entradas es necesario saber la disponibilidad, el número. Se debe poder realizar operaciones de vender, intercambiar y anular. Sobre las funciones se debe consignar los datos sobre fecha, hora y lugar. El sistema debe controlar y/o aceptar: a. Administrar las películas adquiridas por el Cine Club. a.1 Registrar adquisición de películas. a.2 Registrar información sobre las películas. a.3 Imprimir ficha técnica y apreciación crítica. b. Administrar a los usuarios socios. b.1 Registrar ingresos, modificaciones y eliminación b.2 Imprimir carné de socio. c. Administrar las funciones de proyección de las películas. c.1 Programar funciones de proyección. c.2 Imprimir calendario de funciones y ciclos de cine. c.3 Elaborar estadísticas sobre las funciones. d. Administrar la taquilla de cada función. d.1 Control de reservas para entradas y abonos. d.2 Controlar venta de entradas y abonos. d.3 Imprimir entradas y abonos. Mgr. Artidoro Velapatiño Castilla
Pág. 6 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
d.4 Confeccionar estadísticas sobre entradas. El Usuario puede pedir información sobre películas, entradas y funciones. Si es socio tiene derecho a precios especiales de entradas y abonos. Puede dar sugerencias a través de correo electrónico. El Administrador es el encargado de adquirir las películas, por alquiler de rollos, por compra o donación de proveedores de videos o DVD. Es el encargado de administrar las películas y programar las funciones y dirigir los cine-forum después de cada función. El Cajero es el encargado de vender las entradas y abonos y controlar la taquilla de cada función. El Director es el encargado de administra la institución. Es el único que autoriza los créditos para los socios del Cine Club. Nota: El archivo del modelo en Rational Rose 2003, se llama SACCOW.mdl. En él se guarda todos los diagramas y elementos del sistema. En adelante haremos referencia a él con modelo SACCOW. Estará ubicada en una carpeta D:\PROYECTO_SACCOW
1.5.2 Especificación preliminar de requerimientos R.0 Requerimientos generales R.0.1 Las fechas se registrarán en el formato dd/mm/aaaa. R.0.2 Las unidades monetarias se registrarán con dos decimales y en soles. R.0.3 Se usará la coma decimal en la notación numérica.
R.1 Gestión de usuarios R.1.0 Requisitos generales de los usuarios R.1.0.1 Los usuarios pueden ser eventuales o socios del Cine Club. R.1.0.2 A los usuarios socios se les asignará un código de identificación. R.1.0.3 A los usuarios socios se les define por su apellido, nombre, documento de identificación (DNI, Carné de extranjería, Carné de estudiante, etc.), sexo, fecha de nacimiento, ocupación, dirección, teléfono, e-mail, fecha de inscripción, foto.
R.1.1 Añadir usuarios socios R.1.1.1 Sólo se puede añadir usuarios socios, previa autorización del Director.
R.1.2 Eliminación de usuarios socios R.1.2.1 Sólo se puede eliminar a un socio con autorización del Director. R.1.2.2 Para poder eliminar a un socio es necesario que no tenga pendiente con el Cine Club. R.1.2.3 Sólo se eliminará a un socio que haya dejado de participar por un periodo de un año en el Cine Club sin justificación.
R.1.3 Modificación de usuarios socios R.1.3.1 Sólo se puede modificar los datos de un socio con su autorización y la del Director.
R.1.4 Búsqueda de de usuarios socios R.1.4.1 Puede buscase individualmente los datos de socio por código, apellido y nombre. R.1.4.2 Puede buscarse por grupos por orden alfabético, cronológico (fecha de nacimiento, fecha de inscripción). R.1.4.3 Los resultados de las búsquedas deben imprimirse.
R.1.5 Impresión de carnés de socios. R.1.5.1 Se debe imprimir los carnés de los socios con autorización del Director. Mgr. Artidoro Velapatiño Castilla
Pág. 7 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
R.2 Gestión de películas R.2.0 Requisitos generales de las películas: R.2.0.1 Las películas pueden estar grabadas en video o DVD. R.2.0.2 A las películas se les asignará un código de identificación. R.2.0.3 A las películas se les define por su título, título original, director, productor, protagonistas, género, año de producción, empresa productora, país, color (blanco y negro y colores), duración, argumento, soporte (video/ DVD) y apreciación crítica.
R.2.1 Añadir películas R.2.1.1 Sólo se puede añadir películas adquiridas o compradas por el Cine Club.
R.2.2 Eliminación de películas R.2.2.1 Sólo se pueden eliminar películas deterioradas o perdidas previo conocimiento del Administrador.
R.2.3 Modificación de películas R.2.3.1 Sólo se puede modificar los datos de un Administrador.
con la autorización del
R.2.4 Búsqueda de películas R.2.4.1 Puede buscase individualmente los datos de por código, título. R.2.4.2 Puede buscarse por grupos por director, protagonistas, empresa productora, año de producción, país, etc. R.2.4.3 Los resultados de las búsquedas deben imprimirse.
R.2.5 Impresión de fichas técnicas de películas. R.2.5.1 Se debe imprimir las fichas técnicas y apreciación crítica de las películas.
R.3 Gestión de funciones R.3.0 Requisitos generales de las funciones R.3.0.1 Las funciones se programan con fecha y hora de acuerdo a la programación y se identifican con un número de identificación correlativo.
R.3.1 Añadir funciones R.3.1.1 Sólo se puede añadir funciones que se tengan seguridad de llevarse a cabo.
R.3.2 Eliminación de funciones R.3.2.1 Sólo se puede eliminar una función que por motivos de fuerza mayor no se ha efectuado.
R.3.3 Modificación de funciones R.3.3.1 Sólo se puede modificar los datos de una función que por motivos de fuerza mayor se ha postergado en hora, en fecha, o en fecha y hora.
R.3.4 Búsqueda de funciones R.3.4.1 Puede buscase una función individualmente por el número de identificación y la fecha. R.3.4.2 Puede buscarse por grupos por un rango de fechas, o por un rango de número de identificación. R.3.4.3 Los resultados de las búsquedas deben imprimirse.
R.4 Gestión de la taquilla R.4.0 Requisitos generales de la taquilla R.4.0.1 La taquilla controla la venta de entradas individuales y abonos y el crédito Mgr. Artidoro Velapatiño Castilla
Pág. 8 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
concedido a los socios por venta de abonos. R.4.0.2 Sólo los socios pueden hacer reservas de entradas individuales y de abonos.
R.4.1 Reservas y entradas R.4.1.1 Sólo los socios tienen derecho a reservar entradas. R.4.1.2 Sólo se puede reservar un máximo de 4 entradas individuales. R.4.1.3 Sólo se puede reservar un máximo de 2 abonos. R.4.1.4 Las reservas sólo se cancelan con 24 horas de anticipación.
R.4.2 Registrar venta de entrada R.4.2.1 Sólo se puede registrar la venta de entradas individuales vendidas y canceladas en el momento y asignando el número de asiento respectivo. R.4.2.2 Se debe imprimir las entradas vendidas.
R.4.3 Registrar venta de abono R.4.3.1 Se pueden vender abonos a los usuarios en general. R.4.3.2 Se pueden vender abonos a crédito en tres cuotas a socios, previa autorización del Director. R.4.3.3 Se deben imprimir los abonos.
R.4.4Modificación de venta de entrada y abonos R.4.4.1 Sólo se puede modificar entradas o abonos en el momento de realizar la venta para cambiar de tipo (general o socio) o el número de asiento.
R.4.5 Anulación de venta de entradas y abonos R.5.4.1 Solo se pueden anular ventas de entradas y abonos en el momento de realizar la venta.
1.5.3 Subsistemas e interfaces del SACCOW ) SUBSISTEMAS: ; Subsistema de Taquilla: Es el sistema que administra las reservas, venta de entradas y abonos para las funciones del Cine Club.
; Subsistema de Administración: Es el sistema que administra a los usuarios, películas y funciones del Cine Club.
; Subsistema de Ayuda: Es el sistema de ayuda interactiva para el Sistema de Administración del Cine Club Orson Welles.
) INTERFACES ; Interfaz de Taquilla: La interfaz de Taquilla permite acceder a todas las opciones del Sistema de Taquilla.
; Interfaz de Usuario: La interfaz de Usuario permite acceder a todas las opciones de la Administración de Socios.
; Interfaz de Película: La interfaz de Película permite acceder a todas las opciones de la Administración de Películas.
; Interfaz de Función: La interfaz de Función permite acceder a todas las opciones de la Administración de Mgr. Artidoro Velapatiño Castilla
Pág. 9 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Funciones.
; Interfaz de Ayuda: La interfaz de Ayuda permite acceder a todas las opciones de la ayuda interactiva del Sistema de Administración del Cine Club Orson Welles. Ver Figura 2. Sistema de Administración del Cine Club Orson Welles <
>
Ayuda Interfaz_Ayuda
<>
<>
Taquilla
Administración
Interfaz_Funcion Interfaz_Película Interfaz_Taquilla
Interfaz_Usuario
Figura 1: Diagrama de Paquetes para Subsistemas e Interfaces del Sistema SACCOW. Este diagrama se llama DiagramaPaquetes en el modelo SACCOW.
1.5.4 Diagramas de Casos de Uso 1.5.4.1 Identificación de Actores y definición de Casos de Uso
) Identificamos actores en base a preguntas como las siguientes: ¿Cómo encontrar un actor? ♦ Identificar los usuarios del sistema ¿Por qué se diseña el sistema? ¿Cuáles son los actores que el sistema va a beneficiar? ¿Qué actores van a interactuar directamente con el sistema? (actores primarios) ¿Qué actores van a supervisar, mantener, recibir información del sistema? (actores secundarios) ♦ Identifique los roles que juegan esos usuarios desde el punto de vista del sistema ♦ Identifique otros sistemas con los cuales exista comunicación En primer lugar identificamos a los actores que interactúan con el sistema SACCOW: Usuario, Cajero, Director y Administrador. Ver Figura 2
Mgr. Artidoro Velapatiño Castilla
Pág. 10 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Director
Sistema de Administración del Cine Club Orson Welles Usuario
Cajero
Administrador
Figura 2: SACCOW con 4 actores que interactúan con él. Este diagrama se llama DiagramaContexto en el modelo SACCOW.
) Identificamos casos de uso en base a preguntas como las siguientes: ¿Cómo encontrar un caso de uso? ♦ Identifique las operaciones importantes del sistema a construir ¿Cuáles son las principales tareas de un actor? ¿Qué información tiene el actor que consultar, actualizar, modificar? ¿Cómo? ¿Qué cambios del exterior debe informar el actor al sistema? ¿Qué información debe informársele al actor, con respecto a los cambios del sistema? ) Para el subsistema Taquilla definimos los siguientes:
; Casos de Uso: 1. Reservar entradas: Consiste en las reservar que pueden hacer los usuarios de las entradas y abonos. Los abonos sólo pueden ser reservados por socios del Cine Club. Las reservan se confirman o cancelan con 24 horas de anticipación. 2. Comprar entradas: Consiste en efectuar la compra de entradas individuales para un función del Cine Club que puede ser efectuada por cualquier usuario. 3. Comprar abonos: Consiste en efectuar la compra de varias entradas para un ciclo de funciones de del Cine Club y que puede ser efectuada por cualquier usuario. 4. Cobrar: Consiste en la operación de cobranza que realiza el cajero. Las entradas individuales se cobran al contado. Solo existe el crédito para el pago de abonos y es sólo para socios. 5. Imprimir: Consiste en la impresión de entradas individuales y de abonos 6. Autorizar crédito: El Director de Cine Club es la única persona que puede autorizar crédito para la venta de abonos.
; Actores: 1. Usuario: Persona que asiste a las funciones del Cine Club. Los usuarios pueden ser Socios (con derechos especiales) y Eventuales (que asisten a una función muy de vez en cuando) y que no tiene derechos. 2. Cajero: Persona que se ocupa de vender entradas y abonos a los usuarios del SACCOW. 3. Director: Persona encargada de organizar los cine-club, promocionar las funciones, Mgr. Artidoro Velapatiño Castilla
Pág. 11 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
presidir las reuniones del cine club. 4. Administrador: Persona encargada de la administración del cine club. Como consecuencia tenemos el diagrama preliminar de la Figura 3.
Reservar entradas Cobrar Cajero
Comprar entradas
Usuario
(from Use Case Vi ew) (from Use Case Vi ew)
Comprar abonos
Director
Imprimir
Autorizar crédito
(from Use Case Vi ew)
Figura 3: Casos de uso preliminares para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaPreliminarCU_Taquilla en el modelo SACCOW. ) Identificamos relaciones entre actores y casos de uso en base a preguntas como las siguientes:
¿Cómo encontrar relaciones entre actores y casos de uso? ♦ Identificar los casos de uso en los cuales se ve implicado un actor ♦ Buscar relaciones extends entre casos de uso ¿Qué casos de uso son similares, diferenciándose en la forma en la cual hacen algunas operaciones? ¿Qué caso de uso redefine la forma en la cual se realiza una transacción dentro de otro caso de uso? ♦ Buscar relaciones include entre casos de uso ¿Que casos de uso son usados como transacciones de otros? ; Relaciones entre Casos de Uso: Hallamos las siguientes relaciones entre los casos de uso del subsistema Taquilla. Ver Figura 4.
Mgr. Artidoro Velapatiño Castilla
Pág. 12 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Reservar entradas <>
<>
Imprimir <> <>
Comprar entradas
<>
Comprar abonos
<>
<>
Imprimir entradas Imprimir abonos
<>
Cobrar
Autorizar crédito
Figura 4: Relaciones entre casos de uso para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaRelacionesCU_Taquilla en el modelo SACCOW.
) Para el subsistema Administración definimos los siguientes:
; Casos de Uso: 1. Administrar socios: Consiste en las reservar que pueden hacer los usuarios de las entradas y abonos. Los abonos sólo pueden ser reservados por socios del Cine Club. Las reservan se confirman o cancelan con 24 horas de anticipación. 2. Administrar películas: Consiste en efectuar la compra de entradas individuales para un función del Cine Club que puede ser efectuada por cualquier usuario. 3. Administrar funciones: Consiste en efectuar la compra de varias entradas para un ciclo de funciones de del Cine Club y que puede ser efectuada por cualquier usuario.
; Actores: 1. Administrador: Persona encargada de la administración del cine club. Como consecuencia tenemos el diagrama preliminar de la Figura 5.
Administrar socios
Administrador (from Use Case View)
Administrar películas
Administrar funciones
Figura 5: Casos de uso preliminares para el subsistema Administración de SACCOW. Este diagrama se llama DiagramaPreliminarCU_Administración en el modelo SACCOW.
; Relaciones entre Casos de Uso: Hallamos las siguientes relaciones entre los casos de uso del subsistema Administración. Ver Figura 6 Mgr. Artidoro Velapatiño Castilla
Pág. 13 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Administrar socios
<>
<> <>
<>
Ingresar socios
Modificar socios
<>
Eliminar socios Imprimir socios
Buscar socios
<>
<>
Búsqueda grupal
Búsqueda individual
<> <>
Imprimir (f rom Taquilla)
Administrar películas
<>
<>
<>
Ingresar películas
Modificar películas
<>
Eliminar películas
<>
Imprimir ficha técnica Buscar películas <> <>
<>
Búsqueda individual Búsqueda grupal <> <>
Imprimir (f rom Taquilla)
Mgr. Artidoro Velapatiño Castilla
Pág. 14 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Administrar funciones <> <>
Programar calendario
<>
<>
Ingresar funciones
<>
Modificar funciones Eliminar funciones Buscar funciones
<>
<>
Búsqueda individual
Búsqueda grupal
<>
<>
Imprimir (f rom Taquilla)
Figura 6: Relaciones entre casos de uso para el subsistema Administración de SACCOW. Los tres diagramas que aparecen en la figura se llaman DiagramaRelacionesCU_Administrar_Socios, DiagramaRelacionesCU_Administrar_Funciones y DiagramaRelacionesCU_Administrar_Funciones respectivamente en el modelo SACCOW.
¡Ejercicio!: ; Para el subsistema Ayuda definir los Casos de Uso y Actores. Hallar las relaciones entre casos de uso y construir el diagrama respectivo.
1.5.4.2 Construcción de Diagrama de Casos de Uso ) Para el subsistema Taquilla definimos lo siguiente: ; Diagrama de Casos de Uso: Ver Figura 7
Mgr. Artidoro Velapatiño Castilla
Pág. 15 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Socio
Eventual
Reservar entradas <> <>
Comprar abonos
Comprar entradas Usuario
<>
<>
(from Use Case View) <>
Imprimir
Cobrar <>
<>
Imprimir entradas
Imprimir abonos
<>
Autorizar crédito
Director (from Use Case View)
Cajero (from Use Case View)
Figura 7: Diagrama de Casos de Uso para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaCU_Taquilla en el modelo SACCOW.
) Para el subsistema Administración definimos lo siguiente: ; Diagrama de Casos de Uso: Ver Figura 8
Mgr. Artidoro Velapatiño Castilla
Pág. 16 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Administrar socios <> <> <>
<>
<>
<>
Búsqueda individual Ingresar socios
Modificar socios Eliminar socios
Imprimir socios
Buscar socios
<>
Administrador
Búsqueda grupal <>
Administrar películas (from Use Case View) <>
<> <>
<>
<>
<> <>
Ingresar películas Modificar películas Eliminar películas Imprimir ficha técnica Buscar películas <> <> <>
Búsqueda individual <>
Imprimir (from Taqui...
Búsqueda grupal
<>
Administrar funciones
<>
<> <>
<>
<> <>
<>
Búsqueda individual <>
Eliminar funciones Buscar funciones Programar calendario Ingresar funciones Modificar funciones Búsqueda grupal
<>
Figura 8: Diagrama de Casos de Uso para el subsistema Administración de SACCOW. Este diagrama se llama DiagramaCU_Administración en el modelo SACCOW.
¡Ejercicio!: ; Para el subsistema Ayuda construir el Diagrama de Casos de Uso final DiagramaCU_Ayuda que contenga todos los CU, Actores y relaciones existentes
Mgr. Artidoro Velapatiño Castilla
Pág. 17 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.5.4.3 Descripción de Casos de Uso ) Para el subsistema Taquilla vamos a describir los CU siguientes: Reservar entradas, Comprar entradas, Comprar abonos. ; Descripción del CU Reservar entradas CU_01 Versión Autor (es) Descripción Precondición Secuencia normal
Postcondición Excepciones
Rendimiento Frecuencia Importancia Urgencia Comentarios
Reservar entradas 1.0; 25/07/2005 VASQUEZ MOLLO, Virginia; MOLINA CACERES, Juan José; RIOS LOPEZ, Cecilia Ana. Permite al socio del Cine Club Orson Welles reservar entradas para las funciones de cine. Ser socio del Cine Club Orson Welles. Paso Acción 1 El socio se identifica personalmente o por teléfono proporcionando su código de socio. El cajero verifica los datos y da paso a la solicitud. 2 El socio solicita reserva de una entrada o varias entradas para una función o funciones del Cine Club Orson Welles. 3 El cajero verifica si hay entradas disponibles para las funciones solicitadas. 3.a Si hay entradas disponibles el cajero informa al socio y le indica fecha, hora y el importe de las entradas. 3.b Si no hay entradas disponibles el cajero informa al socio. 4 El cajero entrega al socio una ficha con las entradas reservadas con fecha y hora de las funciones y con fecha y hora para cancelar el importe de las entradas. 4.a Si el socio confirma y paga sus reservas en fecha y hora señaladas, el cajero le entrega o envía las entradas reservadas. 4.b Si el socio no confirma y no paga sus reservas en fecha y, el cajero pone en venta las entradas reservadas. 5 El socio confirma la recepción de las entradas. 6 El socio puede cancelar las reservas antes de 24 horas de la función. Socio con entradas reservadas. Paso 4’ La función de cine se cancela: ♦ El cajero informa al socio y puede optarse por 2 alternativas: • Se le devuelve el dinero si ya canceló. • Se posterga la reserva para otra fecha. Paso Cota de tiempo 1 –4 El promedio de realizar una reserva dura de 1 a 5 minutos Las reservas de entradas se presentan con frecuencia cuando hay festivales o programaciones de películas interesantes. Es importante tener acceso a reservas para festivales o programaciones importantes. Es bueno ofrecer reservas de entradas en el Cine Club Orson Welles. Las reservas son exclusivamente par socios y toda cancelación de reserva se hace 24 horas antes de la función.
NOTA: Esta tabla es un archivo de MS WORD se llama CU01.doc y está asociado al CU Reservar entradas del diagrama DiagramaCU_Taquilla con el menú contextual: Open Specification/ Files. ; Descripción del CU Comprar entradas CU_02 Versión Autor (es) Descripción Precondición Secuencia normal
Comprar entradas 1.0; 25/07/2005 VASQUEZ MOLLO, Virginia; MOLINA CACERES, Juan José; RIOS LOPEZ, Cecilia Ana. Permite al usuario del Cine Club Orson Welles comprar entradas para las funciones de cine. Usuario que desea de ver una película en el Cine Club Orson Welles. Paso Acción 1 La persona que desee ver una película en el Cine Club Orson Welles se acerca a ventanilla. 1.a Si es eventual, compra su entrada y paga el precio normal. 1.b Si es socio tiene descuento especial, previa identificación con carné de socio.
Mgr. Artidoro Velapatiño Castilla
Pág. 18 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I 1.c
Postcondición Excepciones
Rendimiento Frecuencia Importancia Urgencia Comentarios
Si es socio y ha hecho reserva, canjea su boleta de reserva con las correspondientes entradas. 2 Usuario ve la película que se está proyectando. Usuario con entradas compradas. Paso 2’ La función de cine se cancela: ♦ El cajero informa al usuario y puede optarse por 2 alternativas: • Se le devuelve el dinero. • Se posterga la entrada para otra fecha. Paso Cota de tiempo 1 –2 El promedio de realizar una compra dura de 1 a 2 minutos Las compras de entradas se presentan con frecuencia cuando hay películas interesantes. Es importante tener acceso a varias funciones de películas interesantes. Es bueno ofrecer varias funciones para el Cine Club Orson Welles. La venta de entradas para el Cine Club Orson Welles es libre, salvo que las entradas estén agotadas.
NOTA: Esta tabla es un archivo de MS WORD se llama CU02.doc y está asociado al CU Comprar entradas del diagrama DiagramaCU_Taquilla con el menú contextual: Open Specification/ Files. ; Descripción del CU Comprar abonos CU_03 Versión Autor (es) Descripción Precondición Secuencia normal
Postcondición Excepciones
Rendimiento Frecuencia Importancia Urgencia Comentarios
Comprar abonos 1.0; 25/07/2005 VASQUEZ MOLLO, Virginia; MOLINA CACERES, Juan José; RIOS LOPEZ, Cecilia Ana. Permite al usuario del Cine Club Orson Welles comprar abono para las funciones de cine. Usuario que desea de varias películas en el Cine Club Orson Welles. Paso Acción 1 El usuario que desee ver varias películas en el Cine Club Orson Welles se acerca a ventanilla. 1.a Puede comprar abonos para 4, 8, 12 ó 20 peliculas normales. 1.b Puede comprar abonos para programaciones especiales de ciclos de cine por país, por director, por género, etc. 1.c Puede comprar abonos para festivales de cine 2 El usuario ve las películas cuyas entradas incluye el abono. Usuario con abonos comprados. Paso 2’ Una función del abono, algunas funciones, o todo el ciclo cine se cancela: ♦ El cajero informa al socio y puede optarse por 2 alternativas: • Se le devuelve el dinero abonado. • Se posterga la entrada del abono para otra fecha. Paso Cota de tiempo 1 –2 El promedio de realizar una compra del abono dura de 1 a 2 minutos Las compras de abonos se presentan con frecuencia cuando hay ciclos de películas interesantes. Es importante programar ciclos de películas interesantes. Es bueno ofrecer varios ciclos de películas en el Cine Club Orson Welles. Todo abono ofrece un 20% de descuento en el costo total.
NOTA: Esta tabla es un archivo de MS WORD se llama CU03.doc y está asociado al CU Comprar abonos del diagrama DiagramaCU_Taquilla con el menú contextual: Open Specification/ Files.
¡Ejercicio!: ; Completar la descripción de todos los CU para el subsistema Taquilla. ; Para el subsistema Administración realizar la descripción de todos los CU. ; Para el subsistema Ayuda realizar la descripción de todos los CU. Mgr. Artidoro Velapatiño Castilla
Pág. 19 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Y anexar con el procedimiento conocido a cada CU del respectivo Diagrama de Casos de Uso de sistema SACCOW.
1.5.4.4 Descripción de Actores ) Para el subsistema Taquilla vamos a describir los CU siguientes: Usuario, Cajero, Administrador. ; Descripción del Actor Usuario Nombre Descripción Rol Casos de uso Notas
Usuario Persona natural que desea ver películas en el Cine Club Orson Welles. Ve películas en el CCOW comprando entradas y/o abonos. Reservar entradas, Comprar entradas, Comprar abonos, Imprimir. ♦ El usuario puede ser Eventual o Socio. • El usuario eventual hace uso del CCOW sólo en pocas ocasiones. Paga la entrada completa • El usuario socio es miembro del Cine Club y hace uso constante del CCOW. Esta carnetizado y eso le da derecho a participar en el Cine Club, acceso a información constante sobre cine, y tiene descuento especial tanto en las entradas comunes como en los abonos. Sólo los socios tienen derecho a las reservas y los abonos
NOTA: Esta tabla es un archivo de MS WORD se llama Usuario.doc y está asociado al Actor Usuario del diagrama DiagramaCU_Taquilla con el menú contextual: Open Specification/ Files. ; Descripción del Actor Cajero Nombre Descripción Rol Casos de uso Notas
Cajero Empleado del Cine Club Orson Welles encargado de la taquilla. Vender entradas, abonos y atender reservas. Cobrar, Imprimir, Comprar abonos, Imprimir, Reservar entradas. ♦ El cajero se encarga de las tareas siguientes. • Vender entradas y abonos a usuarios eventuales o socios. • Atender las reservas para socios. • Excepcionalmente pude dar crédito, previa autorización del Director del Cine Club.
NOTA: Esta tabla es un archivo de MS WORD se llama Cajero.doc y está asociado al Actor Cajero del diagrama DiagramaCU_Taquilla con el menú contextual: Open Specification/ Files. ; Descripción del Actor Administrador Nombre Descripción Rol Casos de uso Notas
Administrador Empleado del Cine Club Orson Welles encargado de la administración. Administrar socios, películas y funciones. Administrar socios, Administrar películas, Administrar funciones. ♦ El administrador se encarga de las tareas siguientes. • Administrar socios a través de las operaciones Ingresar, Modificar, Eliminar, Buscar, Imprimir con información almacenada en una tabla Socio. • Administrar películas a través de las operaciones Ingresar, Modificar, Eliminar, Buscar, Imprimir ficha técnica una tabla Película. • Administrar socios a través de las operaciones Programar calendario, Ingresar, Modificar, Eliminar, Buscar con información almacenada en una tabla Función.
Mgr. Artidoro Velapatiño Castilla
Pág. 20 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
NOTA: Esta tabla es un archivo de MS WORD se llama Administrador.doc y está asociado al Actor Administrador del diagrama DiagramaCU_Taquilla con el menú contextual: Open Specification/ Files.
¡Ejercicio!: ; Para el subsistema Administración realizar la descripción de todos los Actores. ; Para el subsistema Ayuda realizar la descripción de todos los Actores. Y anexar con el procedimiento conocido a cada Actor del respectivo Diagrama de Casos de Uso de sistema SACCOW.
1.5.4.5 Descripción de Escenarios Actores de Uso ) Para el subsistema Taquilla vamos a describir los Escenarios /Subescenrios siguientes: Reservar entradas, Comprar entradas, Comprar abonos. ;
Descripción del Escenario Reservar entradas
Escenario 1.1 Precondiciones Poscondiciones Excepciones Iniciado por Finalizado por: Paso 1 2 3
4
5 6
Reservar entradas. Hay asientos disponibles. Los datos se han ingresado correctamente. El número de reservas individuales se ha incrementado. El usuario sólo puede reservar un máximo de 4 entradas. Usuario. Cajero. Detalle operaciones Acción El socio se identifica personalmente o por teléfono proporcionando su código de socio. El cajero verifica los datos y da paso a la solicitud. El socio solicita reserva de una entrada o varias entradas para una función o funciones del Cine Club Orson Welles. El cajero verifica si hay entradas disponibles para las funciones solicitadas. 3.a Si hay entradas disponibles el cajero informa al socio y le indica fecha, hora y el importe de las entradas. 3.b Si no hay entradas disponibles el cajero informa al socio. El cajero entrega al socio una ficha con las entradas reservadas con fecha y hora de las funciones y con fecha y hora para cancelar el importe de las entradas. 4.a Si el socio confirma y paga sus reservas en fecha y hora señaladas, el cajero le entrega o envía las entradas reservadas. 4.b Si el socio no confirma y no paga sus reservas en fecha y, el cajero pone en venta las entradas reservadas. El socio confirma la recepción de las entradas. El socio puede cancelar las reservas antes de 24 horas de la función.
NOTA: Esta tabla es un archivo de MS WORD se llama Escenario11.doc y está asociado al CU Reservar entradas del diagrama DiagramaCU_Taquilla con el menú contextual: Open Specification/ Files. ; Descripción del Escenario Comprar entradas Escenario 1.2 Precondiciones Poscondiciones Excepciones Iniciado por Finalizado por: Paso
Comprar entradas. Hay asientos disponibles. Los datos se han ingresado correctamente. El número de reservas individuales se ha incrementado. El usuario sólo puede reservar un máximo de 2 abonos. Usuario. Cajero. Detalle operaciones Acción
Mgr. Artidoro Velapatiño Castilla
Pág. 21 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I 1
2
La persona que desee ver una película en el Cine Club Orson Welles se acerca a ventanilla. 1.a Si es eventual, compra su entrada y paga el precio normal. 1.b Si es socio tiene descuento especial, previa identificación con carné de socio. 1.c Si es socio y ha hecho reserva, canjea su boleta de reserva con las correspondientes entradas. El usuario ve la película que se está proyectando.
NOTA: Esta tabla es un archivo de MS WORD se llama Escenario12.doc y está asociado al CU Comprar entradas del diagrama DiagramaCU_Taquilla con el menú contextual: Open Specification/ Files. ; Descripción del Escenario Comprar abonos Escenario 1.3 Precondiciones Poscondiciones Excepciones Iniciado por Finalizado por: Paso 1
2
2
Comprar abonos. Hay asientos disponibles. Los datos se han ingresado correctamente. El número de abonos se ha incrementado. Los abonos pueden comprarse al contado o por cuotas Usuario. Cajero. Detalle operaciones Acción La persona que desee ver una película en el Cine Club Orson Welles se acerca a ventanilla. 1.a Puede comprar abonos para 4, 8, 12 ó 20 funciones normales. 1.b Puede comprar abonos para programaciones especiales de ciclos de cine por país, por director, por género, etc. 1.c Puede comprar abonos para festivales de cine El usuario paga los abonos 2.a El usuario paga al contado. 2.b El usuario paga en 3 cuotas, previa autorización del Director. El usuario ve las películas cuyas entradas incluye el abono.
NOTA: Esta tabla es un archivo de MS WORD se llama Escenario13.doc y está asociado al CU Comprar abonos del diagrama DiagramaCU_Taquilla con el menú contextual: Open Specification/ Files.
¡Ejercicio!: ; Para el subsistema Administración realizar la descripción de todos los Escenarios. ; Para el subsistema Ayuda realizar la descripción de todos los Escenarios. Y anexar con el procedimiento conocido a cada Actor del respectivo Diagrama de Casos de Uso de sistema SACCOW. Nota: Se pueden insertar los archivos que se quieran.
1.5.4.6 Diagrama de Actividades ) Para el subsistema Taquilla vamos a construir Diagramas de Actividades para los CU siguientes: Reservar entradas, Comprar entradas, Comprar abonos. ; Diagrama de Actividades para el CU Reservar entradas. Ver Figura 9. ; Diagrama de Actividades para el CU Comprar entradas. Ver Figura 10. ; Diagrama de Actividades para el CU Comprar abonos. Ver Figura 11.
¡Ejercicio!: Mgr. Artidoro Velapatiño Castilla
Pág. 22 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
; Para el subsistema Administración crear los Diagramas de Actividades para todos los CU del DiagramaCU_Administración. ; Para el subsistema Ayuda realizar crear los Diagramas de Actividades para todos los CU del DiagramaCU_Ayuda.
Socio desea reservar entradas [ Personalmente ]
[ Por teléfono ] [ Socio posterga reservas ] Llama por teléfono y proporciona sus datos
Se identica en ventanilla con carné de socio
Cajero verifica datos de socio
Socio reserva entradas
Cajero verifica disponibilidad de entradas
^Nº entradas <=4
[ Hay entradas ]
Cajero entrega ficha con datos de resera
Socio ratifica reserva [ Paga monto ]
Socio canjea ficha por entradas
[ No hay entradas ]
Cajero informa al socio
Socio cancela reserva
[ No paga monto ]
Cajero anula reserva
Figura 9: Diagrama de Actividades para el CU Reservar entradas para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaActividad_ReservarEntradas en el modelo SACCOW.
Mgr. Artidoro Velapatiño Castilla
Pág. 23 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Usuario desea ver función de CCOW [ Es socio ]
[ Es eventual ]
[ Hizo reserva ] Compra entrada y paga precio normal Compra entrada y paga precio especial
Canjea ficha de reserva por entradas
Figura 10: Diagrama de Actividades para el CU Comprar entradas para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaActividad_ComprarEntradas en el modelo SACCOW.
Usuario desea comprar abono [ Al contado ]
[ En cuotas ]
Paga el monto al contado
Paga en tres cuotas Usuario recibe abono
Funciones normales de 4, 8, 12 ó 20 funciones
Festivales de cine
Ciclos de cine por país, por director, por género, etc.
Figura 11: Diagrama de Actividades para el CU Comprar abonos para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaActividad_ComprarAbonos en el modelo SACCOW.
Mgr. Artidoro Velapatiño Castilla
Pág. 24 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.5.5 Prototipos El prototipo presentado es el de Interfaz con el Usuario que presenta los procesos más relevantes del Sistema de Administración del Cine Club Orson Welles. Este prototipo está escrito en C++ Builder 6.0. El menú ha sido construido con el componente MainMenu. Ver Figura 12
Figura 12: Menú Principal del SISTEMA de ADMINISTRACION del CINE CLUB ORSON WELLES en C++ Builder 6.0.
1.5.5.1
Descripción del menú con las opciones del prototipo
Ver Figura 13 La opción Archivo
La opción Editor
La opción Ver
La opción Administración
La opción Taquilla
La opción Herramientas
Mgr. Artidoro Velapatiño Castilla
Pág. 25 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
La opción Reportes
La opción Ventana
La opción Ayuda
Figura 13: Menús del SISTEMA de ADMINISTRACION del CINE CLUB ORSON WELLES
1.5.5.2
Descripción de los módulos del menú.
1.6
Diseño
) El módulo Archivo: Se encarga de procesar archivos de texto e imágenes para escribir e imprimir las fichas técnicas y apreciación crítica de las películas. ) El módulo Edición: Realiza las opresiones de cortar, copiar, pegar y deshacer los textos. ) El módulo Ver: Visualiza /oculta la barra de herramientas y la barra de estado. ) El módulo Administración: Administra a los socios, películas y funciones del Cine Club. ) El módulo Taquilla: Administra las reservas y la venta de entradas individuales y abonos. ) El módulo Reportes: Imprime informes para impresora sobre socios, películas, funciones, reservas entradas y abonos. ) El módulo Herramientas: Proporciona una calculadora y un calendario de apoyo al sistema. ) El módulo Ventana: Organiza la distribución de las ventanas abiertas por el sistema. ) El módulo Ayuda: Proporciona ayuda interactiva al estilo Windows para el Sistema.
1.6.1 Diseño preliminar y diseño detallado ) Construcción de los diagramas preliminares Incluye los diferentes diagramas de interacción (secuencia y colaboración), clases, objetos, actividades, estados, componentes y despliegue para el Sistema de Administración del Cine Club Orson Welles.
) Diseño detallado Refinaremos sucesivamente los diferentes diagramas detallando para tener una visión mas completa del Sistema de Administración del Cine Club Orson Welles. Aplicando el proceso incremental e iterativo construiremos las versiones sucesivas del Sistema hasta obtener un producto satisfactorio.
) Estimación preliminar del tiempo y los costos del diseño detallado Actividad Diagramas de interacción Diagramas de clases Diagramas de objetos Diagrama de actividades Diagrama de estados Diagrama de componentes
Mgr. Artidoro Velapatiño Castilla
Personal Tiempo (d) Costos (S/) Virginia LOPEZ 6 30 J.J. MOLINA 4 20 Cecilia LOPEZ 2 10 Virginia LOPEZ 2 10 Cecilia LOPEZ 3 15 J.J. MOLINA 2 10
Pág. 26 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Diagrama de despliegue Total
1.6.2
J.J. MOLINA ------------------
2 21
10 105
Diagramas de interacción
1.6.2.1 Diagramas de secuencia ) Para el subsistema Taquilla vamos a construir Diagramas de Secuencia para los CU siguientes: Reservar entradas, Comprar entradas, Comprar abonos. ; Diagrama de Secuencia para el CU Reservar entradas. Ver Figura 14. a : Asiento c : Cajero
Socio : Usuario 1: Se presenta o llama por teléfono
2: Verifica disponibilidad de asientos 3:
4: Comunica disponibilidad de asientos 5: Selecciona asientos 6: Confirma reservas 7: Acepta reservas 8: Cancela reservas 9: Acepta cancelación de reservas
Figura 14: Diagrama de Secuencia para el CU Reservar entradas para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaSecuencia_ReservarEntradas en el modelo SACCOW
; Diagrama de Secuencia para el CU Comprar entradas. Ver Figura 15.
c : Cajero
u : Usuario
a : Asiento
1: Solicita entradas 2: Verifica disponibilidad de asientos 3: 4: Muestra disponibilidad de asientos 5: Selecciona asientos 6: Solicita pago por entradas 7: Paga la entradas 8: Imprime y entrega entradas
Figura 15: Diagrama de Secuencia para el CU Comprar entradas para el subsistema Taquilla de
Mgr. Artidoro Velapatiño Castilla
Pág. 27 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
SACCOW. Este diagrama se llama DiagramaSecuencia_ComprarEntradas en el modelo SACCOW.
; Diagrama de Secuencia para el CU Comprar abonos. Ver Figura 16.
a : Asiento
u : Usuario
c : Cajero 1: Solicita abonos
2: Verifica disponibilidad
: Director
3: 4: Muestra disponibilidad de asientos 5: Selecciona asientos 6: Solicita pago de abono 7: Paga al contado 8: Solicita pago por cuotas 9: Solicita autorización de crédito 10: Autoriza crédito 11: Imprime y entrega abonos 12: Paga 1ra. cuota 13: Imprime comprobante 1ra. cuota 14: Paga 2da. cuota 15: Imprime comprobante 2da. cuota 16: Paga 3ra. cuota 17: Imprime comprobante 3ra. cuota
Figura 16: Diagrama de Secuencia para el CU Comprar abonos para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaSecuencia_ComprarAbonos en el modelo SACCOW
¡Ejercicio!: ; Para el subsistema Administración crear los Diagramas de Secuencia para todos los CU del DiagramaCU_Administración. ; Para el subsistema Ayuda realizar crear los Diagramas de Secuencia para todos los CU del DiagramaCU_Ayuda.
Mgr. Artidoro Velapatiño Castilla
Pág. 28 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.6.2.2 Diagramas de Colaboración ) Para el subsistema Taquilla vamos a construir Diagramas de Colaboración para los CU siguientes: Reservar entradas, Comprar entradas, Comprar abonos.
; Diagrama de Colaboración para el CU Reservar entradas. Ver Figura 17. 8: Cancela reservas 6: Confirma reservas 1: Se presenta o llama por teléfono
Socio : Usuario
4: Comunica disponibilidad de asientos
c : Cajero
7: Acepta reservas 9: Acepta cancelación de reservas 5: Selecciona asientos 2: Verifica disponibilidad de asientos 3:
a : Asiento
Figura 17: Diagrama de Secuencia para el CU Reservar entradas para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaColaboración_ReservarEntradas en el modelo SACCOW
; Diagrama de Colaboración para el CU Comprar entradas. Ver Figura 18. 7: Paga las entradas 1: Solicita entradas
u : Usuario
4: Muestra disponibildad de asientos
c : Cajero
6: Solicita pago de entradas 8: Imprime y entrega entradas 2: Verifica disponibilidad de asientos 5: Selecciona asientos 3:
a : Asiento
Figura 18: Diagrama de Secuencia para el CU Comprar entradas para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaColaboración_ComprarEntradas en el modelo SACCOW.
Mgr. Artidoro Velapatiño Castilla
Pág. 29 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
; Diagrama de Colaboración para el CU Comprar abonos. Ver Figura 19. 16: Paga 3ra. cuota 14: Paga 2da. cuota 12: Paga 1ra. cuota 8: Solicita pago por cuotas 7: Paga al contado 1: Solicita abonos 9: Solicita autorización de crédito u : Usuario
4: Muestra disponibilidad de asientos
c : Cajero
6: Solicita pago de abono
10: Autoriza crédito
11: Imprime y entrega abonos : Director 13: Imprime comprobante 1ra. cuota 15: Imprime comprobante 2da. cuota 3:
2: Verifica disponibilidad
17: Impre comprobante 3ra. cuota 5: Selecciona asientos
a : Asiento
Figura 19: Diagrama de Secuencia para el CU Comprar abonos para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaColaboración_ComprarAbonos en el modelo SACCOW.
¡Ejercicio!: ; Para el subsistema Administración crear los Diagramas de Colaboración para todos los CU del DiagramaCU_Administración. ; Para el subsistema Ayuda realizar crear los Diagramas de Colaboración Secuencia para todos los CU del DiagramaCU_Ayuda.
Mgr. Artidoro Velapatiño Castilla
Pág. 30 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.6.3
Diagramas de estructura
1.6.3.1 Diagramas de clases 1.6.3.1.1 Identificación de clases y objetos 1.6.3.1.1.1 Clasificación de Ross Para nuestro caso, que es el Sistema de Administración del Cine Club Orson Welles consideramos candidatos a clases siguientes:
Grupos Personas Lugares Cosas
Descripción Usuarios (Socios y Eventuales), Administrativos (Director, Administrador, Cajero) Sala de proyección, Almacén, Ventanilla Proyector (Cinta, Multimedia, Vistas fijas, Transparencias) Películas (Rollos, CD, DVD, VHS), Impresora, Escáner, Papel, Ecran, Asientos. Organizaciones Cine Club, Administración, Dirección. Conceptos Cine, Función, Crítica, Abono, Entrada, Reserva, Crédito. Eventos Función, Cine-Forum, Festival, Ciclo, Propaganda.
) Clases Candidatas: Usuario, Administrador, Sala, Proyector, Película, Almacén, Impresora, Escáner, Papel, Ecran, Asientos. Ventanilla, Cine Cub, Administración, Dirección, Cine, Función, Crítica, Abono, Entrada, Reserva, Crédito, Función, Cine-Forum, Festival, Ciclo, Propaganda.
1.6.3.1.1.2 Análisis sintáctico Vamos a describir como funciona el Cine Club Orson Welles y vamos a subrayar sustantivos (candidatos a clases), verbos (candidatos a operaciones) y sintagmas – adjetivo (candidatos a atributos):
1.6.3.1.1.2.1
Descripción de cómo funciona el sistema
El Cine Club Orson Welles es una empresa que realiza funciones de cine de películas en formato de rollos (para clásicos del cine), de video, CD y DVD para incentivar la apreciación crítica del arte cinematográfico. Las películas se adquieren por compra o donación o alquiler en caso de rollos. Los usuarios son de dos tipos: eventuales y socios. Sólo se almacena información sobre los socios. Las funciones se programan en simples, ciclos o festivales. Sobre las películas debe tener los datos sobre el título, título original, el director, el productor, los protagonistas, el género, el año de producción, la empresa productora, el color (blanco y negro y colores), la duración, el argumento, el soporte (rollo/video/CD/ DVD), ficha técnica, apreciación crítica, fecha de ingreso y precio. Se debe poder realizar operaciones de adquirir, modificar y eliminar. Sobre los usuarios que sean socios debe tenerse datos como apellidos, nombre, sexo, fecha de nacimiento, ocupación, dirección, teléfono, e-mail, y un código asignado por el sistema. Se debe poder realizar operaciones de agregar, modificar y eliminar. Se debe poder realizar operaciones de agregar, modificar y eliminar. Sobre las reservas solo se debe consignar la fecha. Si la reserva es para entradas de abono debe consignarse un número de serie. Sobre las entradas es necesario saber la disponibilidad, el número. Se debe poder realizar operaciones de vender, intercambiar y anular. Sobre las funciones se debe consignar los datos sobre fecha, hora y lugar y la película a proyectarse. Se debe poder realizar operaciones de programar calendario, Mgr. Artidoro Velapatiño Castilla
Pág. 31 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
ingresar, modificar, eliminar, buscar e imprimir programas y resultados de búsqueda.
1.6.3.1.1.2.2
Subrayado de sustantivos, sintagmas-adjetivos y verbos para identificar las clases candidatas, sus atributos y los comportamientos.
Nota: Los sustantivos van en negrita, los verbos subrayados y los sintagma – adjetivo en cursiva. El Cine Club Orson Welles es una empresa que realiza funciones de cine de películas en formato de rollos (para clásicos del cine), de video, CD y DVD para incentivar la apreciación crítica del arte cinematográfico. Las películas se adquieren por compra o donación o alquiler en caso de rollos. Los usuarios son de dos tipos: eventuales y socios. Sólo se almacena información sobre los socios. Las funciones se programan en simples, ciclos o festivales. Sobre las películas se debe tener los datos sobre el título, título original, el director, el productor, los protagonistas, el género, el año de producción, la empresa productora, el color (blanco y negro y colores), la duración, el argumento, el soporte (rollo/video/CD/ DVD), ficha técnica, apreciación crítica, fecha de ingreso y precio. Se debe poder realizar operaciones de adquirir, modificar y eliminar. Sobre los usuarios que sean socios debe tenerse datos como apellidos, nombre, sexo, fecha de nacimiento, ocupación, dirección, teléfono, e-mail, y un código asignado por el sistema. Se debe poder realizar operaciones de agregar, modificar y eliminar. Se debe poder realizar operaciones de agregar, modificar y eliminar. Sobre las reservas sólo se debe consignar la fecha. Si la reserva es para entradas de abono debe consignarse un número de serie. Sobre las entradas es necesario saber la disponibilidad, el número. Se debe poder realizar operaciones de vender, intercambiar y anular. Sobre las funciones se debe consignar los datos sobre fecha, hora y lugar y la película a proyectarse. Se debe poder realizar operaciones de programar calendario, ingresar, modificar, eliminar, buscar e imprimir programas y resultados de búsqueda.
) Clases Candidatas: Cine Club Orson Welles, Empresa, Función, Cine, Película, Rollo, Video, CD, DVD, Apreciación crítica, Arte cinematográfico, Usuario, Eventual, Socio, Información, Ciclo, Festival, Operación, Sistema, Reserva, Entrada, Abono, Calendario, Programas, Resultado.
1.6.3.1.1.3 Uso del análisis de casos de uso haciendo uso de escenarios y subescenarios. Teniendo en cuenta los escenarios (y subescenarios) podemos también sugerir clases candidatas. Nota: En un proyecto debe tenerse en cuenta todos los escenarios posibles del sistema. Nosotros asumimos que describimos todos los escenarios (y subescenarios) posibles para nuestro sistema. Mgr. Artidoro Velapatiño Castilla
Pág. 32 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
; Descripción del Escenario Reservar entradas Paso 1 2 3
4
5 6
Escenario 11 Acción El socio se identifica personalmente o por teléfono proporcionando su código de socio. El cajero verifica los datos y da paso a la solicitud. El socio solicita reserva de una entrada o varias entradas para una función o funciones del Cine Club Orson Welles. El cajero verifica si hay entradas disponibles para las funciones solicitadas. 3.a Si hay entradas disponibles el cajero informa al socio y le indica fecha, hora y el importe de las entradas. 3.b Si no hay entradas disponibles el cajero informa al socio. El cajero entrega al socio una ficha con las entradas reservadas con fecha y hora de las funciones y con fecha y hora para cancelar el importe de las entradas. 4.a Si el socio confirma y paga sus reservas en fecha y hora señaladas, el cajero le entrega o envía las entradas reservadas. 4.b Si el socio no confirma y no paga sus reservas en fecha y, el cajero pone en venta las entradas reservadas. El socio confirma la recepción de las entradas. El socio puede cancelar las reservas antes de 24 horas de la función.
; Descripción del Escenario Comprar entradas Paso 1
2
Escenario 12 Acción La persona que desee ver una película en el Cine Club Orson Welles se acerca a ventanilla. 1.a Si es eventual, compra su entrada y paga el precio normal. 1.b Si es socio tiene descuento especial, previa identificación con carné de socio. 1.c Si es socio y ha hecho reserva, canjea su boleta de reserva con las correspondientes entradas. El usuario ve la película que se está proyectando.
; Descripción del Escenario Comprar abonos Paso 1
2
2
Escenario 13 Acción La persona que desee ver una película en el Cine Club Orson Welles se acerca a ventanilla. 1.a Puede comprar abonos para 4, 8, 12 ó 20 funciones normales. 1.b Puede comprar abonos para programaciones especiales de ciclos de cine por país, por director, por género, etc. 1.c Puede comprar abonos para festivales de cine El usuario paga los abonos 2.a El usuario paga al contado. 2.b El usuario paga en 3 cuotas, previa autorización de crédito del Director. El usuario ve las películas cuyas entradas incluye el abono.
) Clases Candidatas: Socio, Cajero, Cine Club Orson Welles, Empresa, Función, Película, Usuario, Eventual, Entrada, Abono, Ciclo, Festival, Operación, Sistema, Reserva, Calendario, Programas, Resultado, Crédito.
1.6.3.1.1.4 Fichas
CRC
Mgr. Artidoro Velapatiño Castilla
(Clase
-
Responsabilidades Pág. 33 de 72
-
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Colaboradores) con el formato de anverso y reverso en base a escenarios En base a los escenarios podemos construir fichas CRC para algunos elementos como los siguientes (En un proyecto debe tenerse en cuenta todos los escenarios posibles del sistema):
) Ficha CRC para la clase Película: CLASE: Película Responsabilidades Colaboradores Adquisición Administrador Proyección Empleado Crítica Usuario
CLASE: Película Cod_película: String Título: String Título_original: String Director: String Productor: String Protagonistas: String Género: Integer Año_producción: Integer Empresa_productora: String Color: Boolean Duración: Double Argumento: Text Formato: String Ficha_técnica: Text Apreciación_crítica: Text Fecha_ingreso: Date Precio : Currency
Superclases
Subclases Normal Documental Animado
) Ficha CRC para la clase Función CLASE: Función Responsabilidades Colaboradores Programar Administrador Proyectar película Empleado Cine Forum Usuario, Director, Administrador
CLASE: Función ID_función: Integer Fecha : Date Hora : String Cod_película : String
Superclases
Subclases Matinal Matinée Vermouth Noche
) Ficha CRC para la clase Usuario
Mgr. Artidoro Velapatiño Castilla
Pág. 34 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
CLASE: Usuario Responsabilidades Colaboradores Cajero Comprar entradas Cajero Comprar abonos Función, Película Asistir a funciones
CLASE: Usuario Num_usuario: Integer Num_entradas: Integer
Superclases
Subclases Eventual Socio
) Ficha CRC para la clase Socio CLASE: Socio Responsabilidades Colaboradores Cajero Reservar entradas Cajero Comprar entradas Cajero Comprar abonos Cajero, Director Pedir crédito Función, Película Asistir a funciones Cine Club Criticar películas
CLASE: Socio Cod_socio: String Apellido: String Nombre: String Sexo: Boolean Fecha_nac: Date Ocupación: String Dirección: String Teléfono: String E_mail: String Foto: Object Fecha_ingreso: Date
Superclases Usuario
Subclases
) Ficha CRC para la clase Reserva CLASE: Reserva Responsabilidades Colaboradores Hacer reserva Cajero, Función, Película Confirmar reserva Cajero Cancelar reserva Cajero
CLASE: Reserva Serie: String Fecha : Date Hora : String
Superclases Subclases Reserva_individual Abono
) Ficha CRC para la clase Reserva_individual CLASE: Reserva_individual Responsabilidades Colaboradores Hacer reserva Cajero, Función, Película Confirmar reserva Cajero Cancelar reserva Cajero
Mgr. Artidoro Velapatiño Castilla
CLASE: Reserva_individual Num_asiento: Integer Fecha : Date Hora : String
Superclases Reserva
Subclases
Pág. 35 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
) Ficha CRC para la clase Abono CLASE: Abono Responsabilidades Colaboradores Hacer reserva Cajero, Función, Película Confirmar reserva Cajero Cancelar reserva Cajero
CLASE: Abono Serie: String Num_asientos : Integer
Superclases Reserva
Subclases
) Ficha CRC para la clase Entrada CLASE: Entrada Responsabilidades Colaboradores Comprar entrada Cajero, Función, Película Pagar entrada Cajero
CLASE: Entrada Disponibilidad: Boolean Asiento : Integer ID_función: Integer Precio: Currency
Superclases
Subclases
) Clases Candidatas: Película, Función, Usuario, Eventual, Socio, Cajero, Administrador, Empleado, Director, Reserva, Entrada, Entrada_individual.
1.6.3.1.1.5 Depuración candidatas
de
clases,
atributos
y
operaciones
) Con las cuatro metodologías usadas podemos deducir que las clases candidatas son:
Usuario, Eventual, Socio, Cajero, Administrador, Empleado, Director, Sala, Proyector, Almacén, Impresora, Escáner, Papel, Écran, Asiento, Ventanilla, Película, Rollo, Video, CD, DVD, Cine, Cine Club, Cine Club Orson Welles, Cine-Forum, Crítica, Apreciación crítica, Arte cinematográfico, Administración, Dirección, Función, Festival, Ciclo, Abono, Reserva, Entrada, Entrada_individual, Crédito, Propaganda, Empresa, Información, Operación, Sistema, Calendario, Programa, Resultado. ;
; ; ; ;
Eliminamos las siguientes candidatas a clases por ser vagas: Información, Sistema, Cine, Operación, Calendario, Programa, Resultado, Crítica, Empresa, Arte Cinematográfico, Cine Club Orson Welles. Eliminamos las siguiente candidatas a clases por ser irrelevantes para el sistema: Almacén, Papel, Ventanilla. Eliminamos las siguientes candidatas a clases por ser parte de la implantación del sistema: Impresora, Administración, Dirección, Proyector, Écran, Escáner Eliminamos las siguientes candidatas a clases por ser atributos: Sala, Asiento, Rollo, Video, CD, DVD, Festival, Ciclo Eliminamos las siguientes candidatas a clases por ser operaciones o actividades:
Mgr. Artidoro Velapatiño Castilla
Pág. 36 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
;
Cine Club, Cine-Forum, Apreciación crítica, Crédito, Propaganda. Eliminamos las siguientes candidatas a clases por ser actores que van a interactuar con el sistema, pero no van a formar parte del sistema: Administrador, Empleado, Director
) Luego de la depuración quedan las siguientes clases: Usuario, Eventual, Socio, Película, Función, Reserva, Entrada_individual, Abono, Entrada. ) Las clases depuradas con sus atributos y operaciones son las siguientes: Ver Figura 20
Usuario Num_usuario : Integer Ingresar() Anular()
Socio Cod_socio : String Apellido : String Nombre : String Sexo : Boolean Fecha_nac : Date Ocupación : String Dirección : String Teléfono : String E_mail : String Foto : Object Fecha_ingreso : Date Ingresar() Modificar() Borrar() Buscar() Imprimir()
Eventual ID_usuario : Integer
Película Cod_película : String Título : String Título_original : String Director : String País : String Productor : String Protagonistas : String Género : Integer Año_producción : Integer Empresa_productora : String Color : Boolean Duración : Double Argumento : Text Formato : String Ficha_técnica : Text Apreciación_crítica : Text Fecha_ingreso : Date Precio : Currency Alquiler : Boolean Ingresar() Modificar() Borrar() ...
Reserva Serie : String Fecha : Date Hora : String Ingresar() Modificar() Eliminar() Buscar()
Reserva_individual Num_asiento : Integer
Abono Serie : String Num_funciones : Integer Asientos : String
Entrada Disponibilidad : Boolean Num_asiento : Integer Fecha : Date Hora : String Precio : Currency Vender() Intercambiar() Anular()
Función ID_función : Integer Fecha : Date Hora : String Cod_película : String Tipo : String Programar() Ingresar() Modifiicar() Borrar() Buscar() Imprimir()
Figura 20: Clases finales seleccionadas para el Sistema de administración del Cine Club Orson Welles después del proceso de depuración de clases candidatas. Mgr. Artidoro Velapatiño Castilla
Pág. 37 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.6.3.1.2
Identificación de las relaciones dependencia, herencia, agregación.
de
asociación,
Analizando las relaciones entre las clases podemos identificar: ) Las siguientes asociaciones: Ver Figura 21 Compra
Eventual 0..1
Entrada *
0..1
Entrada
0..1
Separa
Reserva_individual
Compra
Socio
*
Entrada
Separa
Abono
1
Entrada
0..1
Se_exhibe
Película 1
Función 1..*
4..20
Permite_ver
Entrada
Num_asiento 1
*
Función
Figura 21: Asociaciones entre las clases para el Sistema de administración del Cine Club Orson Welles. Nota: Hemos nominado las asociaciones, indicando su multiplicidad (cardinalidad). En el caso de Permite_ver (Entrada : Num_asiento) es una asociación cualificada donde el cualificador es el atributo Nro_asiento.
) Las relaciones de Generalización (Herencia): Ver Figura 22 Reserva
Usuario
Socio
Eventual
Reserva_individual
Abono
Figura 22: Relaciones de Generalización (Herencia) entre las clases para el Sistema de administración del Cine Club Orson Welles.
1.6.3.1.3
Construcción del Diagrama de Clases
) En la sección Logic View de nuestro modelo SACCOW construimos el diagrama de paquetes: Ver Figura 23
Mgr. Artidoro Velapatiño Castilla
Pág. 38 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Area Administrativa Area Cine Club
Figura 22: Paquetes de la Vista Lógica para el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama Areas en el modelo SACCOW.
) Dentro del paquete Área Administrativa creamos el Diagrama de Clases:
Película Cod_película : String Título : String Título_original : String Director : String País : String Productor : String Protagonistas : String Género : String Año_producción : Integer Empresa_productora : String Color : Boolean Duración : Double Argumento : Text Formato : String Ficha_técnica : Text Apreciación_crítica : Text Fecha_ingreso : Date Precio : Currency Alquiler : Boolean
Usuario Num_usuario : Integer
Reserva Serie : String Fecha : Date Hora : String
Ingresar() Anular()
*
Ingresar() Modificar() Borrar() Buscar()
1
Eventual ID_usuario : Integer 1
Socio Cod_socio : String 1 Apellido : String Nombre : String Sexo : Boolean Fecha_nac : Date Ocupación : String Dirección : String Télefono : String E_mail : String Foto : Object Fecha_ingreso : Date
Abono
Reserva_individual
Serie : String Num_funciones : Integer Asientos : String
Num_asiento : Integer
Ingresar() Modificar() Borrar() Buscar() Imprimir()
0..1
1
Ingresar() Modificar() Borrar() Buscar() Imprimir()
0..1
1..* 4..20
Entrada *
*
1
Disponibilidad : Boolean Num_asiento : Integer Fecha : Date Hora : String Precio : Currency Vender() Intercambiar() Anular()
Función
Num_asiento *
1
ID_función : Integer Fecha : Date Hora : String Cod_película : String Tipo : String Programar() Ingresar() Modificar() Borrar() Imprimir()
Figura 23: Diagrama de Clases para el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaClases_SACCOW en el modelo SACCOW.
Mgr. Artidoro Velapatiño Castilla
Pág. 39 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.6.3.1.4
Diccionario de Datos
Usuario: Persona que asiste a las funciones del Cine Club “Orson Welles”. Eventual: Tipo de usuario que asiste a funciones del Cine Club “Orson Welles” en raras ocasiones. Socio: Tipo de usuario del Cine Club “Orson Welles” que tiene carné que le da derecho a reservar entradas, descuentos en las entradas y participación activa en las sesiones de Cine – Forum. Reserva: Reservación de entradas para las funciones de proyección de películas que hacen los socios con anticipación. Reserva_individual: Reservación para una sola función. Abono: Reservación para varias funciones, festivales o ciclo de funciones. Entrada: Es un documento en formato de etiqueta que permite a los usuarios ingresar a las funciones. Película: Obra cinematográfica que se proyecta en pantalla por intermedio de un proyector de 35 mm o multimedia. Función: Proyección de una película en un sala de proyecciones en fecha y hora determinadas. Clase Usuario: Clase con los atributos Num_usuario y con las operaciones Ingresar y Anular. Clase Socio: Subclase de la clase Usuario, con los atributos Cod_socio, Apellido, Nombre, Sexo, Fecha_nac, Ocupación, Dirección, Teléfono, E_mail, Foto y Fecha_ingreso y las operaciones Ingresar, Modificar, Eliminar, Buscar e Imprimir. Clase Eventual: Subclase de la clase Usuario con los atributos ID_usuario y las operaciones heredadas de la clase Usuario. Clase Reserva: Clase con los atributos Serie, Fecha y Hora y las operaciones Ingresar, Modificar, Eliminar y Buscar. Clase Reserva_individual: Subclase de la clase Reserva con los atributos Num_asiento y las operaciones heredadas de la clase Reserva. Clase Abono: Subclase de la clase Reserva con los atributos Serie, Num_funciones, y Asientos y las operaciones heredadas de la clase Reserva. Clase Entrada: Clase con los atributos Disponibilidad, Num_asiento, Fecha, Hora y Precio y las operaciones Vender, Intercambiar y Anular. Clase Película: Clase con los atributos Cod_película, Título, Título_original, Director, Pais, Productor, Protagonistas, Año_producción, Empresa_productora, Color, Duración, Argumento, Formato, Ficha_técnica, Apreciación_crítica, Fecha_ingreso, Precio y Alquiler y las operaciones Ingresar, Modificar, Eliminar, Buscar e Imprimir. Clase Función: Clase con los atributos ID_función, Fecha, Hora, Cod_película y Tipo y las operaciones Programar, Ingresar, Modificar, Borrar, e Imprimir. Num_usuario: Atributo de tipo entero de la clase Usuario que identifica a un usuario con un número correlativo. Cod_socio: Atributo de tipo cadena de la clase Socio que identifica al Socio socio en el formato XX999 donde XX son la primera letra del nombre y el apellido paterno y 999 es un número correlativo. Apellido: Atributo de tipo cadena de la clase Socio que indica los apellidos paterno y materno del socio. Nombre: Atributo de tipo cadena de la clase Socio que indica el nombre del socio. Sexo: Atributo de tipo lógico de la clase Socio que identifica el sexo del socio, donde 1 = Masculino y 0 = Femenino. Fecha_nac: Atributo de tipo fecha/hora de la clase Socio que indica la fecha de nacimiento Mgr. Artidoro Velapatiño Castilla
Pág. 40 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
del socio, en el formato dd/mm/aaaa. Ocupación: Atributo de tipo cadena de la clase Socio que indica la ocupación del socio. Dirección: Atributo de tipo cadena de la clase Socio que indica la dirección del socio. Teléfono: Atributo de tipo cadena de la clase Socio que indica el teléfono domiciliario del socio. E_mail: Atributo de tipo cadena de la clase Socio que indica el correo electrónico del socio. Foto: Atributo de tipo cadena de la clase Socio que indica la dirección del socio. Fecha_ingreso: Atributo de tipo fecha/hora de la clase Socio que indica la fecha de ingreso del socio al Cine Club “Orson Welles”, en el formato dd/mm/aaaa. ID_usuario: Atributo de tipo entero de la clase Eventual que identifica al usuario eventual con un número correlativo. Serie: Atributo de tipo cadena de la clase Reserva que indica una reservación de entradas. Fecha: Atributo de tipo fecha/hora de la clase Reserva que indica la fecha de la función para la cual se reserva entradas. Hora: Atributo de tipo cadena de la clase Reserva que indica la hora de la función para la cual se reserva entradas. Num_asiento: Atributo de tipo entero de la clase Reserva_individual que indica el numero del asiento reservado para la función respectiva. Serie: Atributo de tipo cadena de la clase Abono que indica el número del abono que puede incluir ceros a la izquierda. Num_funciones: Atributo de tipo entero de la clase Abono que indica el número de funciones que incluye el abono. Asientos: Atributo de tipo cadena de la clase Abono que indica los asientos reservados para el abono. Disponibilidad: Atributo de tipo lógico de la clase Entrada que indica si el asiento está o no disponible. Toma los valores 1 = Disponible y 0 = No disponible. Num_asiento: Atributo de tipo entero de la clase Entrada que identifica el asiento con un número. Fecha: Atributo de tipo fecha/hora de la clase Entrada que indica la fecha de la función respectiva. Hora: Atributo de tipo cadena de la clase Entrada que indica la hora de la función respectiva. Precio: Atributo de tipo moneda de la clase Entrada que el recio en soles de la función respectiva. Cod_película: Atributo de tipo cadena de la clase Película que identifica la película en el formato XX9999 donde XX indica el género de la película y 9999 es un número correlativo. Título: Atributo de tipo cadena de la clase Película que indica el título en español de la película. Título_original: Atributo de tipo cadena de la clase Película que indica el título en el idioma original en que fue filmada. Director: Atributo de tipo cadena de la clase Película que identifica al Director (es) de la película. País: Atributo de tipo cadena de la clase Película que indica el país donde se produjo la película. Productor: Atributo de tipo cadena de la clase Película que identifica el Productor (es) de la película. Protagonistas: Atributo de tipo cadena de la clase Película que identifica a los actores principales de la película. Año_producción: Atributo de tipo entero de la clase Película que indica el año de Mgr. Artidoro Velapatiño Castilla
Pág. 41 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
producción de la película. Empresa_productora: Atributo de tipo cadena de la clase Película que identifica a la empresa productora de la película. Color: Atributo de tipo lógico de la clase Película que indica si la película está filmada en colores o blanco y negro. Toma los valores 1 = Colores y 0 = Blanco y negro. Duración: Atributo de tipo flotante de la clase Película que indica la duración en minutos de la película. Argumento: Atributo de tipo texto de la clase Película que hace una descripción sintética de la película. Se llama también Sinopsis. Formato: Atributo de tipo cadena de la clase Película que describe el formato de la película. Toma los valores: Rollo, VHS, CD o DVD. Ficha_técnica: Atributo de tipo texto de la clase Película que hace una descripción de los datos técnicos de la película. Apreciación_crítica: Atributo de tipo texto de la clase Película que hace una apreciación crítica de los méritos o deméritos de la película. Fecha_ingreso: Atributo de tipo fecha/hora de la clase Película que indica la fecha que la película ingresó al Cine Club “Orson Welles” por donación, compra o alquiler. Precio: Atributo de tipo moneda de la clase Película que indica el precio en soles de la compra o alquiler de la película. Alquiler: Atributo de tipo lógico de la clase Película que indica si la película es alquilada o no. Toma los valores 1 = Alquilada y 0 = No alquilada. ID_función: Atributo de tipo entero de la clase Función que identifica la función con un número correlativo. Fecha: Atributo de tipo fecha/hora de la clase Función que indica la fecha de la función en formato dd/mm/aaaa. Hora: Atributo de tipo cadena de la clase Función que indica la hora de la función. Cod_película: Atributo de tipo cadena de la clase Función que hace referencia a la película que se proyectará en la función. Tipo: Atributo de tipo cadena de la clase Función que indica el tipo función. Toma los valores Simple, Ciclo o Festival. Ingresar: Operación de la clase Usuario. Permite ingresar registros de los usuarios. Anular: Operación de la clase Usuario. Permite anular registros de los usuarios. Ingresar: Operación de la clase Socio. Permite ingresar registros de los socios. Modificar: Operación de la clase Socio. Permite modificar datos de los socios. Eliminar: Operación de la clase Socio. Permite eliminar registros de los socios. Buscar: Operación de la clase Socio. Permite buscar datos de los socios. Imprimir: Operación de la clase Socio. Permite imprimir datos de los socios. Ingresar: Operación de la clase Reserva. Permite ingresar registros de las reservas. Modificar: Operación de la clase Reserva. Permite modificar datos de las reservas. Eliminar: Operación de la clase Reserva. Permite registros datos de las reservas. Buscar: Operación de la clase Reserva. Permite buscar datos de las reservas. Ingresar: Operación de la clase Entrada. Permite ingresar registros de las entradas. Modificar: Operación de la clase Entrada. Permite modificar datos de las entradas. Eliminar: Operación de la clase Entrada. Permite registros datos de las entradas. Buscar: Operación de la clase Entrada. Permite buscar datos de las entradas. Ingresar: Operación de la clase Película. Permite ingresar registros de las películas. Modificar: Operación de la clase Película. Permite modificar datos de las películas. Eliminar: Operación de la clase Película. Permite eliminar registros de las películas. Mgr. Artidoro Velapatiño Castilla
Pág. 42 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Buscar: Operación de la clase Película. Permite buscar datos de las películas. Imprimir: Operación de la clase Película. Permite imprimir datos de las películas. Programar: Operación de la clase Función. Permite programar calendario de las funciones. Ingresar: Operación de la clase Función. Permite ingresar registros de las funciones. Modificar: Operación de la clase Función. Permite modificar datos de las funciones. Borrar: Operación de la clase Función. Permite borrar registros de las funciones. Imprimir: Operación de la clase Función. Permite imprimir datos de las funciones. Compra: Asociación entre las clases Usuario y Entrada. La multiplicidad es de 0..1 a muchos. Compra: Asociación entre las clases Socio y Entrada. La multiplicidad es de 0..1 a muchos. Separa: Asociación entre las clases Reserva_individual y Entrada. La multiplicidad es de 0 ..1 a 1. Separa: Asociación entre las clases Abono y Entrada. La multiplicidad es de 0 o 1 a 4..20. Se_exhibe_en: Asociación entre las clases Película y Función. La multiplicidad es de 1 a 1 o muchos. Permite_ver: Asociación cualificada entre las clases Entrada y Función. La multiplicidad es de muchos a 1. El atributo cualificador es Num_asiento. Es_un: Relación de Generalización (Herencia) entre las clase Usuario y las clases Eventual y Socio. Es_un: Relación de Generalización (Herencia) entre las clase Reserva y las clases Reserva_individual y Abono. Nota: El Diccionario de Datos se implanta en Rational Rose de la siguiente manera: ) Para Clases: Usar la opción Documentation de Open Specification para definir la clase respectiva. ) Para Atributos: Usar la opción Documentation de Specification para definir el atributo respectivo. ) Para Operaciones: Usar la opción Documentation de Specification para definir la operación respectiva. ) Para Asociaciones: Usar la opción Documentation de Open Specification para definir la asociación respectiva.
Mgr. Artidoro Velapatiño Castilla
Pág. 43 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.6.3.2
Diagrama de Objetos
El Diagrama de Objetos lo creamos a partir del Diagrama de Clases para instanciar un objeto determinado, para revisar si este modelo funciona para casos reales. Ver Figura 24.
Usuario Num_usuario : 102
Reserva Serie : 2005125 Fecha : 20/07/2005 Hora : 19 *
1
Socio Cod_socio : AV62 Apellido : Velasquez Santamaria Nombre : Alvaro Sexo : 1 Fecha_nac : 30/04/1978 Ocupación : Ingeniero Civil Dirección : 28 de Julio 178 Télefono : 749741 E_mail Foto : [email protected] Fecha_ingreso : 01/04/2003
Película Cod_película : DR0001 Título : Ciudadano Kane Título_original : Citizen Kane Director : Orson Welles Pais : USA Productor Protagonistas : Josph Cotten, Orson Welles Género : Drama Año_producción : 1940 Empresa_productora : Mercury Productions Color : T Duración : 119 Argumento : Es la historia... Formato : VHS Ficha_técnica : Título :..... Apreciación_crítica : Considerada como .... Fecha_ingreso : 05/01/2001 Precio : 25 Alquiler : F
Abono Serie : 2005125 Num_funciones : 4 Asientos : 12,13,14,15
1
0..1
1..* 1
Entrada Disponibilidad : T Num_asiento : 12 Fecha : 2 Hora : 19 Precio : 3
Num_asiento *
1
Función ID_función : 10 Fecha : 29/07/2005 Hora : 19 Cod_película : DRA0001 Tipo : Simple
Figura 24: Diagrama de Objetos para el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaClases_Objetos y ha sido construido fuera del modelo SACCOW, pero se ha incluido como parte del sistema. Muestra una ocurrencia particular.
Mgr. Artidoro Velapatiño Castilla
Pág. 44 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.6.4
Diagramas de Comportamiento
1.6.4.1 Diagramas de Actividades Vamos a construir diagramas de actividades para actividades relevantes en el Sistema de Administración del Cine Club “Orson Welles”.
) Actividades dentro del paquete Area Cine Club ; Actividad: Ciclo de Cine Dedicado a un Director. Ver Figura 25
Elegir director Seleccionar películas Programar ciclo
Adquirir las películas
Anunciar ciclo
Vender entradas
Preparar fichas técnicas y apreciaciones críticas de las películas
Vender abonos
Proyectar películas
Realizar Cine Forums
Figura 25: Diagrama de Actividades para organizar un ciclo dedicado a un director de cine, en el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaActividad_CicloDirector en el modelo SACCOW.
; Actividad: Cine Forum. Ver Figura 26
Mgr. Artidoro Velapatiño Castilla
Pág. 45 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Repartir Ficha técnica a los usuarios Presentar brevemente la película
Proyectar la pelicula Abrir debate
Intervenciones
Preguntas
Conclusiones
Figura 26: Diagrama de Actividades para organizar un Cine Forum en el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaActividad_CicloDirector en el modelo SACCOW.
) Actividades dentro del paquete Area Administrativa ; Actividad: Adquisición de una película. Ver Figura 27
Mgr. Artidoro Velapatiño Castilla
Pág. 46 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
Director
Administrador
Solicitar película
Cajero
Proveedor /Donador
Revisar información [ Rollo ]
[ Otro formato ]
Solicitar alquiler Solicitar compra
Aprobar adquisición
Pagar alquiler/compra
Solicitar donación
Enviar película Recepcionar película
Programar función
Proyectar película
[ Compra/Donación ]
[ Alquiler ] Devolver pelicula
Almacenar información
Pagar envío
Recibir película
Pasar a cinemateca
Figura 27: Diagrama de Actividades con calles para adquisición de una película en el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaActividad_AdquirirPelícula en el modelo SACCOW.
¡Ejercicio!: ; Construir Diagramas de Actividades para otros procesos relevantes dentro del Sistema de Administración del Cine Club “Orson Welles”.
Mgr. Artidoro Velapatiño Castilla
Pág. 47 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.6.4.2 Diagramas de Estados Vamos a construir diagramas de estados para cambios de estado relevantes en el Sistema de Administración del Cine Club “Orson Welles”.
) Estados dentro del paquete Area Administrativa ; Proceso: Reservación y venta de asientos en el cine club. Ver Figura 28 Asignado a Abono
Fuera de tiempo
Asiento Disponible
Reservar do/ Reservar do/ Asignar exit/ Asiento asignado
Asiento Vendido
Asiento Reservado
Anular reserva
Vender
entry/ Reservar exit/ Asiento reservado
do/ Vender exit/ Asiento vendido
Intercambiar
Figura 28: Diagrama de Estados para reservación y venta de asientos en el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaEstados_Asientos en el modelo SACCOW.
; Proceso: Adquisición de películas para el cine club. Ver Figura 29
Solicitando entry/ Elegir película do/ Buscar el lista exit/ Solicitar
Comprando
Solicitar compra
do/ Comprar película
Solicitar donación Donando
Solicitar alquiler
Película comprada
entry/ Datos donador do/ Donar película
Película donada
Alquilando
Almacenando
do/ Alquilar película
do/ Almacenar película
Película alquilada Devolviendo
Película almacenada
do/ Devolver película
Película devuelta
Figura 29: Diagrama de Estados para adquisición de películas en el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaEstados_Adquirir Películas en el modelo SACCOW.
Mgr. Artidoro Velapatiño Castilla
Pág. 48 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
; Proceso: Pago de abono para el cine club. Ver Figura 30
Abono solicitado Pagar cuota[ Cuota<=3 ]
do/ Solicitar abono
Abono solicitado
Abono solicitado
Pagando al contado
Pagando por cuotas
do/ Pagar monto
do/ Pagar cuota
^Monto pagado ^Monto pagado
Abono pagado
Figura 30: Diagrama de Estados para pagar abonos en el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaEstados_PagarAbono en el modelo SACCOW.
) Estados dentro del paquete Area Cine Club ; Proceso: Ciclo de Cine. Ver Figura 30
Iniciación do/ Propagandizar Ciclo de Cine
Agregar película
Cerrado
Abierto
[ Cuenta= 4/8/12/20 ]
entry/ Proyectar película exit/ ^PelículaEnLista.AgregarPelícula
do/ Finalizar ciclo
Cancelar
Cancelar Cancelado
^PelículaEnLista.Eliminar
Figura 30: Diagrama de Estados para Ciclo de Cine en el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaEstados_CicloCine en el modelo SACCOW.
Ejercicio!: ; Construir Diagramas de Estados para otros procesos relevantes dentro del Sistema de Administración del Cine Club “Orson Welles”.
Mgr. Artidoro Velapatiño Castilla
Pág. 49 de 72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I
1.6.5
Diagramas de Implantación
1.6.5.1 Diagramas de Componentes Vamos a construir diagramas de componentes el Sistema de Administración del Cine Club “Orson Welles”. ; Diagrama de componentes formulario. Ver Figura 31
Aplicación SACCOW.exe
<