UML Modelo Peliculas

72
Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas Curso: Análisis y Diseño Orientado a Objetos I Mgr. Artidoro Velapatiño Castilla Pág. 1 de 72 Sistema de Administración del Cine Club Orson Welles (SACCOW) Análisis y Diseño Tacna, marzo del 2009

Transcript of UML Modelo Peliculas

Page 1: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 1 de 72

Sistema de Administración del

Cine Club Orson Welles

(SACCOW)

Análisis y Diseño

Tacna, marzo del 2009

Page 2: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 2 de 72

“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é.

Page 3: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 3 de 72

1.3 Índice Página 1.1 Carátula 1 1.2 Página introductora. 2 1.3 Índice general. 3 1.4 Identificación del Proyecto: 5 1.4.1 Título del Proyecto. 5 1.4.2 Descripción 5 1.4.3 Autor (es). 5 1.4.4 Versión. 5 1.4.5 Fecha. 5 1.5 Análisis. 6 1.5.1 Documentación del análisis 6 1.5.2 Especificación preliminar de requerimientos 7 1.5.3 Subsistemas e interfaces 9 1.5.4 Diagramas de casos de uso 10 1.5.4.1 Identificación de actores y definición de casos de uso 10 1.5.4.2 Construcción de diagramas 14 1.5.4.3 Descripción de casos de uso 16 1.5.4.4 Descripción de actores 19 1.5.4.5 Escenarios y subescenarios 20 1.5.4.6 Diagramas de actividades 21 1.5.5 Prototipos 24 1.5.5.1 Descripción del menú con las opciones del prototipo 24 1.5.5.2 Descripción de los módulos del menú. 24 1.6 Diseño 24 1.6.1 Diseño preliminar y diseño detallado 24 1.6.2 Diagramas de interacción 26 1.6.2.1 Diagramas de secuencia. 26 1.6.2.2 Diagramas de colaboración. 28 1.6.3 Diagramas de estructura. 31 1.6.3.1 Diagramas de clases: 31 1.6.3.1.1 Identificación de clases y objetos: 31 1.6.3.1.1.1 Clasificación de Ross 31 1.6.3.1.1.2 Análisis sintáctico: 31 1.6.3.1.1.2.1 Descripción de cómo funciona el sistema. 32 1.6.3.1.1.2.2 Subrayado de sustantivos, sintagmas-adjetivos y verbos para identificar las

clases candidatas, sus atributos y los comportamientos 32 1.6.3.1.1.2.3 Uso del análisis de casos de uso haciendo uso de escenarios y subescenarios. 33 1.6.3.1.1.2.4 Fichas CRC (Clase - Responsabilidades - Colaboradores) con el formato de anverso y reverso en base a escenarios 34 1.6.3.1.1.2.5 Depurar clases, atributos y operaciones 36 1.6.3.1.2 Identificación de las relaciones de asociación, dependencia, herencia, agregación. 38 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

Page 4: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 4 de 72

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.

Page 5: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 5 de 72

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

Page 6: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 6 de 72

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.

Page 7: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 7 de 72

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.

Page 8: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 8 de 72

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 con la autorización del Administrador.

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

Page 9: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 9 de 72

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

Page 10: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 10 de 72

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

Taquilla<<subsystem>>

Administración<<subsystem>>

Ayuda<<subsystem>>

Interfaz_Usuario

Interfaz_FuncionInterfaz_Película

Interfaz_Ayuda

Interfaz_Taquilla

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

Page 11: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 11 de 72

Director

Cajero

Sistema de Administración del Cine Club Orson Welles

Administrador

Usuario

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,

Page 12: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 12 de 72

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.

Autorizar crédito

Reservar entradas

Comprar entradasUsuario

(from Use Case View)

Comprar abonos

Cobrar

Cajero

(from Use Case View)

Imprimir

Director

(from Use Case View)

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.

Page 13: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 13 de 72

<<extend>>

Reservar entradas

Comprar entradas

<<realize>>

Comprar abonos

<<realize>>

Autorizar créditoCobrar

<<include>> <<include>>

<<communicate>>

Imprimir entradas Imprimir abonos

Imprimir

<<include>><<extend>>

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

Administrar películasAdministrador

(from Use Case View)

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

Page 14: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 14 de 72

<<include>>

Ingresar socios Modificar socios Eliminar socios Imprimir socios

Administrar socios<<include>>

<<include>><<include>>

<<include>>

Buscar socios

<<include>>

Búsqueda individual

<<extend>>

Búsqueda grupal

<<extend>>

Imprimir(f rom Taquilla)

<<include>>

Modificar películasIngresar películas Eliminar películas

Administrar películas

<<include>>

<<include>>

<<include>>

Buscar películas

<<include>>

Búsqueda grupal

<<extend>>

Búsqueda individual

<<extend>>

Imprimir ficha técnica

<<include>>

Imprimir(f rom Taquilla)

<<include>>

<<include>>

<<extend>>

Page 15: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 15 de 72

Programar calendario Ingresar funcionesModificar funciones Eliminar funciones

Administrar funciones<<include>>

<<include>>

<<include>>

<<include>>

Buscar funciones

<<include>>

Búsqueda individual

<<extend>>

Búsqueda grupal

<<extend>>

Imprimir(f rom Taquilla)

<<include>>

<<include>>

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

Page 16: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 16 de 72

Eventual Socio

Comprar abonosComprar entradas

Director

(from Use Case View)Autorizar crédito

Cobrar

<<include>><<include>>

<<real ize>>

Imprimir entradas Imprimir abonos

Imprimir

<<include>>

<<extend>> <<extend>>

Usuario

(from Use Case View)

Cajero

(from Use Case View)

Reservar entradas

<<realize>><<realize>>

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

Page 17: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 17 de 72

Administrador

(from Use Case View)

Ingresar socios Modif icar socios Eliminar socios

Administrar socios

<<include>> <<include>> <<include>>

Ingresar películas Modif icar películas

Ingresar f unciones Modif icar f unciones Eliminar f unciones

Administrar f unciones

<<include>><<include>> <<include>>

Eliminar películas Imprimir f icha técnica

Administrar películas

<<include>><<include>> <<include>>

<<include>>

Buscar socios

<<include>>

Buscar películas

<<include>>

Buscar f unciones

<<include>>

Imprimir socios

<<include>>

Búsqueda indiv idual

<<extend>>

Búsqueda grupal

<<extend>>

Búsqueda indiv idual

<<extend>>

Búsqueda grupal

<<extend>>

Búsqueda indiv idual<<extend>>

Búsqueda grupal

<<extend>>

Programar calendario

<<include>>

Imprimir

(from Taqui...

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

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

Page 18: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 18 de 72

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 Reservar entradas Versión 1.0; 25/07/2005 Autor (es) VASQUEZ MOLLO, Virginia; MOLINA CACERES, Juan José; RIOS LOPEZ, Cecilia Ana. Descripción Permite al socio del Cine Club Orson Welles reservar entradas para las funciones de cine. Precondición Ser socio del Cine Club Orson Welles. Secuencia normal 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. Postcondición Socio con entradas reservadas. Excepciones 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.

Rendimiento Paso Cota de tiempo 1 –4 El promedio de realizar una reserva dura de 1 a 5 minutos Frecuencia Las reservas de entradas se presentan con frecuencia cuando hay festivales o programaciones

de películas interesantes. Importancia Es importante tener acceso a reservas para festivales o programaciones importantes. Urgencia Es bueno ofrecer reservas de entradas en el Cine Club Orson Welles. Comentarios 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 Comprar entradas Versión 1.0; 25/07/2005 Autor (es) VASQUEZ MOLLO, Virginia; MOLINA CACERES, Juan José; RIOS LOPEZ, Cecilia Ana. Descripción Permite al usuario del Cine Club Orson Welles comprar entradas para las funciones de cine. Precondición Usuario que desea de ver una película en el Cine Club Orson Welles. Secuencia normal 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.

Page 19: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 19 de 72

1.c 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. Postcondición Usuario con entradas compradas. Excepciones 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.

Rendimiento Paso Cota de tiempo 1 –2 El promedio de realizar una compra dura de 1 a 2 minutos Frecuencia Las compras de entradas se presentan con frecuencia cuando hay películas interesantes. Importancia Es importante tener acceso a varias funciones de películas interesantes. Urgencia Es bueno ofrecer varias funciones para el Cine Club Orson Welles. Comentarios 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 Comprar abonos Versión 1.0; 25/07/2005 Autor (es) VASQUEZ MOLLO, Virginia; MOLINA CACERES, Juan José; RIOS LOPEZ, Cecilia Ana. Descripción Permite al usuario del Cine Club Orson Welles comprar abono para las funciones de cine. Precondición Usuario que desea de varias películas en el Cine Club Orson Welles. Secuencia normal 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. Postcondición Usuario con abonos comprados. Excepciones 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.

Rendimiento Paso Cota de tiempo 1 –2 El promedio de realizar una compra del abono dura de 1 a 2 minutos Frecuencia Las compras de abonos se presentan con frecuencia cuando hay ciclos de películas

interesantes. Importancia Es importante programar ciclos de películas interesantes. Urgencia Es bueno ofrecer varios ciclos de películas en el Cine Club Orson Welles. Comentarios 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.

Page 20: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 20 de 72

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 Usuario Descripción Persona natural que desea ver películas en el Cine Club Orson Welles. Rol Ve películas en el CCOW comprando entradas y/o abonos. Casos de uso Reservar entradas, Comprar entradas, Comprar abonos, Imprimir. Notas ♦ 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 Cajero Descripción Empleado del Cine Club Orson Welles encargado de la taquilla. Rol Vender entradas, abonos y atender reservas. Casos de uso Cobrar, Imprimir, Comprar abonos, Imprimir, Reservar entradas. Notas ♦ 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 Administrador Descripción Empleado del Cine Club Orson Welles encargado de la administración. Rol Administrar socios, películas y funciones. Casos de uso Administrar socios, Administrar películas, Administrar funciones. Notas ♦ 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.

Page 21: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 21 de 72

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 Reservar entradas. Precondiciones Hay asientos disponibles. Poscondiciones Los datos se han ingresado correctamente. El número de reservas individuales se ha incrementado. Excepciones El usuario sólo puede reservar un máximo de 4 entradas. Iniciado por Usuario. Finalizado por: Cajero.

Detalle operaciones 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.

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 Comprar entradas. Precondiciones Hay asientos disponibles. Poscondiciones Los datos se han ingresado correctamente. El número de reservas individuales se ha incrementado. Excepciones El usuario sólo puede reservar un máximo de 2 abonos. Iniciado por Usuario. Finalizado por: Cajero.

Detalle operaciones Paso Acción

Page 22: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 22 de 72

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. 1.c Si es socio y ha hecho reserva, canjea su boleta de reserva con las correspondientes

entradas. 2 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 Comprar abonos. Precondiciones Hay asientos disponibles. Poscondiciones Los datos se han ingresado correctamente. El número de abonos se ha incrementado. Excepciones Los abonos pueden comprarse al contado o por cuotas Iniciado por Usuario. Finalizado por: Cajero.

Detalle operaciones Paso Acción

1 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

2 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.

2 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!:

Page 23: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 23 de 72

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

Se identica en ventanilla con carné de socio

[ Personalmente ]

Llama por teléfono y proporciona sus datos

[ Por teléfono ]

Cajero verifica datos de socio

Socio reserva entradas

Cajero verifica disponibi lidad de entradas

Cajero entrega ficha con datos de resera

[ Hay entradas ]

Cajero informa al socio

[ No hay entradas ]

Socio rati fica reserva

Socio cancela reserva

Socio canjea ficha por entradas

[ Paga monto ]

Cajero anula reserva

[ No paga monto ]

[ Socio posterga reservas ]

^Nº entradas <=4

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.

Page 24: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 24 de 72

Usuario desea ver función de CCOW

Compra entrada y paga precio normal

[ Es eventual ]

Compra entrada y paga precio especial

[ Es socio ]

Canjea ficha de reserva por entradas

[ Hizo reserva ]

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

Paga el monto al contado

[ Al contado ]

Paga en tres cuotas

[ En cuotas ]

Funciones normales de 4, 8, 12 ó 20 funciones

Festivales de cine

Ciclos de cine por país, por director, por género, etc.

Usuario recibe abono

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.

Page 25: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 25 de 72

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

Page 26: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 26 de 72

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ú.

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 Diseño 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 Personal Tiempo (d) Costos (S/) Diagramas de interacción Virginia LOPEZ 6 30 Diagramas de clases J.J. MOLINA 4 20 Diagramas de objetos Cecilia LOPEZ 2 10 Diagrama de actividades Virginia LOPEZ 2 10 Diagrama de estados Cecilia LOPEZ 3 15 Diagrama de componentes J.J. MOLINA 2 10

Page 27: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 27 de 72

Diagrama de despliegue J.J. MOLINA 2 10 Total ------------------ 21 105

1.6.2 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.

Socio : Usuario c : Cajero

a : Asiento

1: Se presenta o llama por teléfono 2: Verifica disponibilidad de

asientos3:

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.

a : Asientou : Usuario c : Cajero

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

Page 28: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 28 de 72

SACCOW. Este diagrama se llama DiagramaSecuencia_ComprarEntradas en el modelo SACCOW. Diagrama de Secuencia para el CU Comprar abonos. Ver Figura 16.

u : Usuarioc : Cajero

a : Asiento

: Director1: Solicita abonos 2: Verifica disponibilidad

3: 4: Muestra disponibilidad

de asientos5: Selecciona asientos

6: Solicita pago de abono

7: Paga al contado

8: Solicita pago por cuotas9: Solicita autorización de crédito

10: Autoriza crédito11: 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.

Page 29: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 29 de 72

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.

a : Asiento

Socio : Usuario c : Cajero

1: Se presenta o llama por teléfono

4: Comunica disponibilidad de asientos

6: Confirma reservas

7: Acepta reservas

8: Cancela reservas

9: Acepta cancelación de reservas5: Selecciona asientos

2: Verifica disponibilidad de asientos3:

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.

a : Asiento

u : Usuario c : Cajero

1: Solicita entradas

4: Muestra disponibildad de asientos

6: Solicita pago de entradas

7: Paga las entradas

8: Imprime y entrega entradas

5: Selecciona asientos2: Verifica disponibilidad de asientos

3:

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.

Page 30: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 30 de 72

Diagrama de Colaboración para el CU Comprar abonos. Ver Figura 19.

u : Usuario c : Cajero

a : Asiento

: Director

1: Solicita abonos

4: Muestra disponibilidad de asientos

6: Solicita pago de abono

7: Paga al contado

8: Solicita pago por cuotas

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: Impre comprobante 3ra. cuota

5: Selecciona asientos

2: Verifica disponibilidad3:

9: Solicita autorización de crédito

10: Autoriza crédito

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.

Page 31: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 31 de 72

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 Descripción Personas Usuarios (Socios y Eventuales), Administrativos (Director, Administrador, Cajero) Lugares Sala de proyección, Almacén, Ventanilla Cosas 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,

Page 32: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 32 de 72

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.

Page 33: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 33 de 72

Descripción del Escenario Reservar entradas

Escenario 11 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.

Descripción del Escenario Comprar entradas

Escenario 12 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. 1.c Si es socio y ha hecho reserva, canjea su boleta de reserva con las correspondientes

entradas. 2 El usuario ve la película que se está proyectando.

Descripción del Escenario Comprar abonos

Escenario 13 Paso Acción

1 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

2 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.

2 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 (Clase - Responsabilidades -

Page 34: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 34 de 72

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 Proyección Crítica

Administrador Empleado 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 Proyectar película Cine Forum

Administrador Empleado 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

Page 35: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 35 de 72

CLASE: Usuario

Responsabilidades Colaboradores Comprar entradas Comprar abonos Asistir a funciones

Cajero Cajero Función, Película

CLASE: Usuario

Num_usuario: Integer Num_entradas: Integer Superclases Subclases Eventual

Socio

Ficha CRC para la clase Socio

CLASE: Socio Responsabilidades Colaboradores

Reservar entradas Comprar entradas Comprar abonos Pedir crédito Asistir a funciones Criticar películas

Cajero Cajero Cajero Cajero, Director Función, Película Cine Club

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 Subclases Usuario

Ficha CRC para la clase Reserva

CLASE: Reserva Responsabilidades Colaboradores

Hacer reserva Confirmar reserva Cancelar reserva

Cajero, Función, Película Cajero 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 Confirmar reserva Cancelar reserva

Cajero, Función, Película Cajero Cajero

CLASE: Reserva_individual

Num_asiento: Integer Fecha : Date Hora : String Superclases Subclases Reserva

Page 36: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 36 de 72

Ficha CRC para la clase Abono

CLASE: Abono Responsabilidades Colaboradores

Hacer reserva Confirmar reserva Cancelar reserva

Cajero, Función, Película Cajero Cajero

CLASE: Abono

Serie: String Num_asientos : Integer Superclases Subclases Reserva

Ficha CRC para la clase Entrada

CLASE: Entrada Responsabilidades Colaboradores

Comprar entrada Pagar entrada

Cajero, Función, Película 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 de clases, atributos y operaciones

candidatas

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:

Page 37: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 37 de 72

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

UsuarioNum_usuario : Integer

Ingresar()Anular()

SocioCod_socio : StringApell ido : StringNombre : StringSexo : BooleanFecha_nac : DateOcupación : StringDirección : StringTeléfono : StringE_mail : StringFoto : ObjectFecha_ingreso : Date

Ingresar()Modificar()Borrar()Buscar()Imprimir()

Eventual

ID_usuario : Integer

PelículaCod_película : StringTítulo : StringTítulo_original : StringDirector : StringPaís : StringProductor : StringProtagonistas : StringGénero : IntegerAño_producción : IntegerEmpresa_productora : StringColor : BooleanDuración : DoubleArgumento : TextFormato : StringFicha_técnica : TextApreciación_crítica : TextFecha_ingreso : DatePrecio : CurrencyAlquiler : Boolean

Ingresar()Modificar()Borrar()...

FunciónID_función : IntegerFecha : DateHora : StringCod_película : StringTipo : String

Programar()Ingresar()Modifi icar()Borrar()Buscar()Imprimir()

Reserva

Serie : StringFecha : DateHora : String

Ingresar()Modificar()Eliminar()Buscar()

Reserva_individual

Num_asiento : Integer

Abono

Serie : StringNum_funciones : IntegerAsientos : String

Entrada

Disponibilidad : BooleanNum_asiento : IntegerFecha : DateHora : StringPrecio : Currency

Vender()Intercambiar()Anular()

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.

Page 38: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 38 de 72

1.6.3.1.2 Identificación de las relaciones de asociación, dependencia, herencia, agregación.

Analizando las relaciones entre las clases podemos identificar:

Las siguientes asociaciones: Ver Figura 21

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

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

Eventual Entrada*0..1

Compra

0..1 *

Película Función1..*11 1..*

Se_exhibe

Reserva_individual Entrada10..10..1 1

Separa

Abono Entrada4..200..10..1 4..20

Separa

Entrada FunciónNum_asiento1**

Num_asiento1

Permite_ver

Usuario

Eventual Socio

Reserva

Reserva_individual Abono

EntradaSocio*0..1 *0..1

Compra

Page 39: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 39 de 72

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:

Usuario

Num_usuario : Integer

Ingresar()Anular()

PelículaCod_película : StringTítulo : StringTítulo_original : StringDirector : StringPaís : StringProductor : StringProtagonistas : StringGénero : StringAño_producción : IntegerEmpresa_productora : StringColor : BooleanDuración : DoubleArgumento : TextFormato : StringFicha_técnica : TextApreciación_crítica : TextFecha_ingreso : DatePrecio : CurrencyAlquiler : Boolean

Ingresar()Modificar()Borrar()Buscar()Imprimir()

Reserva_individualNum_asiento : Integer

AbonoSerie : StringNum_funciones : IntegerAsientos : String

FunciónID_función : IntegerFecha : DateHora : StringCod_película : StringTipo : String

Programar()Ingresar()Modificar()Borrar()Imprimir()

1..*

1

1..*

1

Eventual

ID_usuario : Integer

ReservaSerie : StringFecha : DateHora : String

Ingresar()Modificar()Borrar()Buscar()

EntradaDisponibi lidad : BooleanNum_asiento : IntegerFecha : DateHora : StringPrecio : Currency

Vender()Intercambiar()Anular()

4..20

0..1

4..20

0..1

1

0..1

1

0..1

Num_asiento

1* 1

Num_asiento**

1

*

1

Socio

Cod_socio : StringApellido : StringNombre : StringSexo : Boolean

Fecha_nac : DateOcupación : StringDirección : StringTélefono : StringE_mail : StringFoto : Object

Fecha_ingreso : Date

Ingresar()Modificar()

Borrar()Buscar()Imprimir()

*

1

*

1

*

1

*

1

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.

Page 40: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 40 de 72

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

Page 41: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 41 de 72

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

Page 42: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 42 de 72

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.

Page 43: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 43 de 72

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.

Page 44: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 44 de 72

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.

AbonoSerie : 2005125Num_funciones : 4Asientos : 12,13,14,15

UsuarioNum_usuario : 102

PelículaCod_película : DR0001Título : Ciudadano KaneTítulo_original : Citizen KaneDirector : Orson WellesPais : USAProductorProtagonistas : Josph Cotten, Orson WellesGénero : DramaAño_producción : 1940Empresa_productora : Mercury ProductionsColor : TDuración : 119Argumento : Es la historia...Formato : VHSFicha_técnica : Título :.....Apreciación_crítica : Considerada como ....Fecha_ingreso : 05/01/2001Precio : 25Alquiler : F

ReservaSerie : 2005125Fecha : 20/07/2005Hora : 19

FunciónID_función : 10Fecha : 29/07/2005Hora : 19Cod_película : DRA0001Tipo : Simple

1..*

1

1..*

1

SocioCod_socio : AV62

Apellido : Velasquez SantamariaNombre : Alvaro

Sexo : 1Fecha_nac : 30/04/1978

Ocupación : Ingeniero CivilDirección : 28 de Julio 178

Télefono : 749741E_mail

Foto : [email protected]_ingreso : 01/04/2003

*

1

*

1

EntradaDisponibilidad : TNum_asiento : 12Fecha : 2Hora : 19Precio : 3

1

0..1

1

0..1

Num_asiento1* 1

Num_asiento*

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.

Page 45: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 45 de 72

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

Preparar fichas técnicas y apreciaciones críticas de las películas

Adquirir las películas

Anunciar ciclo

Vender entradas

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

Page 46: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 46 de 72

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

Page 47: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 47 de 72

Solicitar película

Almacenar información

Revisar información

Solicitar alquiler

[ Rollo ][ Otro formato ]

Solicitar compra

Solicitar donación

Recepcionar película

Programar función

Proyectar película

Devolver pelicula

[ Alquiler ]

Pasar a cinemateca

[ Compra/Donación ]

Aprobar adquisición

Pagar alquiler/compra

Pagar envío

Enviar película

Recibir película

Proveedor /DonadorCajeroAdministradorDirector

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”.

Page 48: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 48 de 72

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

Asiento Disponible

do/ Reservardo/ Asignarexit/ Asiento asignado

Asiento Reservado

entry/ Reservarexit/ Asiento reservado

Asiento Vendido

do/ Venderexit/ Asiento vendido

VenderAnular reserva

Fuera de tiempo

Reservar

Asignado a Abono

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ículado/ Buscar el listaexit/ Solicitar

Comprando

do/ Comprar película

Almacenando

do/ Almacenar película

Donando

entry/ Datos donadordo/ Donar película

Alquilando

do/ Alquilar película

Devolviendo

do/ Devolver película

Solicitar compra

Solicitar donación

Solicitar alquiler

Película donada

Película comprada

Película alquilada

Película almacenada

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.

Page 49: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 49 de 72

Proceso: Pago de abono para el cine club. Ver Figura 30

Abono solicitado

do/ Solicitar abono

Pagando al contado

do/ Pagar monto

Pagando por cuotas

do/ Pagar cuota

Abono pagado

Abono solicitado

Pagar cuota[ Cuota<=3 ]

Abono solicitado

^Monto pagado

^Monto 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

Abierto

entry/ Proyectar películaexit/ P̂elículaEnLista.AgregarPelícula

Cancelado

Cerrado

do/ Finalizar ciclo

Agregar película

Cancelar

[ Cuenta= 4/8/12/20 ]

Cancelar

^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”.

Page 50: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 50 de 72

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

Película<<Form>>

Aplicación SACCOW.exe

Identificación de administrador y contraseña

<<Form>>

Socio<<Form>>

Función<<Form>>

Principal<<Form>>

Reservas<<Form>>

Entradas<<Form>>

Abonos<<Form>>

Acceso a Base de Datos

BD_SACCOW

Editor<<Form>>

Imágenes<<Form>>

Calculadora<<Form>>

Calendario<<Form>>

Figura 31: Diagrama de Componentes (Formularios) para el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaCompoentes_SACCOW_Formularios

en el modelo SACCOW.

Page 51: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 51 de 72

Diagrama con componentes código y archivos auxiliares. Ver Figura 32

ProyectoSACCOW.obj

ProyectoSACCOW.cpp

ProyectoSACCOW.exe

UnidadPrincipal.cpp

ProyectoSACCOW.res

UnidadPrincipal.obj

UnidadPrincipal.h

#include

ProyectoSACCOW.tds

ProyectoSACCOW.bpr

Compilador

Intrefaz

BD_SACCOW

Ayuda

Enlazador

Reportes

Figura 32: Diagrama de Componentes (Código) para el Sistema de administración del Cine

Club Orson Welles. Este diagrama se llama DiagramaCompoentes_SACCOW_Código en el modelo SACCOW.

1.6.5.2 Diagrama de Despliegue Construimos el Diagrama de Despliegue para el Sistema De Administración del Cine Club Orson Welles. Ver Figura 33

Page 52: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 52 de 72

Servidor Sistema de Administración de Cine Club "Orson Welles"

<<Servidor Principal>>

preemptive

SQL Sever 2000Windows 2003 Server

PC Pentium IV 3.GHz

Cliente1: Administración

manual

AdmiCCOW.exe

Cliente 2: Taquilla

manual

Taqui lla.exe

Servidor de Impresión

preemptive

TCP/IPTCP/IP

<<Red local>>

<<Red local>>

Pentium IV 2 GHZ

Impresora HP de Inyeccón de tinta

Ppentium IV 2 GHz

Figura 33: Diagrama de Despliegue para el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaCompoentes_SACCOW_Código en el modelo

SACCOW.

Page 53: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 53 de 72

1.7 Implementación del Sistema 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 Para definir los identificadores de clase utilizamos el siguiente cuadro:

Clase Identificador (Part of Object Indentity )

Eventual ID_usario Socio Cod_usuario Reserva Serie Entrada Num_asiento, Fecha, HoraPelícula Cod_película Función ID_función

1.7.1.2 Declaración de las clases persistentes Previamente rectificamos los estereotipos de las clases, asignado valor nulo a los estereotipos; entonces nuestro diagrama de clases toma la forma de la Figura 34.

AbonoSerie : StringNum_funciones : IntegerAsientos : String

UsuarioNum_usuario : Integer

Ingresar()Anular()

PelículaCod_película : StringTítulo : StringTítulo_original : StringDirector : StringPaís : StringProductor : StringProtagonistas : StringGénero : StringAño_producción : IntegerEmpresa_productora : StringColor : BooleanDuración : DoubleArgumento : TextFormato : StringFicha_técnica : TextApreciación_crítica : TextFecha_ingreso : DatePrecio : CurrencyAlquiler : Boolean

Ingresar()Modificar()Borrar()...

Reserva_individualNum_asiento : Integer

FunciónID_función : IntegerFecha : DateHora : StringCod_película : StringTipo : String

Programar()Ingresar()Modificar()Borrar()Imprimir()

1..*

1

1..*

1

EventualID_usuario : Integer

ReservaSerie : StringFecha : DateHora : String

Ingresar()Modificar()Borrar()Buscar()

EntradaDisponibi lidad : BooleanNum_asiento : IntegerFecha : DateHora : StringPrecio : Currency

Vender()Intercambiar()Anular()

4..20

0..1

4..20

0..1

1

0..1

1

0..1

Num_asiento

1* 1

Num_asiento

**

1

*

1Socio

Cod_socio : StringApellido : StringNombre : StringSexo : BooleanFecha_nac : DateOcupación : StringDirección : StringTélefono : StringE_mail : StringFoto : ObjectFecha_ingreso : Date

Ingresar()Modificar()Borrar()Buscar()Imprimir()

*

1

*

1

*

1

*

1

Figura 34: Diagrama de Clases para el Sistema de administración del Cine Club Orson

Welles. Este diagrama se llama DiagramaClases_SACCOW en el modelo SACCOW.

Page 54: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 54 de 72

Luego declaramos todas las clases como persistentes:

Clase Open Specification (Detail/Persistence: Persistent)

Usuario Eventual Socio Reserva Reserva_individual Abono Entrada Película Función

1.7.1.3 Creación de los componentes de Bases de Datos 1.7.1.3.1 Creación de los componentes Creamos los componentes de la bases de datos:

Componente (Component) Nombre (Name) Destino (Target) Base de Datos (Database) DB_SACCOW SQL Server 2000.x Espacio de Tablas (TableSpace) TSP_SACCOW 1.7.1.3.2 Creación del Diagrama de componentes para la BD Arrastrando estas componentes a Main (renombrado DiagramaComponentes_BD) obtenemos el diagrama correspondiente. Ver Figura 35.

TSP_SACCOW<<Tablespace>>

DB_SACCOW

Figura 35: Diagrama de Componentes para la Base de Datos del Sistema de administración

del Cine Club Orson Welles. Este diagrama se llama DiagramaComponentes_DB en el modelo SACCOW.

Page 55: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 55 de 72

1.7.1.4 Creación del esquema de la Base de Datos En la sección Área Administrativa creamos el esquema S_0 con los datos siguientes:

Esquema de Destino (Destination Schema)

Base se Datos de Destino (Target Database)

Prefijo (Prefix)

S_SACCOW DB_SACCOW Ninguno

Ver Figura 36

Figura 36: Esquema para la base de datos del Sistema de administración del Cine Club Orson Welles. Este esquema se llama S_SACCOW en el modelo SACCOW.

1.7.1.5 Creación del Diagrama del Modelo de Datos A partir del esquema S_SACCOW, creamos el diagrama del modelo de datos, arrastrando las tablas generadas y obtendremos un diagrama semejante a la Figura 37, donde Rational Rose crea las tablas y les define características estándar para las columnas y asigna las claves respectivas a cada tabla Luego, redefinimos las propiedades de cada columna (Nombre, tipo de dato, ancho), interrelaciones, cardinalidad y obtendremos algo semejante a la Figura 38, de acuerdo a las características expresadas en el Diccionario de Datos y las siguientes indicaciones para cada una de las tablas:

Tabla: USUARIO Columna PK Tipo_dato No nulo Único

Num_usuario INT Usuario_ID PK INT

Page 56: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 56 de 72

<<Non-Identifying>>

FunciónID_función : INTFecha : DATETIMEHora : VARCHAR(255)Cod_película : VARCHAR(255)Tipo : VARCHAR(255)Película_Cod_película : VARCHAR(255)

<<PK>> PK_Función5()<<FK>> FK_Función2()<<Index>> TC_Función6()

PelículaCod_película : VARCHAR(255)Título : VARCHAR(255)Título_original : VARCHAR(255)Director : VARCHAR(255)País : VARCHAR(255)Productor : VARCHAR(255)Protagonistas : VARCHAR(255)Género : VARCHAR(255)Año_producción : INTEmpresa_productora : VARCHAR(255)Color : BITDuración : FLOAT(64, 0)Argumento : SMALLINTFormato : VARCHAR(255)Ficha_técnica : SMALLINTApreciación_crítica : SMALLINTFecha_ingreso : DATETIMEPrecio : MONEYAlquiler : BIT

<<PK>> PK_Película4()

1

1..*

1

1..*

<<Non-Identifying>>

AbonoSerie : VARCHAR(255)Num_funciones : INTAsientos : VARCHAR(255)Reserva_Serie : VARCHAR(255)

<<PK>> PK_Abono10()<<FK>> FK_Abono10()

Reserv a_indiv idualNum_asiento : INTSerie : VARCHAR(255)

<<PK>> PK_Reserva_individual9()<<FK>> FK_Reserva_individual8()

EntradaDisponibilidad : BITNum_asiento : INTFecha : DATETIMEHora : VARCHAR(255)Precio : MONEYID_función : INTID_usuario : INTCod_socio : VARCHAR(255)Serie : VARCHAR(255)Reserva_Serie : VARCHAR(255)Usuario_ID : INTSocio_Usuario_ID : INT

<<PK>> PK_Entrada3()<<FK>> FK_Entrada9()<<FK>> FK_Entrada7()<<FK>> FK_Entrada6()<<FK>> FK_Entrada4()<<FK>> FK_Entrada3()<<Index>> TC_Entrada14()<<Index>> TC_Entrada8()<<Index>> TC_Entrada10()

1

0..*

1

0..*

1

0..*

1

0..*

<<Non-Identifying>>

1

0..*

1

0..*

<<Non-Identifying>>

Reserv aSerie : VARCHAR(255)Fecha : DATETIMEHora : VARCHAR(255)Cod_socio : VARCHAR(255)Usuario_ID : INT

<<PK>> PK_Reserva0()<<FK>> FK_Reserva5()<<Index>> TC_Reserva12()

1

0..1

1

0..1

<<Identifying>>

1

0..1

1

0..1

<<Identifying>>

SocioCod_socio : VARCHAR(255)Apellido : VARCHAR(255)Nombre : VARCHAR(255)Sexo : BITFecha_nac : DATETIMEOcupación : VARCHAR(255)Dirección : VARCHAR(255)Télefono : VARCHAR(255)E_mail : VARCHAR(255)Foto : SMALLINTFecha_ingreso : DATETIMEUsuario_ID : INT

<<PK>> PK_Socio7()<<FK>> FK_Socio12()

1

0..*

1

0..*

<<Non-Identifying>>

1

0..*

1

0..*<<Non-Identifying>>

Ev entualID_usuario : INTUsuario_ID : INT

<<PK>> PK_Eventual6()<<FK>> FK_Eventual11() 1

0..*

1

0..*

<<Non-Identifying>>

UsuarioNum_usuario : INTUsuario_ID : INT

<<PK>> PK_Usuario8()

1

0..*

1

0..*

<<Identifying>>1

0..*

1

0..*

<<Identifying>>

Figura 37: Diagrama del modelo de datos para el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaModeloDatos_SACCOW en el modelo SACCOW.

Page 57: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 57 de 72

Tabla: EVENTUAL

Columna PK Tipo_dato No nulo Único ID_usuario PK INT Usuario_ID FK/PK INT

Tabla: SOCIO Columna PK Tipo_dato No nulo Único

Cod_socio PK CHAR(5) Apellido VARCHAR(40) Nombre VARCHAR(35) Sexo BIT Fecha_nac DATETIME Ocupación VARCHAR(30) Dirección VARCHAR(60) Teléfono VARCHAR(10) E_mail VARCHAR(35) Foto IMAGE Fecha_ingreso DATETIME Usuario_ID FK/PK INT

Tabla: RESERVA Columna PK Tipo_dato No nulo Único

Serie PK CHAR(6) Fecha DATETIME Hora CHAR(5) Cod_socio FK CHAR(5) Usuario_ID FK INT

Tabla: ABONO Columna PK Tipo_dato No nulo Único

Serie CHAR(6) Num_funciones INT Hora CHAR(5) Reserva_Serie FK/PK CHAR(6)

Tabla: RESERVA_INDIVIDUAL Columna PK Tipo_dato No nulo Único

Num_asiento INT Serie FK/PK CHAR(6)

Tabla: ENTRADA Columna PK Tipo_dato No nulo Único

Disponibilidad BIT Num_asiento PK INT Fecha PK DATETIME Hora PK CHAR(5) Precio MONEY ID_función FK INT ID_usuario FK INT

Page 58: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 58 de 72

Cod_socio FK CHAR(5) Serie FK CHAR(6) Reserva_Serie FK CHAR(6) Usuario_ID FK INT Socio_Usuario FK INT

Tabla: PELICULA Columna PK Tipo_dato No nulo Único

Cod_película PK CHAR(6) Título VARCHAR(255) Título_original VARCHAR(255) Director VARCHAR(60) País VARCHAR(30) Productor VARCHAR(60) Protagonistas VARCHAR(80) Género VARCHAR(20) Año_producción INT Empresa_productora VARCHAR(40) Color BIT Duración FLOAT Argumento TEXT Formato VARCHAR(5) Ficha_técnica TEXT Apreciación_crítica TEXT Fecha_ingreso DATETIME Precio MONEY Alquiler BIT

Tabla: FUNCION Columna PK Tipo_dato No nulo Único

ID_función PK INT Fecha DATETIME Hora CHAR(5) Tipo VARCHAR(8) Película_Cod CHAR(6)

Page 59: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 59 de 72

FunciónID_función : INTFecha : DATETIMEHora : CHAR(5)Tipo : VARCHAR(8)Película_Cod_película : CHAR(6)

<<PK>> PK_Función5()<<FK>> FK_Función2()<<Index>> TC_Función6()

PelículaCod_película : CHAR(6)Título : VARCHAR(255)Título_original : VARCHAR(255)Director : VARCHAR(60)País : VARCHAR(30)Productor : VARCHAR(60)Protagonistas : VARCHAR(80)Género : VARCHAR(20)Año_producción : INTEmpresa_productora : VARCHAR(40)Color : BITDuración : FLOAT(64, 0)Argumento : SMALLINTFormato : VARCHAR(5)Ficha_técnica : TEXTApreciación_crítica : TEXTFecha_ingreso : DATETIMEPrecio : MONEYAlquiler : BITArgumento : TEXT

<<PK>> PK_Película4()<<Unique>> TC_Película28()

1

1..*

1

1..*

<<Non-Identifying>>

AbonoSerie : CHAR(6)Num_funciones : INTAsientos : VARCHAR(60)Reserva_Serie : CHAR(6)Serie : VARCHAR(255)Asientos : VARCHAR(255)

<<PK>> PK_Abono10()<<FK>> FK_Abono10()<<Unique>> TC_Abono26()<<Unique>> TC_Abono27()

Reserva_individualNum_asiento : INTSerie : VARCHAR(255)

<<PK>> PK_Reserva_individual9()<<FK>> FK_Reserva_individual8()

EntradaDisponibilidad : BITNum_asiento : INTFecha : DATETIMEHora : CHAR(5)Precio : MONEYID_función : INTID_usuario : INTCod_socio : CHAR(5)Serie : VARCHAR(255)Reserva_Serie : CHAR(6)Usuario_ID : INTSocio_Usuario_ID : INT

<<PK>> PK_Entrada3()<<FK>> FK_Entrada9()<<FK>> FK_Entrada7()<<FK>> FK_Entrada6()<<FK>> FK_Entrada4()<<FK>> FK_Entrada3()<<Index>> TC_Entrada14()<<Index>> TC_Entrada8()<<Index>> TC_Entrada10()

1

0..*

1

0..*

<<Non-Identifying>>

1

0..*

1

0..*

<<Non-Identifying>>

1

0..*

1

0..*

<<Non-Identifying>>

ReservaSerie : CHAR(6)Fecha : DATETIMEHora : CHAR(5)Cod_socio : CHAR(5)Usuario_ID : INT

<<PK>> PK_Reserva0()<<FK>> FK_Reserva5()<<Index>> TC_Reserva12()<<Unique>> TC_Reserva25()

1

0..1

1

0..1

<<Identifying>>

1

0..1

1

0..1

<<Identifying>>

SocioCod_socio : CHAR(5)Apellido : VARCHAR(40)Nombre : VARCHAR(35)Sexo : BITFecha_nac : DATETIMEOcupación : VARCHAR(30)Dirección : VARCHAR(60)Télefono : VARCHAR(10)E_mail : VARCHAR(35)Foto : IMAGEFecha_ingreso : DATETIMEUsuario_ID : INT

<<PK>> PK_Socio7()<<FK>> FK_Socio12()<<Unique>> TC_Socio24()

1

0..*

1

0..*

<<Non-Identifying>>

1

0..*

1

0..*<<Non-Identifying>>

EventualID_usuario : INTUsuario_ID : INT

<<PK>> PK_Eventual6()<<FK>> FK_Eventual11()<<Unique>> TC_Eventual22() 1

0..*

1

0..*

<<Non-Identifying>>

UsuarioNum_usuario : INTUsuario_ID : INT

<<PK>> PK_Usuario8()<<Unique>> TC_Usuario21()<<Unique>> TC_Usuario23()

1

0..*

1

0..*

<<Identifying>>1

0..*

1

0..*

<<Identifying>>

Figura 38: Diagrama del modelo de datos rectificado para el Sistema de administración del Cine Club Orson Welles. Este diagrama se llama DiagramaModeloDatos_SACCOW en el modelo

SACCOW.

Page 60: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 60 de 72

1.7.1.6 Generación de la Base de Datos en SQL Server 2000 1.7.1.6.1 Creación de la Base de Datos en SQL Server 2000 Previamente en SQL Server 2000 creamos la base de datos DB_SACCOW en la carpeta adecuada:

D:\ PROYECTO_SACCOW\Base de Datos A partir del esquema S_SACCOW (Data Modeler /Forward Engineer). Ver Figura 39

Figura 39: Base de Datos DB_SACCOW creada en SQL Server 2000. 1.7.1.6.2 Generación de la Base de Datos en SQL Server 2000

En Choose Options: Seleccionamos Tables y Indexes

En la ventana de Choose to Save and Execute DDL, indicamos el nombre de archivo donde se guardará el código DDL generado., por ejemplo en File name ingresar: CodigoGeneradoSACCOW.SQL. Con el botón Browse elegimos la carpeta para guardar:

D:\PROYECTO_SACCOW\ Base de Datos\ CodigoGeneradoSACCOW.SQL Marcamos también Execute para generar la base de datos en SQL Server, y poner los

datos solicitados User Name: sa Server: ARTIDORO Password: Database: DB_SACCOW

Ver Figura 40.

Page 61: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 61 de 72

Figura 40: Generación de la Base de Datos DB_SACCOW.

Hacemos click en Test Conection y luego Aceptar y obtenemos la base de datos en SQL Server. Ver Figura 41

Figura 41: Base de Datos DB_SACCOW en SQL Server 2000

Y cuyo diagrama se muestra en la Figura 42

Figura 42: Diagrama de la Base de Datos DB_SACCOW en SQL Server 2000

Page 62: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 62 de 72

1.7.1.7 Aplicación de ingeniería reversa para generar modelos lógico y físico en ERWIN

Vamos al ERWIN y usamos Ingeniería Reversa (Inversa) para obtener los modelos Lógico y Físico de la base de datos. Ver Figuras 43 y 44. Guardamos los esquemas de los modelos lógico y físico con el nombre DB_SACCOW.er1 en ERWIN.

EventualUsuario_ID (FK)ID_usuario

UsuarioUsuario_ID

Num_usuario

FunciónID_función

FechaHoraTipoCod_película (FK)

PelículaCod_película

TítuloTítulo_originalDirectorPaísProductorProtagonistasGéneroAño_producciónEmpresa_productoraColorDuraciónFormatoFicha_técnicaApreciación_críticaFecha_ingresoPrecioAlquilerArgumento

dtpropertiesidproperty

objectidvalueuvaluelvalueversion

Reserva_individualSerie (FK)

Num_asiento

AbonoReserva_Serie (FK)

Num_funcionesSerieAsientos

SocioUsuario_ID (FK)Cod_socio

ApellidoNombreSexoFecha_nacOcupaciónDirecciónTélefonoE_mailFotoFecha_ingreso

EntradaNum_asientoFechaHora

DisponibilidadPrecioID_función (FK)ID_usuario (FK)Cod_socio (FK)SerieReserva_Serie (FK)Usuario_ID (FK)Socio_Usuario_ID (FK)

ReservaSerie

FechaHoraCod_socio (FK)Usuario_ID (FK)

Figura 43: Esquema Lógico de la Base de Datos DB_SACCOW en ERWIN 4.1

EventualUsuario_ID: intID_usuario: int

UsuarioUsuario_ID: int

Num_usuario: int

FunciónID_función: int

Fecha: datetimeHora: char(5)Tipo: varchar(8)Cod_película: char(6)

PelículaCod_película: char(6)

Título: varchar(255)Título_original: varchar(255)Director: varchar(60)País: varchar(30)Productor: varchar(60)Protagonistas: varchar(80)Género: varchar(20)Año_producción: intEmpresa_productora: varchar(40)Color: bitDuración: floatFormato: varchar(5)Ficha_técnica: textApreciación_crítica: textFecha_ingreso: datetimePrecio: moneyAlquiler: bitArgumento: text

dtpropertiesid: intproperty: varchar(64)

objectid: intvalue: varchar(255)uvalue: nvarchar(255)lvalue: imageversion: int

Reserva_individualSerie: char(6)

Num_asiento: int

AbonoReserva_Serie: char(6)

Num_funciones: intSerie: varchar(255)Asientos: varchar(255)

SocioUsuario_ID: intCod_socio: char(5)

Apellido: varchar(40)Nombre: varchar(35)Sexo: bitFecha_nac: datetimeOcupación: varchar(30)Dirección: varchar(60)Télefono: varchar(10)E_mail: varchar(35)Foto: imageFecha_ingreso: datetime

EntradaNum_asiento: intFecha: datetimeHora: char(5)

Disponibilidad: bitPrecio: moneyID_función: intID_usuario: intCod_socio: char(5)Serie: varchar(255)Reserva_Serie: char(6)Usuario_ID: intSocio_Usuario_ID: int

ReservaSerie: char(6)

Fecha: datetimeHora: char(5)Cod_socio: char(5)Usuario_ID: int

Figura 44: Esquema Físico de la Base de Datos DB_SACCOW en ERWIN 4.1

Page 63: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 63 de 72

El código generado CodigoGeneradoSACCOW.SQL es: CREATE TABLE Reserva_individual ( Num_asiento INT NOT NULL, Serie VARCHAR ( 255 ) NOT NULL, CONSTRAINT PK_Reserva_individual9 PRIMARY KEY NONCLUSTERED (Serie) ) ON TSP_SACCOW GO CREATE TABLE Abono ( Num_funciones INT NOT NULL, Reserva_Serie CHAR ( 6 ) NOT NULL, Serie VARCHAR ( 6 ) NOT NULL, Asientos VARCHAR ( 255 ) NOT NULL, CONSTRAINT PK_Abono10 PRIMARY KEY NONCLUSTERED (Reserva_Serie), CONSTRAINT TC_Abono26 UNIQUE NONCLUSTERED (Serie), CONSTRAINT TC_Abono27 UNIQUE NONCLUSTERED (Num_funciones) ) GO CREATE TABLE Socio ( Cod_socio CHAR ( 5 ) NOT NULL, Apellido VARCHAR ( 40 ) NOT NULL, Nombre VARCHAR ( 35 ) NOT NULL, Sexo BIT NOT NULL, Fecha_nac DATETIME NOT NULL, Ocupación VARCHAR ( 30 ), Dirección VARCHAR ( 60 ) NOT NULL, Teléfono VARCHAR ( 10 ), E_mail VARCHAR ( 35 ), Foto IMAGE, Fecha_ingreso DATETIME NOT NULL, Usuario_ID INT NOT NULL, CONSTRAINT PK_Socio7 PRIMARY KEY NONCLUSTERED (Usuario_ID, Cod_socio), CONSTRAINT TC_Socio24 UNIQUE NONCLUSTERED (Cod_socio) ) GO CREATE TABLE Entrada ( Disponibilidad BIT NOT NULL, Num_asiento INT NOT NULL, Fecha DATETIME NOT NULL, Hora CHAR ( 5 ) NOT NULL, Precio MONEY NOT NULL, ID_función INT NOT NULL, ID_usuario INT NOT NULL, Cod_socio CHAR ( 5 ) NOT NULL, Serie VARCHAR ( 255 ) NOT NULL, Reserva_Serie CHAR ( 6 ) NOT NULL, Usuario_ID INT NOT NULL, Socio_Usuario_ID INT NOT NULL, CONSTRAINT PK_Entrada3 PRIMARY KEY NONCLUSTERED (Num_asiento, Fecha, Hora) ) GO CREATE TABLE Reserva ( Serie CHAR ( 6 ) NOT NULL, Fecha DATETIME NOT NULL, Hora CHAR ( 5 ) NOT NULL, Cod_socio CHAR ( 5 ) NOT NULL, Usuario_ID INT NOT NULL, CONSTRAINT TC_Reserva25 UNIQUE NONCLUSTERED (Serie),

Page 64: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 64 de 72

CONSTRAINT PK_Reserva0 PRIMARY KEY NONCLUSTERED (Serie) ) GO CREATE TABLE Eventual ( ID_usuario INT NOT NULL, Usuario_ID INT NOT NULL, CONSTRAINT PK_Eventual6 PRIMARY KEY NONCLUSTERED (Usuario_ID, ID_usuario), CONSTRAINT TC_Eventual22 UNIQUE NONCLUSTERED (ID_usuario) ) GO CREATE TABLE Película ( Cod_película CHAR ( 6 ) NOT NULL, Título VARCHAR ( 255 ) NOT NULL, Título_original VARCHAR ( 255 ) NOT NULL, Director VARCHAR ( 60 ) NOT NULL, País VARCHAR ( 30 ) NOT NULL, Productor VARCHAR ( 60 ) NOT NULL, Protagonistas VARCHAR ( 80 ) NOT NULL, Género VARCHAR ( 20 ) NOT NULL, Año_producción INT NOT NULL, Empresa_productora VARCHAR ( 40 ) NOT NULL, Color BIT NOT NULL, Duración FLOAT ( 64 ) NOT NULL, Formato VARCHAR ( 5 ) NOT NULL, Ficha_técnica TEXT, Apreciación_crítica TEXT, Fecha_ingreso DATETIME, Precio MONEY, Alquiler BIT, Argumento TEXT, CONSTRAINT PK_Película4 PRIMARY KEY NONCLUSTERED (Cod_película), CONSTRAINT TC_Película28 UNIQUE NONCLUSTERED (Cod_película) ) GO CREATE TABLE Usuario ( Num_usuario INT NOT NULL, Usuario_ID INT IDENTITY NOT NULL, CONSTRAINT TC_Usuario21 UNIQUE NONCLUSTERED (Num_usuario), CONSTRAINT PK_Usuario8 PRIMARY KEY NONCLUSTERED (Usuario_ID), CONSTRAINT TC_Usuario23 UNIQUE NONCLUSTERED (Usuario_ID) ) GO CREATE TABLE Función ( ID_función INT NOT NULL, Fecha DATETIME NOT NULL, Hora CHAR ( 5 ) NOT NULL, Tipo VARCHAR ( 8 ) NOT NULL, Película_Cod_película CHAR ( 6 ) NOT NULL, CONSTRAINT PK_Función5 PRIMARY KEY NONCLUSTERED (ID_función) ) GO CREATE INDEX TC_Entrada14 ON Entrada (Cod_socio) GO CREATE INDEX TC_Entrada8 ON Entrada (ID_función) GO CREATE INDEX TC_Entrada10 ON Entrada (ID_usuario) GO CREATE INDEX TC_Reserva12 ON Reserva (Cod_socio) GO

Page 65: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 65 de 72

CREATE INDEX TC_Función6 ON Función (Película_Cod_película) GO ALTER TABLE Reserva_individual ADD CONSTRAINT FK_Reserva_individual8 FOREIGN KEY (Serie) REFERENCES Reserva (Serie) GO ALTER TABLE Abono ADD CONSTRAINT FK_Abono10 FOREIGN KEY (Reserva_Serie) REFERENCES Reserva (Serie) GO ALTER TABLE Socio ADD CONSTRAINT FK_Socio12 FOREIGN KEY (Usuario_ID) REFERENCES Usuario (Usuario_ID) GO ALTER TABLE Entrada ADD CONSTRAINT FK_Entrada6 FOREIGN KEY (Socio_Usuario_ID, Cod_socio) REFERENCES Socio (Usuario_ID, Cod_socio) GO ALTER TABLE Entrada ADD CONSTRAINT FK_Entrada4 FOREIGN KEY (Usuario_ID, ID_usuario) REFERENCES Eventual (Usuario_ID, ID_usuario) GO ALTER TABLE Entrada ADD CONSTRAINT FK_Entrada3 FOREIGN KEY (ID_función) REFERENCES Función (ID_función) GO ALTER TABLE Entrada ADD CONSTRAINT FK_Entrada9 FOREIGN KEY (Reserva_Serie) REFERENCES Abono (Reserva_Serie) GO ALTER TABLE Entrada ADD CONSTRAINT FK_Entrada7 FOREIGN KEY (Serie) REFERENCES Reserva_individual (Serie) GO ALTER TABLE Reserva ADD CONSTRAINT FK_Reserva5 FOREIGN KEY (Usuario_ID, Cod_socio) REFERENCES Socio (Usuario_ID, Cod_socio) GO ALTER TABLE Eventual ADD CONSTRAINT FK_Eventual11 FOREIGN KEY (Usuario_ID) REFERENCES Usuario (Usuario_ID) GO ALTER TABLE Función ADD CONSTRAINT FK_Función2 FOREIGN KEY (Película_Cod_película) REFERENCES Película (Cod_película) GO

1.7.2 Construcción del prototipo inicial 1.7.2.1 Menú principal básico

Figura 45: Menú Principal del Sistema

Page 66: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 66 de 72

Este menú ha sido creado con el componente MainMenu de la página Standard de C++ Builder 6.0

Figura 46: Menú Principal del Sistema

Se ha construido utilizando las siguientes reglas Escribiendo los nombre del ítem con la propiedad Caption. Resaltando una letra con subrayado escribiendo el símbolo & antes de la letra,

por ejemplo &Archivo para obtener Archivo. Usando un guión – para línea separatoria. Deshabilitando un ítem del menú poniendo la opción Enabled en false. Poniendo teclas de acceso rápido (combinación de teclas) haciendo uso de la

propiedad ShortCut. Creando submenús, ubicándose en el ítem respectivo y usando el menú

contextual (botón derecho del ratón) y usando la opción Create Submenu o la combinación [Ctrl] + [→].

Se tiene los menús e ítems siguientes:

Archivo: Maneja los ítems: Abrir Editor, Abrir Imagen /Configurar Impresora, Impresora /Cerrar /Salir.

• Abrir Editor: Abre editor de textos para fichas técnicas, críticas, comentarios sobre películas y funciones del Cine Club.

• Abrir Imagen: Abre imágenes sobre películas, actores y funciones. Tiene un menú contextual (PopupMenu) con las opciones: Abrir, Guardar, Guardar como, Cerrar imagen:

Abrir: Abre imágenes permitiendo filtrar archivos .bmp, .jpg, .jpeg, .ico, .emf, .wmf.

Guardar: Permite guardar imágenes. Guardar como: Permite guardar imágenes renombrando los archivos. Cerrar imagen: Cierra la ventana de imagen.

• Configurar impresora: Permite configurar la impresora para la opción Imprimir • Impresora: Imprime textos. • Cerrar: Cierra la ventana activa.

Page 67: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 67 de 72

• Salir: Sale del SACCOW 1.7.2.2 Barra de herramientas La Barra de herramientas tiene la finalidad de acceder rápidamente a las opciones más frecuentes mediante iconos:

Figura 47: Barra de herramientas

Se ha construido esta barra insertando los siguientes componentes de la página Win32:

01 CoolBar (Contiene la Barra de Herramientas) 01 ToolBar (Insertado dentro de Coolbar1) 01 ImageList (Contiene las imágenes asignadas a los botones de la barra de herramientas y a los menús)

En la Barra de herramientas (ToolBar), se ha insertado las imágenes: 0 un icono adecuado para Socio. 1 un icono adecuado para Película. 2 un icono adecuado para Función. 3 un icono adecuado para Cortar. 4 un icono adecuado para Copiar. 5 un icono adecuado para Pegar. 6 un icono adecuado para Ayuda.

Figura 48: Barra de herramientas

Botón1: Socio: Accede a la administración de socios del Cine Club Orson Welles. Botón2: Película: Accede a la administración de películas del Cine Club Orson Welles. Botón3: Función: Accede a la administración de funciones del Cine Club Orson Welles. Botón4: Separador. Botón5: Cortar: Corta bloques de texto y los guarda en el Portapapeles de Windows. Botón6: Copiar: Copia bloques de texto y los guarda en el Portapapeles de Windows. Botón7: Pegar: Pega texto copiado o cortado y que está en el Portapapeles de Windows. Botón8: Separador. Botón9: Ayuda: Accede a la ayuda HTML del SACCOW.

Page 68: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 68 de 72

1.7.2.3 Barra de estado La Barra de estado tiene la finalidad de visualizar dos paneles: 0 para los autores del sistema y l para mes y año de construcción del sistema:

Figura 49: Barra de herramientas

Se ha construido esta barra insertando el componente de la página Win32:

01 StatusBar (Barra de estado) Que contiene dos paneles:

Panel 0: Contiene el grupo de alumnos que ha elaborado el SACCOW. Panel 1: Contiene el mes y año de elaboración del SACCOW.

1.7.3 Implantación del visualizador de imágenes 1.8 Conclusiones y Recomendaciones 1.8.1 Conclusiones

El Análisis y Diseño Orientado a Objetos es una metodología fácilmente aplicable a Sistemas de Software de diverso tipo. En este caso lo hemos utilizado para el Sistema de Administración del Cine Club “Orson Welles”.

El Rational Rose 2003 es una buena herramienta CASE para el análisis y diseño de sistemas orientados a objetos. No es un simple graficador. Además de permitir la construcción de todos los diagramas de UML, documentar el sistema, permite generar

Page 69: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 69 de 72

bases de datos y código. El SQL Server 2000 es uno de los mejores SGBDR (Sistema de Gestión de Bases de

Datos Relacionales) que nos permite manejar los datos de un sistema. Actualmente es el más utilizado por la facilidad que ofrece en las consultas y compatibilidad con lenguajes de interfaz como Visual Studio.NET, C++ Builder, Power Builder, Delphi.

1.8.2 Recomendaciones para ampliar, mejorar y optimizar el sistema

Usar el Análisis y Diseño Orientado a Objetos para construir Sistemas de Software dentro de los dominios de problema como negocios, educación, etc.

Dar al modelamiento de sistemas su verdadero peso, puesto que el énfasis actual está en el análisis y diseño antes que en la codificación al usar herramientas de programación visuales que usan componentes (objetos) predefinidos donde se codifica solo lo estrictamente necesario.

Usar el UML como lenguaje de modelamiento orientado a objetos para Sistemas Orientados a Objetos.

Usar el Rational Rose 2003 (o posterior versión) como herramienta de modelamiento para Sistemas Orientados a Objetos. Existen alternativas como Power Designer, Together, Visual Paradigm, Poseidon.

Usar el SQL Server 2000 (o posterior versión) como SGBD para Sistemas Orientados a Objetos, puesto que el uso de SGBDOO (Sistema de Gestión de Bases de Datos Orientado a Objetos) aun no está difundido ni estandarizado. Otras alternativas son Access, Visual FoxPro, Interbase, Sybase.

Usar el C++ Builder 6.0 como lenguaje de interfaz (por ahora sólo para construir el menú principal del prototipo).

Puede ampliarse el Sistema de Administración del Cine Club “Orson Welles” a un Sistema en Arquitectura Cliente /Servidor.

Debe actualizarse y renovarse la biblioteca del ITEL. Debe, en lo posible, adquirirse software original par el ITEL para tener acceso a la

documentación completa y renovación constante de nuevas versiones. Los mejores trabajos del curso de Análisis y Diseño Orientado a Objetos I, deben

integrase a la biblioteca del ITEL, como material de consulta.

1.9 Bibliografía y Software 1.9.1 Bibliografía

Sobre ADOO BOOCH, Grady: Análisis y diseño orientado a objetos. MARTIN, James; ODELL, James: Análisis y diseño orientado a objetos. COAD, Peter; YOURDON, Edward: Object - Oriented Analysis. RUMBAUGH, James y Otros: Modelado y diseño orientado a objetos. VOSS, Greg: Programación orientada a objetos.

Page 70: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 70 de 72

COX, Brad; NOVOBILSKI, Andrew: Programación orientada a objetos. BUDD, Timothy: Programación orientada a objetos. WINBLAD, Ann; EDWARDS, Samuel KING, David: Software orientado a objetos.

Sobre UML

RUMBAUGH, James; JACOBSON, Ivar; BOOCH, Grady: El Lenguaje Unificado de Modelado: Manual de Referencia.

RUMBAUGH, James; JACOBSON, Ivar; BOOCH, Grady: El Proceso Unificado de Desarrollo del Software.

LARMAN, Craig: UML y patrones: Introducción al análisis y diseño orientado a objetos.

FOWLER, Martin; SCOTT, Kendall: UML gota a gota. RAMIREZ CORRALES, Luis Eduardo: Aplicando Herramientas UML. ROMERO MORENO, Gesvin: UML con Rational Rose.

Sobre Rational Rose

CONALLEN, Jim: Visual Modeling with Rational Rose and UML. QUATRIANI, Terry: Visual modeling with Rational Rose 2002 and UML. BOGGS, W: Mastering UML with Rational Rose 2002 + CD,

Sobre SQL Server

RAMIREZ, Eduardo: Aplicando SQL Server 2000. ABURTO CORREA, Eddy Blaider; PANTIGOSO SILVA, Robert Jaime: Base de Datos

con SQL Server 2000 Paso a Paso. CORONEL, Gustavo: Diseño de Aplicaciones Cliente Servidor con Erwin 3.5, SQL

Server 2000 y Power Builder 7.0. GROFT, James R.; WEINBERG, Paul N.: Aplique SQL. COFFMAN, Gayle: SQL Server 7: Manual de Referencia. SOUKUP, Ron: Microsoft SQL Server A fondo. BUSTAMANTE GUTIERREZ, César A.: Aplicaciones Cliente Servidor con Visual

FoxPro 6.0 y SQL Server 2000. BESCH, David y colaboradores: SQL Server 7 Database Design. RUMBAUGH, James; JACOBSON, Ivar; BOOCH, Grady: El Lenguaje Unificado de Modelado:

Manual de Referencia.

Sobre C++ Builder JOYANES AGUILAR, Luis: Borland C++ Builder 5. Programación orientada a objetos. ARNUSH, Craig: Aprendiendo Borland C++ 5.0 en 21 días. REISDORF, Kent: Aprendiendo Borland C++ Builder 3.0 en 21 días. CHARTE OJEDA, Francisco: Programación con C++ Builder 5.0 MARTEENS. Ian: La Cara Oculta del C++ Builder (Formato PDF en Internet)

Sitios Web

http://dis.um.es/~jnicolas/08BD_CSW.html http://www.marteens.com/CaraOculta.htm http://www.dsic.upv.es/~uml http://www.clikear.com/manuales/uml/ http://www.tic.udc.es/~fbellas/teaching/adoo/ http://www.dsic.upv.es/asignaturas/facultad/lsi/ejemplorup/ http://edic.lsi.uniovi.es/isoft_sistemas/recursos/recursos.html http://www.omg.org/technology/documents/formal/uml.htm http://www.omg.org http://www.rational.com

Page 71: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 71 de 72

http://www.rational.com/uml http://www.rational.com/products/rose http://www.javasoft.com

1.9.2 Software Rational Rose 2003 Enterprise Edition. Borland C++ Builder 6.0 MS SQL Server 2000 Personal Edition. CA Erwin 4.1. MS Word 2003.

Page 72: UML Modelo Peliculas

Universidad Nacional Jorge Basadre Grohmann Carrera Técnica de Analista Programador de Sistemas

Curso: Análisis y Diseño Orientado a Objetos I

Mgr. Artidoro Velapatiño Castilla Pág. 72 de 72