Вы находитесь на странице: 1из 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Sistema de Administracin del Cine Club Orson Welles


(SACCOW) Anlisis y Diseo
Tacna, marzo del 2009

Mgr. Artidoro Velapatio Castilla

Pg. 1 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Tengo un gato que se llama Trasch... Si estuviera intentando venderlo (por lo menos, si intentara venderlo a alguien que sabe de computacin), no hara nfasis en que es carioso con los seres humanos y en que es autosuficiente, por cuanto vive fundamentalmente de los ratones que caza... Ms bien, yo dira que es Orientado a Objetos.

Roger King

A Berenice donde quiera que est.

Mgr. Artidoro Velapatio Castilla

Pg. 2 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.3 ndice
Pgina
1.1 Cartula 1.2 Pgina introductora. 1.3 ndice general. 1.4 Identificacin del Proyecto: 1.4.1 Ttulo del Proyecto. 1.4.2 Descripcin 1.4.3 Autor (es). 1.4.4 Versin. 1.4.5 Fecha. 1.5 Anlisis. 1.5.1 Documentacin del anlisis 1.5.2 Especificacin preliminar de requerimientos 1.5.3 Subsistemas e interfaces 1.5.4 Diagramas de casos de uso 1.5.4.1 Identificacin de actores y definicin de casos de uso 1.5.4.2 Construccin de diagramas 1.5.4.3 Descripcin de casos de uso 1.5.4.4 Descripcin de actores 1.5.4.5 Escenarios y subescenarios 1.5.4.6 Diagramas de actividades 1.5.5 Prototipos 1.5.5.1 Descripcin del men con las opciones del prototipo 1.5.5.2 Descripcin de los mdulos del men. 1.6 Diseo 1.6.1 Diseo preliminar y diseo detallado 1.6.2 Diagramas de interaccin 1.6.2.1 Diagramas de secuencia. 1.6.2.2 Diagramas de colaboracin. 1.6.3 Diagramas de estructura. 1.6.3.1 Diagramas de clases: 1.6.3.1.1 Identificacin de clases y objetos: 1.6.3.1.1.1 Clasificacin de Ross 1.6.3.1.1.2 Anlisis sintctico: 1.6.3.1.1.2.1 Descripcin de cmo funciona el sistema. 1.6.3.1.1.2.2 Subrayado de sustantivos, sintagmas-adjetivos y verbos para identificar las clases candidatas, sus atributos y los comportamientos 1.6.3.1.1.2.3 Uso del anlisis de casos de uso haciendo uso de escenarios y subescenarios. 1.6.3.1.1.2.4 Fichas CRC (Clase - Responsabilidades - Colaboradores) con el formato de anverso y reverso en base a escenarios 1.6.3.1.1.2.5 Depurar clases, atributos y operaciones 1.6.3.1.2 Identificacin de las relaciones de asociacin, dependencia, herencia, agregacin. 1.6.3.1.3 Construccin 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 implantacin: 1.6.5.1 Diagramas de componentes. 1.6.5.2 Diagramas de despliegue. 1.7 Implementacin del Sistema
1 2 3 5 5 5 5 5 5 6 6 7 9 10 10 14 16 19 20 21 24 24 24 24 24 26 26 28 31 31 31 31 31 32 32 33 34 36 38

Mgr. Artidoro Velapatio Castilla

Pg. 3 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.7.1 Generacin de la base de datos en SQL Server 2000 a partir de diagrama de clases: 1.7.1.1 Definicin de los identificadores de clase. 1.7.1.2 Declaracin de las clases persistentes. 1.7.1.3 Creacin de los componentes de bases de datos. 1.7.1.3.1 Creacin de los componentes 1.7.1.3.2 Creacin del diagrama de componentes 1.7.1.4 Creacin del esquema de la base de datos 1.7.1.5 Construccin del diagrama de modelo de datos. 1.7.1.6 Generacin de la base de datos. 1.7.1.6.1 Creacin de la Base de Datos en SQL Server 2000. 1.7.1.6.2 Generacin de la Base de Datos en SQL Server 2000. 1.7.1.7 Aplicacin de ingeniera reversa para generar modelos lgico y fsico en ERWIN. 1.7.2 Construccin del prototipo inicial 1.7.2.1 Men principal bsico 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 anlisis y diseo del software planteado. 1.7.2 Recomendaciones para ampliar, mejorar y optimizar el sistema. 1.9 Bibliografa y software: 1.9.1 Libros, revistas, apuntes, monografas, sitios Web, etc., se han consultado para realizar el trabajo. 1.8.2 Software utilizado en el trabajo: RATIONAL ROSE 2003, SQL SERVER 2000, ERWIN 4.1, C++ BUILDER 600, MS WORD.

Mgr. Artidoro Velapatio Castilla

Pg. 4 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.4 Identificacin del Proyecto


1.4.1 Titulo: Sistema de Administracin del Cine Club Orson Welles 1.4.2 Descripcin: Es un sistema de software que administra la taquilla, los clientes y las pelculas que se exhiben en el cine club. 1.4.3 Autores:
Grupo Tkana: 2710890 VASQUEZ MOLLO, Virginia. 2710895 MOLINA CACERES, Juan Jos. 2710899 RIOS LOPEZ, Cecilia Ana.

1.4.4 Versin: 1.0 1.4.5 Fecha: 01/10/2007

Mgr. Artidoro Velapatio Castilla

Pg. 5 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.5 Anlisis
1.5.1 Documentacin del anlisis
Se debe construir un sistema de software capaz de administrar una base de datos que contenga informacin sobre las pelculas exhibidas en el cine club, la venta de entradas, los datos de los usuarios (socios y eventuales). Sobre las pelculas se debe consignar todos los datos referentes a ella para elaborar una ficha tcnica y un resumen del argumento y referencias crticas para las discusiones posteriores (Cine-Forum) a cada funcin. Las pelculas se adquirirn 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 elaboracin de los carns que les da derecho a precio especial en las entradas y abonos por temporadas y a pagos a crdito. Se reservan entradas. Las reservas pueden ser de dos tipos: reservas individuales y abonos para ciclos de pelculas. Cada entrada es parte de una reserva individual o de un abono, pero no de ambas. Cada funcin tiene muchas entradas disponibles, cada una con un nmero de asiento nico. Una funcin se puede identificar por una pelcula, una fecha y una hora. En consecuencia los elementos implicados en el sistema son: 1 Las pelculas. 2 Los usuarios. 3 Las reservas 4 Las entradas 5 Las funciones Sobre las pelculas debe tener los datos sobre el ttulo, ttulo original, el director, el productor, los protagonistas, el gnero, el ao de produccin, la empresa productora, el color (blanco y negro y colores), la duracin, el argumento, el soporte (video/ DVD) y apreciacin crtica. 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, ocupacin, direccin, telfono, e-mail, y un cdigo 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 nmero de serie. Sobre las entradas es necesario saber la disponibilidad, el nmero. 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 pelculas adquiridas por el Cine Club. a.1 Registrar adquisicin de pelculas. a.2 Registrar informacin sobre las pelculas. a.3 Imprimir ficha tcnica y apreciacin crtica. b. Administrar a los usuarios socios. b.1 Registrar ingresos, modificaciones y eliminacin b.2 Imprimir carn de socio. c. Administrar las funciones de proyeccin de las pelculas. c.1 Programar funciones de proyeccin. c.2 Imprimir calendario de funciones y ciclos de cine. c.3 Elaborar estadsticas sobre las funciones. d. Administrar la taquilla de cada funcin. d.1 Control de reservas para entradas y abonos. d.2 Controlar venta de entradas y abonos. d.3 Imprimir entradas y abonos. Mgr. Artidoro Velapatio Castilla Pg. 6 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

d.4 Confeccionar estadsticas sobre entradas. El Usuario puede pedir informacin sobre pelculas, entradas y funciones. Si es socio tiene derecho a precios especiales de entradas y abonos. Puede dar sugerencias a travs de correo electrnico. El Administrador es el encargado de adquirir las pelculas, por alquiler de rollos, por compra o donacin de proveedores de videos o DVD. Es el encargado de administrar las pelculas y programar las funciones y dirigir los cine-forum despus de cada funcin. El Cajero es el encargado de vender las entradas y abonos y controlar la taquilla de cada funcin. El Director es el encargado de administra la institucin. Es el nico que autoriza los crditos 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 Especificacin preliminar de requerimientos


R.0 Requerimientos generales
R.0.1 Las fechas se registrarn en el formato dd/mm/aaaa. R.0.2 Las unidades monetarias se registrarn con dos decimales y en soles. R.0.3 Se usar la coma decimal en la notacin numrica.

R.1 Gestin 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 cdigo de identificacin. R.1.0.3 A los usuarios socios se les define por su apellido, nombre, documento de identificacin (DNI, Carn de extranjera, Carn de estudiante, etc.), sexo, fecha de nacimiento, ocupacin, direccin, telfono, e-mail, fecha de inscripcin, foto.

R.1.1 Aadir usuarios socios


R.1.1.1 Slo se puede aadir usuarios socios, previa autorizacin del Director.

R.1.2 Eliminacin de usuarios socios


R.1.2.1 Slo se puede eliminar a un socio con autorizacin 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 Slo se eliminar a un socio que haya dejado de participar por un periodo de un ao en el Cine Club sin justificacin.

R.1.3 Modificacin de usuarios socios


R.1.3.1 Slo se puede modificar los datos de un socio con su autorizacin y la del Director.

R.1.4 Bsqueda de de usuarios socios


R.1.4.1 Puede buscase individualmente los datos de socio por cdigo, apellido y nombre. R.1.4.2 Puede buscarse por grupos por orden alfabtico, cronolgico (fecha de nacimiento, fecha de inscripcin). R.1.4.3 Los resultados de las bsquedas deben imprimirse.

R.1.5 Impresin de carns de socios.


R.1.5.1 Se debe imprimir los carns de los socios con autorizacin del Director. Mgr. Artidoro Velapatio Castilla Pg. 7 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

R.2 Gestin de pelculas


R.2.0 Requisitos generales de las pelculas:
R.2.0.1 Las pelculas pueden estar grabadas en video o DVD. R.2.0.2 A las pelculas se les asignar un cdigo de identificacin. R.2.0.3 A las pelculas se les define por su ttulo, ttulo original, director, productor, protagonistas, gnero, ao de produccin, empresa productora, pas, color (blanco y negro y colores), duracin, argumento, soporte (video/ DVD) y apreciacin crtica.

R.2.1 Aadir pelculas


R.2.1.1 Slo se puede aadir pelculas adquiridas o compradas por el Cine Club.

R.2.2 Eliminacin de pelculas


R.2.2.1 Slo se pueden eliminar pelculas deterioradas o perdidas previo conocimiento del Administrador.

R.2.3 Modificacin de pelculas


R.2.3.1 Slo se puede modificar los datos de un Administrador. con la autorizacin del

R.2.4 Bsqueda de pelculas


R.2.4.1 Puede buscase individualmente los datos de por cdigo, ttulo. R.2.4.2 Puede buscarse por grupos por director, protagonistas, empresa productora, ao de produccin, pas, etc. R.2.4.3 Los resultados de las bsquedas deben imprimirse.

R.2.5 Impresin de fichas tcnicas de pelculas.


R.2.5.1 Se debe imprimir las fichas tcnicas y apreciacin crtica de las pelculas.

R.3 Gestin 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 programacin y se identifican con un nmero de identificacin correlativo.

R.3.1 Aadir funciones


R.3.1.1 Slo se puede aadir funciones que se tengan seguridad de llevarse a cabo.

R.3.2 Eliminacin de funciones


R.3.2.1 Slo se puede eliminar una funcin que por motivos de fuerza mayor no se ha efectuado.

R.3.3 Modificacin de funciones


R.3.3.1 Slo se puede modificar los datos de una funcin que por motivos de fuerza mayor se ha postergado en hora, en fecha, o en fecha y hora.

R.3.4 Bsqueda de funciones


R.3.4.1 Puede buscase una funcin individualmente por el nmero de identificacin y la fecha. R.3.4.2 Puede buscarse por grupos por un rango de fechas, o por un rango de nmero de identificacin. R.3.4.3 Los resultados de las bsquedas deben imprimirse.

R.4 Gestin 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 crdito Mgr. Artidoro Velapatio Castilla Pg. 8 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

concedido a los socios por venta de abonos. R.4.0.2 Slo los socios pueden hacer reservas de entradas individuales y de abonos.

R.4.1 Reservas y entradas


R.4.1.1 Slo los socios tienen derecho a reservar entradas. R.4.1.2 Slo se puede reservar un mximo de 4 entradas individuales. R.4.1.3 Slo se puede reservar un mximo de 2 abonos. R.4.1.4 Las reservas slo se cancelan con 24 horas de anticipacin.

R.4.2 Registrar venta de entrada


R.4.2.1 Slo se puede registrar la venta de entradas individuales vendidas y canceladas en el momento y asignando el nmero 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 crdito en tres cuotas a socios, previa autorizacin del Director. R.4.3.3 Se deben imprimir los abonos.

R.4.4Modificacin de venta de entrada y abonos


R.4.4.1 Slo se puede modificar entradas o abonos en el momento de realizar la venta para cambiar de tipo (general o socio) o el nmero de asiento.

R.4.5 Anulacin 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 Administracin:
Es el sistema que administra a los usuarios, pelculas y funciones del Cine Club.

Subsistema de Ayuda:
Es el sistema de ayuda interactiva para el Sistema de Administracin 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 Administracin de Socios.

Interfaz de Pelcula:
La interfaz de Pelcula permite acceder a todas las opciones de la Administracin de Pelculas.

Interfaz de Funcin:
La interfaz de Funcin permite acceder a todas las opciones de la Administracin de Mgr. Artidoro Velapatio Castilla Pg. 9 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Funciones.

Interfaz de Ayuda:
La interfaz de Ayuda permite acceder a todas las opciones de la ayuda interactiva del Sistema de Administracin del Cine Club Orson Welles. Ver Figura 2.
Sistema de Administracin del Cine Club Orson Welles
<<subsystem>>

Ayuda
Interfaz_Ayuda

<<subsystem>>

<<subsystem>>

Taquilla

Administracin

Interfaz_Funcion Interfaz_Pelcula Interfaz_Taquilla Interfaz_Usuario

Figura 1: Diagrama de Paquetes para Subsistemas e Interfaces del Sistema SACCOW. Este diagrama se llama DiagramaPaquetes en el modelo SACCOW.

1.5.4 Diagramas de Casos de Uso


1.5.4.1 Identificacin de Actores y definicin de Casos de Uso
Identificamos actores en base a preguntas como las siguientes:

Cmo encontrar un actor? Identificar los usuarios del sistema Por qu se disea el sistema? Cules 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 informacin 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 comunicacin
En primer lugar identificamos a los actores que interactan con el sistema SACCOW: Usuario, Cajero, Director y Administrador. Ver Figura 2

Mgr. Artidoro Velapatio Castilla

Pg. 10 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Director

Sistema de Administracin del Cine Club Orson Welles Usuario Cajero

Administrador

Figura 2: SACCOW con 4 actores que interactan con l. Este diagrama se llama DiagramaContexto en el modelo SACCOW. Identificamos casos de uso en base a preguntas como las siguientes:

Cmo encontrar un caso de uso? Identifique las operaciones importantes del sistema a construir Cules son las principales tareas de un actor? Qu informacin tiene el actor que consultar, actualizar, modificar? Cmo? Qu cambios del exterior debe informar el actor al sistema? Qu informacin debe informrsele 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 slo pueden ser reservados por socios del Cine Club. Las reservan se confirman o cancelan con 24 horas de anticipacin. 2. Comprar entradas: Consiste en efectuar la compra de entradas individuales para un funcin 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 operacin de cobranza que realiza el cajero. Las entradas individuales se cobran al contado. Solo existe el crdito para el pago de abonos y es slo para socios. 5. Imprimir: Consiste en la impresin de entradas individuales y de abonos 6. Autorizar crdito: El Director de Cine Club es la nica persona que puede autorizar crdito 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 funcin muy de vez en cuando) y que no tiene derechos. 2. Cajero: Persona que se ocupa de vender entradas y abonos a los usuarios del SACCOW. 3. Director: Persona encargada de organizar los cine-club, promocionar las funciones, Mgr. Artidoro Velapatio Castilla Pg. 11 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

presidir las reuniones del cine club. 4. Administrador: Persona encargada de la administracin del cine club. Como consecuencia tenemos el diagrama preliminar de la Figura 3.

Reservar entradas Cobrar Comprar entradas Cajero


(from Use Case Vi ew) (from Use Case Vi ew)

Usuario

Comprar abonos

Imprimir

Director
(from Use Case Vi ew)

Autorizar crdito

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:

Cmo 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, diferencindose en la forma en la cual hacen algunas operaciones? Qu caso de uso redefine la forma en la cual se realiza una transaccin dentro de otro caso de uso? Buscar relaciones include entre casos de uso Que casos de uso son usados como transacciones de otros?

Relaciones entre Casos de Uso:


Hallamos las siguientes relaciones entre los casos de uso del subsistema Taquilla. Ver Figura 4.

Mgr. Artidoro Velapatio Castilla

Pg. 12 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Reservar entradas
<<realize>> <<realize>>

Imprimir
<<include>> <<extend>> <<extend>>

Comprar entradas
<<include>>

Comprar abonos
<<include>> <<communicate>>

Imprimir entradas Imprimir abonos

Cobrar

Autorizar crdito

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 Administracin 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 slo pueden ser reservados por socios del Cine Club. Las reservan se confirman o cancelan con 24 horas de anticipacin. 2. Administrar pelculas: Consiste en efectuar la compra de entradas individuales para un funcin 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 administracin del cine club. Como consecuencia tenemos el diagrama preliminar de la Figura 5.

Administrar socios

Administrador
(from Use Case View)

Administrar pelculas

Administrar funciones

Figura 5: Casos de uso preliminares para el subsistema Administracin de SACCOW. Este diagrama se llama DiagramaPreliminarCU_Administracin en el modelo SACCOW.

Relaciones entre Casos de Uso:


Hallamos las siguientes relaciones entre los casos de uso del subsistema Administracin. Ver Figura 6 Mgr. Artidoro Velapatio Castilla Pg. 13 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

<<include>>

Administrar socios
<<include>> <<include>>

<<include>> <<include>>

Ingresar socios

Modificar socios

Eliminar socios Imprimir socios

Buscar socios

<<extend>>

<<extend>>

Bsqueda individual

Bsqueda grupal
<<include>>

<<include>>

Imprimir
(f rom Taquilla)

<<include>> <<include>>

Administrar pelculas
<<include>> <<include>> <<include>>

Ingresar pelculas

Modificar pelculas

Eliminar pelculas

Imprimir ficha tcnica Buscar pelculas


<<extend>> <<extend>>

<<extend>>

Bsqueda individual Bsqueda grupal


<<include>> <<include>>

Imprimir
(f rom Taquilla)

Mgr. Artidoro Velapatio Castilla

Pg. 14 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Administrar funciones
<<include>> <<include>> <<include>> <<include>> <<include>>

Programar calendario

Ingresar funciones

Modificar funciones Eliminar funciones Buscar funciones

<<extend>>

<<extend>>

Bsqueda individual

Bsqueda grupal

<<include>>

<<include>>

Imprimir
(f rom Taquilla)

Figura 6: Relaciones entre casos de uso para el subsistema Administracin 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 Construccin de Diagrama de Casos de Uso


Para el subsistema Taquilla definimos lo siguiente: Diagrama de Casos de Uso: Ver Figura 7

Mgr. Artidoro Velapatio Castilla

Pg. 15 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Eventual

Socio

Reservar entradas
<<realize>> <<realize>>

Comprar entradas Usuario


(from Use Case View) <<include>> <<include>>

Comprar abonos

<<include>>

Imprimir
<<extend>> <<extend>> <<realize>>

Cobrar

Imprimir entradas

Imprimir abonos

Autorizar crdito

Director
(from Use Case View)

Cajero
(from Use Case View)

Figura 7: Diagrama de Casos de Uso para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaCU_Taquilla en el modelo SACCOW.

Para el subsistema Administracin definimos lo siguiente: Diagrama de Casos de Uso: Ver Figura 8

Mgr. Artidoro Velapatio Castilla

Pg. 16 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Administrar socios
<<include>> <<include>> <<include>> <<include>> <<include>> <<extend>>

Bsqueda individual Ingresar socios Modificar socios Eliminar socios Imprimir socios Buscar socios
<<extend>>

Administrador Administrar pelculas


(from Use Case View) <<include>> <<include>> <<include>> <<include>> <<include>>

Bsqueda grupal <<include>>


<<include>> <<include>>

Ingresar pelculas Modificar pelculas Eliminar pelculas Imprimir ficha tcnica Buscar pelculas <<extend>>
<<include>> <<extend>>

Bsqueda individual
<<include>> <<include>>

Imprimir
(from Taqui...

Bsqueda grupal

<<include>>

Administrar funciones
<<include>> <<include>> <<include>>

<<extend>>

<<include>>

<<include>>

Bsqueda individual
<<extend>>

Eliminar funciones Buscar funciones Programar calendario Ingresar funciones Modificar funciones Bsqueda grupal

<<include>>

Figura 8: Diagrama de Casos de Uso para el subsistema Administracin de SACCOW. Este diagrama se llama DiagramaCU_Administracin en el modelo SACCOW.

Ejercicio!: Para el subsistema Ayuda construir el Diagrama de Casos de Uso final DiagramaCU_Ayuda que contenga todos los CU, Actores y relaciones existentes

Mgr. Artidoro Velapatio Castilla

Pg. 17 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.5.4.3 Descripcin de Casos de Uso


Para el subsistema Taquilla vamos a describir los CU siguientes: Reservar entradas, Comprar entradas, Comprar abonos. Descripcin del CU Reservar entradas
CU_01 Versin Autor (es) Descripcin Precondicin Secuencia normal Reservar entradas 1.0; 25/07/2005 VASQUEZ MOLLO, Virginia; MOLINA CACERES, Juan Jos; RIOS LOPEZ, Cecilia Ana. Permite al socio del Cine Club Orson Welles reservar entradas para las funciones de cine. Ser socio del Cine Club Orson Welles. Paso Accin 1 El socio se identifica personalmente o por telfono proporcionando su cdigo 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 funcin 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 sealadas, el cajero le entrega o enva 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 recepcin de las entradas. 6 El socio puede cancelar las reservas antes de 24 horas de la funcin. Socio con entradas reservadas. Paso 4 La funcin de cine se cancela: El cajero informa al socio y puede optarse por 2 alternativas: Se le devuelve el dinero si ya cancel. Se posterga la reserva para otra fecha. Paso Cota de tiempo 1 4 El promedio de realizar una reserva dura de 1 a 5 minutos Las reservas de entradas se presentan con frecuencia cuando hay festivales o programaciones de pelculas interesantes. Es importante tener acceso a reservas para festivales o programaciones importantes. Es bueno ofrecer reservas de entradas en el Cine Club Orson Welles. Las reservas son exclusivamente par socios y toda cancelacin de reserva se hace 24 horas antes de la funcin.

Postcondicin Excepciones

Rendimiento Frecuencia Importancia Urgencia Comentarios

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. Descripcin del CU Comprar entradas
CU_02 Versin Autor (es) Descripcin Precondicin Secuencia normal Comprar entradas 1.0; 25/07/2005 VASQUEZ MOLLO, Virginia; MOLINA CACERES, Juan Jos; RIOS LOPEZ, Cecilia Ana. Permite al usuario del Cine Club Orson Welles comprar entradas para las funciones de cine. Usuario que desea de ver una pelcula en el Cine Club Orson Welles. Paso Accin 1 La persona que desee ver una pelcula 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 identificacin con carn de socio.

Mgr. Artidoro Velapatio Castilla

Pg. 18 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I Si es socio y ha hecho reserva, canjea su boleta de reserva con las correspondientes entradas. 2 Usuario ve la pelcula que se est proyectando. Usuario con entradas compradas. Paso 2 La funcin de cine se cancela: El cajero informa al usuario y puede optarse por 2 alternativas: Se le devuelve el dinero. Se posterga la entrada para otra fecha. Paso Cota de tiempo 1 2 El promedio de realizar una compra dura de 1 a 2 minutos Las compras de entradas se presentan con frecuencia cuando hay pelculas interesantes. Es importante tener acceso a varias funciones de pelculas interesantes. Es bueno ofrecer varias funciones para el Cine Club Orson Welles. La venta de entradas para el Cine Club Orson Welles es libre, salvo que las entradas estn agotadas. 1.c

Postcondicin Excepciones

Rendimiento Frecuencia Importancia Urgencia Comentarios

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. Descripcin del CU Comprar abonos
CU_03 Versin Autor (es) Descripcin Precondicin Secuencia normal Comprar abonos 1.0; 25/07/2005 VASQUEZ MOLLO, Virginia; MOLINA CACERES, Juan Jos; RIOS LOPEZ, Cecilia Ana. Permite al usuario del Cine Club Orson Welles comprar abono para las funciones de cine. Usuario que desea de varias pelculas en el Cine Club Orson Welles. Paso Accin 1 El usuario que desee ver varias pelculas 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 pas, por director, por gnero, etc. 1.c Puede comprar abonos para festivales de cine 2 El usuario ve las pelculas cuyas entradas incluye el abono. Usuario con abonos comprados. Paso 2 Una funcin del abono, algunas funciones, o todo el ciclo cine se cancela: El cajero informa al socio y puede optarse por 2 alternativas: Se le devuelve el dinero abonado. Se posterga la entrada del abono para otra fecha. Paso Cota de tiempo 1 2 El promedio de realizar una compra del abono dura de 1 a 2 minutos Las compras de abonos se presentan con frecuencia cuando hay ciclos de pelculas interesantes. Es importante programar ciclos de pelculas interesantes. Es bueno ofrecer varios ciclos de pelculas en el Cine Club Orson Welles. Todo abono ofrece un 20% de descuento en el costo total.

Postcondicin Excepciones

Rendimiento Frecuencia Importancia Urgencia Comentarios

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 descripcin de todos los CU para el subsistema Taquilla. Para el subsistema Administracin realizar la descripcin de todos los CU. Para el subsistema Ayuda realizar la descripcin de todos los CU.
Mgr. Artidoro Velapatio Castilla Pg. 19 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Y anexar con el procedimiento conocido a cada CU del respectivo Diagrama de Casos de Uso de sistema SACCOW.

1.5.4.4 Descripcin de Actores


Para el subsistema Taquilla vamos a describir los CU siguientes: Usuario, Cajero, Administrador. Descripcin del Actor Usuario
Nombre Descripcin Rol Casos de uso Notas Usuario Persona natural que desea ver pelculas en el Cine Club Orson Welles. Ve pelculas en el CCOW comprando entradas y/o abonos. Reservar entradas, Comprar entradas, Comprar abonos, Imprimir. El usuario puede ser Eventual o Socio. El usuario eventual hace uso del CCOW slo 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 informacin constante sobre cine, y tiene descuento especial tanto en las entradas comunes como en los abonos. Slo 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. Descripcin del Actor Cajero
Nombre Descripcin Rol Casos de uso Notas Cajero Empleado del Cine Club Orson Welles encargado de la taquilla. Vender entradas, abonos y atender reservas. Cobrar, Imprimir, Comprar abonos, Imprimir, Reservar entradas. El cajero se encarga de las tareas siguientes. Vender entradas y abonos a usuarios eventuales o socios. Atender las reservas para socios. Excepcionalmente pude dar crdito, previa autorizacin 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. Descripcin del Actor Administrador
Nombre Descripcin Rol Casos de uso Notas Administrador Empleado del Cine Club Orson Welles encargado de la administracin. Administrar socios, pelculas y funciones. Administrar socios, Administrar pelculas, Administrar funciones. El administrador se encarga de las tareas siguientes. Administrar socios a travs de las operaciones Ingresar, Modificar, Eliminar, Buscar, Imprimir con informacin almacenada en una tabla Socio. Administrar pelculas a travs de las operaciones Ingresar, Modificar, Eliminar, Buscar, Imprimir ficha tcnica una tabla Pelcula. Administrar socios a travs de las operaciones Programar calendario, Ingresar, Modificar, Eliminar, Buscar con informacin almacenada en una tabla Funcin.

Mgr. Artidoro Velapatio Castilla

Pg. 20 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

NOTA: Esta tabla es un archivo de MS WORD se llama Administrador.doc y est asociado al Actor Administrador del diagrama DiagramaCU_Taquilla con el men contextual: Open Specification/ Files.

Ejercicio!: Para el subsistema Administracin realizar la descripcin de todos los Actores. Para el subsistema Ayuda realizar la descripcin 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 Descripcin de Escenarios Actores de Uso


Para el subsistema Taquilla vamos a describir los Escenarios /Subescenrios siguientes: Reservar entradas, Comprar entradas, Comprar abonos. Descripcin del Escenario Reservar entradas
Escenario 1.1 Precondiciones Poscondiciones Excepciones Iniciado por Finalizado por: Paso 1 2 3 Reservar entradas. Hay asientos disponibles. Los datos se han ingresado correctamente. El nmero de reservas individuales se ha incrementado. El usuario slo puede reservar un mximo de 4 entradas. Usuario. Cajero. Detalle operaciones Accin El socio se identifica personalmente o por telfono proporcionando su cdigo de socio. El cajero verifica los datos y da paso a la solicitud. El socio solicita reserva de una entrada o varias entradas para una funcin o funciones del Cine Club Orson Welles. El cajero verifica si hay entradas disponibles para las funciones solicitadas. 3.a Si hay entradas disponibles el cajero informa al socio y le indica fecha, hora y el importe de las entradas. 3.b Si no hay entradas disponibles el cajero informa al socio. El cajero entrega al socio una ficha con las entradas reservadas con fecha y hora de las funciones y con fecha y hora para cancelar el importe de las entradas. 4.a Si el socio confirma y paga sus reservas en fecha y hora sealadas, el cajero le entrega o enva las entradas reservadas. 4.b Si el socio no confirma y no paga sus reservas en fecha y, el cajero pone en venta las entradas reservadas. El socio confirma la recepcin de las entradas. El socio puede cancelar las reservas antes de 24 horas de la funcin.

5 6

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. Descripcin del Escenario Comprar entradas
Escenario 1.2 Precondiciones Poscondiciones Excepciones Iniciado por Finalizado por: Paso Comprar entradas. Hay asientos disponibles. Los datos se han ingresado correctamente. El nmero de reservas individuales se ha incrementado. El usuario slo puede reservar un mximo de 2 abonos. Usuario. Cajero. Detalle operaciones Accin

Mgr. Artidoro Velapatio Castilla

Pg. 21 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I 1 La persona que desee ver una pelcula 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 identificacin con carn de socio. 1.c Si es socio y ha hecho reserva, canjea su boleta de reserva con las correspondientes entradas. El usuario ve la pelcula 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. Descripcin del Escenario Comprar abonos
Escenario 1.3 Precondiciones Poscondiciones Excepciones Iniciado por Finalizado por: Paso 1 Comprar abonos. Hay asientos disponibles. Los datos se han ingresado correctamente. El nmero de abonos se ha incrementado. Los abonos pueden comprarse al contado o por cuotas Usuario. Cajero. Detalle operaciones Accin La persona que desee ver una pelcula 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 pas, por director, por gnero, etc. 1.c Puede comprar abonos para festivales de cine El usuario paga los abonos 2.a El usuario paga al contado. 2.b El usuario paga en 3 cuotas, previa autorizacin del Director. El usuario ve las pelculas 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 Administracin realizar la descripcin de todos los Escenarios. Para el subsistema Ayuda realizar la descripcin de todos los Escenarios. Y anexar con el procedimiento conocido a cada Actor del respectivo Diagrama de Casos de Uso de sistema SACCOW. Nota: Se pueden insertar los archivos que se quieran.

1.5.4.6 Diagrama de Actividades


Para el subsistema Taquilla vamos a construir Diagramas de Actividades para los CU siguientes: Reservar entradas, Comprar entradas, Comprar abonos. Diagrama de Actividades para el CU Reservar entradas. Ver Figura 9. Diagrama de Actividades para el CU Comprar entradas. Ver Figura 10. Diagrama de Actividades para el CU Comprar abonos. Ver Figura 11.

Ejercicio!:
Mgr. Artidoro Velapatio Castilla Pg. 22 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Para el subsistema Administracin crear los Diagramas de Actividades para todos los CU del DiagramaCU_Administracin. Para el subsistema Ayuda realizar crear los Diagramas de Actividades para todos los CU del DiagramaCU_Ayuda.

Socio desea reservar entradas [ Personalmente ] [ Por telfono ] [ Socio posterga reservas ] Se identica en ventanilla con carn de socio Llama por telfono y proporciona sus datos

Cajero verifica datos de socio

Socio reserva entradas

Cajero verifica disponibilidad de entradas

^N entradas <=4

[ Hay entradas ]

[ No hay entradas ]

Cajero entrega ficha con datos de resera

Cajero informa al socio

Socio ratifica reserva [ Paga monto ] [ No paga monto ]

Socio cancela reserva

Socio canjea ficha por entradas

Cajero anula reserva

Figura 9: Diagrama de Actividades para el CU Reservar entradas para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaActividad_ReservarEntradas en el modelo SACCOW.

Mgr. Artidoro Velapatio Castilla

Pg. 23 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Usuario desea ver funcin de CCOW [ Es socio ]

[ Es eventual ]

[ Hizo reserva ] Compra entrada y paga precio normal Compra entrada y paga precio especial Canjea ficha de reserva por entradas

Figura 10: Diagrama de Actividades para el CU Comprar entradas para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaActividad_ComprarEntradas en el modelo SACCOW.

Usuario desea comprar abono [ Al contado ] [ En cuotas ]

Paga el monto al contado

Paga en tres cuotas Usuario recibe abono

Funciones normales de 4, 8, 12 20 funciones

Festivales de cine

Ciclos de cine por pas, por director, por gnero, etc.

Figura 11: Diagrama de Actividades para el CU Comprar abonos para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaActividad_ComprarAbonos en el modelo SACCOW.

Mgr. Artidoro Velapatio Castilla

Pg. 24 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.5.5 Prototipos
El prototipo presentado es el de Interfaz con el Usuario que presenta los procesos ms relevantes del Sistema de Administracin 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
Ver Figura 13

Descripcin del men con las opciones del prototipo


La opcin Archivo La opcin Editor La opcin Ver

La opcin Administracin

La opcin Taquilla

La opcin Herramientas

Mgr. Artidoro Velapatio Castilla

Pg. 25 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

La opcin Reportes

La opcin Ventana

La opcin Ayuda

Figura 13: Mens del SISTEMA de ADMINISTRACION del CINE CLUB ORSON WELLES

1.5.5.2

Descripcin de los mdulos del men.

El mdulo Archivo: Se encarga de procesar archivos de texto e imgenes para escribir e imprimir las fichas tcnicas y apreciacin crtica de las pelculas. El mdulo Edicin: Realiza las opresiones de cortar, copiar, pegar y deshacer los textos. El mdulo Ver: Visualiza /oculta la barra de herramientas y la barra de estado. El mdulo Administracin: Administra a los socios, pelculas y funciones del Cine Club. El mdulo Taquilla: Administra las reservas y la venta de entradas individuales y abonos. El mdulo Reportes: Imprime informes para impresora sobre socios, pelculas, funciones, reservas entradas y abonos. El mdulo Herramientas: Proporciona una calculadora y un calendario de apoyo al sistema. El mdulo Ventana: Organiza la distribucin de las ventanas abiertas por el sistema. El mdulo Ayuda: Proporciona ayuda interactiva al estilo Windows para el Sistema.

1.6

Diseo

1.6.1 Diseo preliminar y diseo detallado


Construccin de los diagramas preliminares
Incluye los diferentes diagramas de interaccin (secuencia y colaboracin), clases, objetos, actividades, estados, componentes y despliegue para el Sistema de Administracin del Cine Club Orson Welles.

Diseo detallado
Refinaremos sucesivamente los diferentes diagramas detallando para tener una visin mas completa del Sistema de Administracin del Cine Club Orson Welles. Aplicando el proceso incremental e iterativo construiremos las versiones sucesivas del Sistema hasta obtener un producto satisfactorio.

Estimacin preliminar del tiempo y los costos del diseo detallado


Actividad Diagramas de interaccin Diagramas de clases Diagramas de objetos Diagrama de actividades Diagrama de estados Diagrama de componentes Personal Tiempo (d) Costos (S/) Virginia LOPEZ 6 30 J.J. MOLINA 4 20 Cecilia LOPEZ 2 10 Virginia LOPEZ 2 10 Cecilia LOPEZ 3 15 J.J. MOLINA 2 10

Mgr. Artidoro Velapatio Castilla

Pg. 26 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Diagrama de despliegue Total

J.J. MOLINA ------------------

2 21

10 105

1.6.2

Diagramas de interaccin

1.6.2.1 Diagramas de secuencia


Para el subsistema Taquilla vamos a construir Diagramas de Secuencia para los CU siguientes: Reservar entradas, Comprar entradas, Comprar abonos. Diagrama de Secuencia para el CU Reservar entradas. Ver Figura 14.
a : Asiento Socio : Usuario 1: Se presenta o llama por telfono c : Cajero

2: Verifica disponibilidad de asientos 3:

4: Comunica disponibilidad de asientos 5: Selecciona asientos 6: Confirma reservas 7: Acepta reservas 8: Cancela reservas 9: Acepta cancelacin 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 : Asiento

u : Usuario 1: Solicita entradas

c : Cajero

2: Verifica disponibilidad de asientos 3: 4: Muestra disponibilidad de asientos 5: Selecciona asientos 6: Solicita pago por entradas 7: Paga la entradas 8: Imprime y entrega entradas

Figura 15: Diagrama de Secuencia para el CU Comprar entradas para el subsistema Taquilla de

Mgr. Artidoro Velapatio Castilla

Pg. 27 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

SACCOW. Este diagrama se llama DiagramaSecuencia_ComprarEntradas en el modelo SACCOW.

Diagrama de Secuencia para el CU Comprar abonos. Ver Figura 16.

u : Usuario 1: Solicita abonos

a : Asiento c : Cajero 2: Verifica disponibilidad 3: : Director

4: Muestra disponibilidad de asientos 5: Selecciona asientos 6: Solicita pago de abono 7: Paga al contado 8: Solicita pago por cuotas 9: Solicita autorizacin de crdito 10: Autoriza crdito 11: Imprime y entrega abonos 12: Paga 1ra. cuota 13: Imprime comprobante 1ra. cuota 14: Paga 2da. cuota 15: Imprime comprobante 2da. cuota 16: Paga 3ra. cuota 17: Imprime comprobante 3ra. cuota

Figura 16: Diagrama de Secuencia para el CU Comprar abonos para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaSecuencia_ComprarAbonos en el modelo SACCOW

Ejercicio!: Para el subsistema Administracin crear los Diagramas de Secuencia para todos los CU del DiagramaCU_Administracin. Para el subsistema Ayuda realizar crear los Diagramas de Secuencia para todos los CU del DiagramaCU_Ayuda.

Mgr. Artidoro Velapatio Castilla

Pg. 28 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.6.2.2 Diagramas de Colaboracin


Para el subsistema Taquilla vamos a construir Diagramas de Colaboracin para los CU siguientes: Reservar entradas, Comprar entradas, Comprar abonos.

Diagrama de Colaboracin para el CU Reservar entradas. Ver Figura 17.


8: Cancela reservas 6: Confirma reservas 1: Se presenta o llama por telfono

Socio : Usuario

4: Comunica disponibilidad de asientos 7: Acepta reservas 9: Acepta cancelacin de reservas 5: Selecciona asientos

c : Cajero

2: Verifica disponibilidad de asientos 3:

a : Asiento

Figura 17: Diagrama de Secuencia para el CU Reservar entradas para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaColaboracin_ReservarEntradas en el modelo SACCOW

Diagrama de Colaboracin para el CU Comprar entradas. Ver Figura 18.


7: Paga las entradas 1: Solicita entradas

u : Usuario

4: Muestra disponibildad de asientos 6: Solicita pago de entradas 8: Imprime y entrega entradas

c : Cajero

2: Verifica disponibilidad de asientos 5: Selecciona asientos 3:

a : Asiento

Figura 18: Diagrama de Secuencia para el CU Comprar entradas para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaColaboracin_ComprarEntradas en el modelo SACCOW.

Mgr. Artidoro Velapatio Castilla

Pg. 29 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Diagrama de Colaboracin para el CU Comprar abonos. Ver Figura 19.


16: Paga 3ra. cuota 14: Paga 2da. cuota 12: Paga 1ra. cuota 8: Solicita pago por cuotas 7: Paga al contado 1: Solicita abonos 9: Solicita autorizacin de crdito u : Usuario 4: Muestra disponibilidad de asientos 6: Solicita pago de abono 11: Imprime y entrega abonos : Director 13: Imprime comprobante 1ra. cuota 15: Imprime comprobante 2da. cuota 3: 17: Impre comprobante 3ra. cuota 5: Selecciona asientos 2: Verifica disponibilidad c : Cajero 10: Autoriza crdito

a : Asiento

Figura 19: Diagrama de Secuencia para el CU Comprar abonos para el subsistema Taquilla de SACCOW. Este diagrama se llama DiagramaColaboracin_ComprarAbonos en el modelo SACCOW.

Ejercicio!: Para el subsistema Administracin crear los Diagramas de Colaboracin para todos los CU del DiagramaCU_Administracin. Para el subsistema Ayuda realizar crear los Diagramas de Colaboracin Secuencia para todos los CU del DiagramaCU_Ayuda.

Mgr. Artidoro Velapatio Castilla

Pg. 30 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.6.3

Diagramas de estructura

1.6.3.1 Diagramas de clases 1.6.3.1.1 Identificacin de clases y objetos 1.6.3.1.1.1 Clasificacin de Ross
Para nuestro caso, que es el Sistema de Administracin del Cine Club Orson Welles consideramos candidatos a clases siguientes:

Grupos Personas Lugares Cosas

Descripcin Usuarios (Socios y Eventuales), Administrativos (Director, Administrador, Cajero) Sala de proyeccin, Almacn, Ventanilla Proyector (Cinta, Multimedia, Vistas fijas, Transparencias) Pelculas (Rollos, CD, DVD, VHS), Impresora, Escner, Papel, Ecran, Asientos. Organizaciones Cine Club, Administracin, Direccin. Conceptos Cine, Funcin, Crtica, Abono, Entrada, Reserva, Crdito. Eventos Funcin, Cine-Forum, Festival, Ciclo, Propaganda.

Clases Candidatas:
Usuario, Administrador, Sala, Proyector, Pelcula, Almacn, Impresora, Escner, Papel, Ecran, Asientos. Ventanilla, Cine Cub, Administracin, Direccin, Cine, Funcin, Crtica, Abono, Entrada, Reserva, Crdito, Funcin, Cine-Forum, Festival, Ciclo, Propaganda.

1.6.3.1.1.2 Anlisis sintctico


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

Descripcin de cmo funciona el sistema

El Cine Club Orson Welles es una empresa que realiza funciones de cine de pelculas en formato de rollos (para clsicos del cine), de video, CD y DVD para incentivar la apreciacin crtica del arte cinematogrfico. Las pelculas se adquieren por compra o donacin o alquiler en caso de rollos. Los usuarios son de dos tipos: eventuales y socios. Slo se almacena informacin sobre los socios. Las funciones se programan en simples, ciclos o festivales. Sobre las pelculas debe tener los datos sobre el ttulo, ttulo original, el director, el productor, los protagonistas, el gnero, el ao de produccin, la empresa productora, el color (blanco y negro y colores), la duracin, el argumento, el soporte (rollo/video/CD/ DVD), ficha tcnica, apreciacin crtica, 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, ocupacin, direccin, telfono, e-mail, y un cdigo 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 nmero de serie. Sobre las entradas es necesario saber la disponibilidad, el nmero. 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 pelcula a proyectarse. Se debe poder realizar operaciones de programar calendario, Mgr. Artidoro Velapatio Castilla Pg. 31 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

ingresar, modificar, eliminar, buscar e imprimir programas y resultados de bsqueda.

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 pelculas en formato de rollos (para clsicos del cine), de video, CD y DVD para incentivar la apreciacin crtica del arte cinematogrfico. Las pelculas se adquieren por compra o donacin o alquiler en caso de rollos. Los usuarios son de dos tipos: eventuales y socios. Slo se almacena informacin sobre los socios. Las funciones se programan en simples, ciclos o festivales. Sobre las pelculas se debe tener los datos sobre el ttulo, ttulo original, el director, el productor, los protagonistas, el gnero, el ao de produccin, la empresa productora, el color (blanco y negro y colores), la duracin, el argumento, el soporte (rollo/video/CD/ DVD), ficha tcnica, apreciacin crtica, 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, ocupacin, direccin, telfono, e-mail, y un cdigo 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 slo se debe consignar la fecha. Si la reserva es para entradas de abono debe consignarse un nmero de serie. Sobre las entradas es necesario saber la disponibilidad, el nmero. 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 pelcula a proyectarse. Se debe poder realizar operaciones de programar calendario, ingresar, modificar, eliminar, buscar e imprimir programas y resultados de bsqueda.

Clases Candidatas:
Cine Club Orson Welles, Empresa, Funcin, Cine, Pelcula, Rollo, Video, CD, DVD, Apreciacin crtica, Arte cinematogrfico, Usuario, Eventual, Socio, Informacin, Ciclo, Festival, Operacin, Sistema, Reserva, Entrada, Abono, Calendario, Programas, Resultado.

1.6.3.1.1.3 Uso del anlisis de casos de uso haciendo uso de escenarios y subescenarios.
Teniendo en cuenta los escenarios (y subescenarios) podemos tambin sugerir clases candidatas. Nota: En un proyecto debe tenerse en cuenta todos los escenarios posibles del sistema. Nosotros asumimos que describimos todos los escenarios (y subescenarios) posibles para nuestro sistema. Mgr. Artidoro Velapatio Castilla Pg. 32 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Descripcin del Escenario Reservar entradas


Paso 1 2 3 Escenario 11 Accin El socio se identifica personalmente o por telfono proporcionando su cdigo de socio. El cajero verifica los datos y da paso a la solicitud. El socio solicita reserva de una entrada o varias entradas para una funcin o funciones del Cine Club Orson Welles. El cajero verifica si hay entradas disponibles para las funciones solicitadas. 3.a Si hay entradas disponibles el cajero informa al socio y le indica fecha, hora y el importe de las entradas. 3.b Si no hay entradas disponibles el cajero informa al socio. El cajero entrega al socio una ficha con las entradas reservadas con fecha y hora de las funciones y con fecha y hora para cancelar el importe de las entradas. 4.a Si el socio confirma y paga sus reservas en fecha y hora sealadas, el cajero le entrega o enva las entradas reservadas. 4.b Si el socio no confirma y no paga sus reservas en fecha y, el cajero pone en venta las entradas reservadas. El socio confirma la recepcin de las entradas. El socio puede cancelar las reservas antes de 24 horas de la funcin.

5 6

Descripcin del Escenario Comprar entradas


Paso 1 Escenario 12 Accin La persona que desee ver una pelcula 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 identificacin con carn de socio. 1.c Si es socio y ha hecho reserva, canjea su boleta de reserva con las correspondientes entradas. El usuario ve la pelcula que se est proyectando.

Descripcin del Escenario Comprar abonos


Paso 1 Escenario 13 Accin La persona que desee ver una pelcula 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 pas, por director, por gnero, etc. 1.c Puede comprar abonos para festivales de cine El usuario paga los abonos 2.a El usuario paga al contado. 2.b El usuario paga en 3 cuotas, previa autorizacin de crdito del Director. El usuario ve las pelculas cuyas entradas incluye el abono.

Clases Candidatas:
Socio, Cajero, Cine Club Orson Welles, Empresa, Funcin, Pelcula, Usuario, Eventual, Entrada, Abono, Ciclo, Festival, Operacin, Sistema, Reserva, Calendario, Programas, Resultado, Crdito.

1.6.3.1.1.4 Fichas

CRC

(Clase

Responsabilidades
Pg. 33 de 72

Mgr. Artidoro Velapatio Castilla

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Colaboradores) con el formato de anverso y reverso en base a escenarios


En base a los escenarios podemos construir fichas CRC para algunos elementos como los siguientes (En un proyecto debe tenerse en cuenta todos los escenarios posibles del sistema):

Ficha CRC para la clase Pelcula:


CLASE: Pelcula Responsabilidades Colaboradores Adquisicin Administrador Proyeccin Empleado Crtica Usuario CLASE: Pelcula
Cod_pelcula: String Ttulo: String Ttulo_original: String Director: String Productor: String Protagonistas: String Gnero: Integer Ao_produccin: Integer Empresa_productora: String Color: Boolean Duracin: Double Argumento: Text Formato: String Ficha_tcnica: Text Apreciacin_crtica: Text Fecha_ingreso: Date Precio : Currency

Superclases

Subclases Normal Documental Animado

Ficha CRC para la clase Funcin


CLASE: Funcin Responsabilidades Colaboradores Programar Administrador Proyectar pelcula Empleado Cine Forum Usuario, Director, Administrador CLASE: Funcin
ID_funcin: Integer Fecha : Date Hora : String Cod_pelcula : String

Superclases

Subclases Matinal Matine Vermouth Noche

Ficha CRC para la clase Usuario

Mgr. Artidoro Velapatio Castilla

Pg. 34 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

CLASE: Usuario Responsabilidades Colaboradores Cajero Comprar entradas Cajero Comprar abonos Funcin, Pelcula Asistir a funciones

CLASE: Usuario
Num_usuario: Integer Num_entradas: Integer

Superclases

Subclases Eventual Socio

Ficha CRC para la clase Socio


CLASE: Socio Responsabilidades Colaboradores Cajero Reservar entradas Cajero Comprar entradas Cajero Comprar abonos Cajero, Director Pedir crdito Funcin, Pelcula Asistir a funciones Cine Club Criticar pelculas CLASE: Socio
Cod_socio: String Apellido: String Nombre: String Sexo: Boolean Fecha_nac: Date Ocupacin: String Direccin: String Telfono: String E_mail: String Foto: Object Fecha_ingreso: Date

Superclases Usuario

Subclases

Ficha CRC para la clase Reserva


CLASE: Reserva Responsabilidades Colaboradores Hacer reserva Cajero, Funcin, Pelcula Confirmar reserva Cajero Cancelar reserva Cajero CLASE: Reserva
Serie: String Fecha : Date Hora : String

Superclases Subclases Reserva_individual Abono

Ficha CRC para la clase Reserva_individual


CLASE: Reserva_individual Responsabilidades Colaboradores Hacer reserva Cajero, Funcin, Pelcula Confirmar reserva Cajero Cancelar reserva Cajero CLASE: Reserva_individual
Num_asiento: Integer Fecha : Date Hora : String

Superclases Reserva

Subclases

Mgr. Artidoro Velapatio Castilla

Pg. 35 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Ficha CRC para la clase Abono


CLASE: Abono Responsabilidades Colaboradores Hacer reserva Cajero, Funcin, Pelcula Confirmar reserva Cajero Cancelar reserva Cajero CLASE: Abono
Serie: String Num_asientos : Integer

Superclases Reserva

Subclases

Ficha CRC para la clase Entrada


CLASE: Entrada Responsabilidades Colaboradores Comprar entrada Cajero, Funcin, Pelcula Pagar entrada Cajero CLASE: Entrada
Disponibilidad: Boolean Asiento : Integer ID_funcin: Integer Precio: Currency

Superclases

Subclases

Clases Candidatas:
Pelcula, Funcin, Usuario, Eventual, Socio, Cajero, Administrador, Empleado, Director, Reserva, Entrada, Entrada_individual.

1.6.3.1.1.5 Depuracin candidatas

de

clases,

atributos

operaciones

Con las cuatro metodologas usadas podemos deducir que las clases candidatas son:

Usuario, Eventual, Socio, Cajero, Administrador, Empleado, Director, Sala, Proyector, Almacn, Impresora, Escner, Papel, cran, Asiento, Ventanilla, Pelcula, Rollo, Video, CD, DVD, Cine, Cine Club, Cine Club Orson Welles, Cine-Forum, Crtica, Apreciacin crtica, Arte cinematogrfico, Administracin, Direccin, Funcin, Festival, Ciclo, Abono, Reserva, Entrada, Entrada_individual, Crdito, Propaganda, Empresa, Informacin, Operacin, Sistema, Calendario, Programa, Resultado.
Eliminamos las siguientes candidatas a clases por ser vagas: Informacin, Sistema, Cine, Operacin, Calendario, Programa, Resultado, Crtica, Empresa, Arte Cinematogrfico, Cine Club Orson Welles. Eliminamos las siguiente candidatas a clases por ser irrelevantes para el sistema: Almacn, Papel, Ventanilla. Eliminamos las siguientes candidatas a clases por ser parte de la implantacin del sistema: Impresora, Administracin, Direccin, Proyector, cran, Escner Eliminamos las siguientes candidatas a clases por ser atributos: Sala, Asiento, Rollo, Video, CD, DVD, Festival, Ciclo Eliminamos las siguientes candidatas a clases por ser operaciones o actividades: Mgr. Artidoro Velapatio Castilla Pg. 36 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Cine Club, Cine-Forum, Apreciacin crtica, Crdito, 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 depuracin quedan las siguientes clases:

Usuario, Eventual, Socio, Pelcula, Funcin, Reserva, Entrada_individual, Abono, Entrada.


Las clases depuradas con sus atributos y operaciones son las siguientes: Ver Figura 20

Usuario
Num_usuario : Integer Ingresar() Anular()

Socio
Cod_socio : String Apellido : String Nombre : String Sexo : Boolean Fecha_nac : Date Ocupacin : String Direccin : String Telfono : String E_mail : String Foto : Object Fecha_ingreso : Date Ingresar() Modificar() Borrar() Buscar() Imprimir()

Pelcula Cod_pelcula : String Ttulo : String Ttulo_original : String Director : String Pas : String Productor : String Protagonistas : String Gnero : Integer Ao_produccin : Integer Empresa_productora : String Color : Boolean Duracin : Double Argumento : Text Formato : String Ficha_tcnica : Text Apreciacin_crtica : Text Fecha_ingreso : Date Precio : Currency Alquiler : Boolean Ingresar() Modificar() Borrar() ...

Reserva
Serie : String Fecha : Date Hora : String Ingresar() Modificar() Eliminar() Buscar()

Reserva_individual
Num_asiento : Integer

Abono
Serie : String Num_funciones : Integer Asientos : String

Entrada
Disponibilidad : Boolean Num_asiento : Integer Fecha : Date Hora : String Precio : Currency Vender() Intercambiar() Anular()

Eventual ID_usuario : Integer

Funcin
ID_funcin : Integer Fecha : Date Hora : String Cod_pelcula : String Tipo : String Programar() Ingresar() Modifiicar() Borrar() Buscar() Imprimir()

Figura 20: Clases finales seleccionadas para el Sistema de administracin del Cine Club Orson Welles despus del proceso de depuracin de clases candidatas. Mgr. Artidoro Velapatio Castilla Pg. 37 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.6.3.1.2

Identificacin de las relaciones dependencia, herencia, agregacin.

de

asociacin,

Analizando las relaciones entre las clases podemos identificar: Las siguientes asociaciones: Ver Figura 21
Eventual
0..1

Compra
*

Entrada

Socio
0..1

Compra
*

Entrada

Reserva_individual
0..1

Separa
1

Entrada

Abono
0..1

Separa
4..20

Entrada

Pelcula
1

Se_exhibe
1..*

Funcin

Entrada
*

Permite_ver
Num_asiento 1

Funcin

Figura 21: Asociaciones entre las clases para el Sistema de administracin 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 asociacin cualificada donde el cualificador es el atributo Nro_asiento.

Las relaciones de Generalizacin (Herencia): Ver Figura 22


Usuario
Reserva

Eventual

Socio

Reserva_individual

Abono

Figura 22: Relaciones de Generalizacin (Herencia) entre las clases para el Sistema de administracin del Cine Club Orson Welles.

1.6.3.1.3

Construccin del Diagrama de Clases

En la seccin Logic View de nuestro modelo SACCOW construimos el diagrama de paquetes: Ver Figura 23

Mgr. Artidoro Velapatio Castilla

Pg. 38 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Area Administrativa Area Cine Club

Figura 22: Paquetes de la Vista Lgica para el Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama Areas en el modelo SACCOW.

Dentro del paquete rea Administrativa creamos el Diagrama de Clases:

Pelcula Cod_pelcula : String Ttulo : String Ttulo_original : String Director : String Pas : String Productor : String Protagonistas : String Gnero : String Ao_produccin : Integer Empresa_productora : String Color : Boolean Duracin : Double Argumento : Text Formato : String Ficha_tcnica : Text Apreciacin_crtica : Text Fecha_ingreso : Date Precio : Currency Alquiler : Boolean Ingresar() Modificar() Borrar() Buscar() Imprimir()
1 0..1

Usuario
Num_usuario : Integer Ingresar() Anular()

Reserva
Serie : String Fecha : Date Hora : String Ingresar() Modificar() Borrar() Buscar()

Eventual
ID_usuario : Integer 1

Socio
Cod_socio : String 1 Apellido : String Nombre : String Sexo : Boolean Fecha_nac : Date Ocupacin : String Direccin : String Tlefono : String E_mail : String Foto : Object Fecha_ingreso : Date Ingresar() Modificar() Borrar() Buscar() Imprimir() 4..20

Reserva_individual Num_asiento : Integer

Abono Serie : String Num_funciones : Integer Asientos : String

0..1

1..* 1

Funcin ID_funcin : Integer Fecha : Date Hora : String Cod_pelcula : String Tipo : String Programar() Ingresar() Modificar() Borrar() Imprimir()

Entrada
*

Disponibilidad : Boolean Num_asiento : Integer Fecha : Date Hora : String Precio : Currency Vender() Intercambiar() Anular()

Num_asiento * 1

Figura 23: Diagrama de Clases para el Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama DiagramaClases_SACCOW en el modelo SACCOW.

Mgr. Artidoro Velapatio Castilla

Pg. 39 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.6.3.1.4

Diccionario de Datos

Usuario: Persona que asiste a las funciones del Cine Club Orson Welles. Eventual: Tipo de usuario que asiste a funciones del Cine Club Orson Welles en raras ocasiones. Socio: Tipo de usuario del Cine Club Orson Welles que tiene carn que le da derecho a reservar entradas, descuentos en las entradas y participacin activa en las sesiones de Cine Forum. Reserva: Reservacin de entradas para las funciones de proyeccin de pelculas que hacen los socios con anticipacin. Reserva_individual: Reservacin para una sola funcin. Abono: Reservacin 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. Pelcula: Obra cinematogrfica que se proyecta en pantalla por intermedio de un proyector de 35 mm o multimedia. Funcin: Proyeccin de una pelcula 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, Ocupacin, Direccin, Telfono, 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 Pelcula: Clase con los atributos Cod_pelcula, Ttulo, Ttulo_original, Director, Pais, Productor, Protagonistas, Ao_produccin, Empresa_productora, Color, Duracin, Argumento, Formato, Ficha_tcnica, Apreciacin_crtica, Fecha_ingreso, Precio y Alquiler y las operaciones Ingresar, Modificar, Eliminar, Buscar e Imprimir. Clase Funcin: Clase con los atributos ID_funcin, Fecha, Hora, Cod_pelcula 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 nmero 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 nmero 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 lgico de la clase Socio que identifica el sexo del socio, donde 1 = Masculino y 0 = Femenino. Fecha_nac: Atributo de tipo fecha/hora de la clase Socio que indica la fecha de nacimiento Mgr. Artidoro Velapatio Castilla Pg. 40 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

del socio, en el formato dd/mm/aaaa. Ocupacin: Atributo de tipo cadena de la clase Socio que indica la ocupacin del socio. Direccin: Atributo de tipo cadena de la clase Socio que indica la direccin del socio. Telfono: Atributo de tipo cadena de la clase Socio que indica el telfono domiciliario del socio. E_mail: Atributo de tipo cadena de la clase Socio que indica el correo electrnico del socio. Foto: Atributo de tipo cadena de la clase Socio que indica la direccin 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 nmero correlativo. Serie: Atributo de tipo cadena de la clase Reserva que indica una reservacin de entradas. Fecha: Atributo de tipo fecha/hora de la clase Reserva que indica la fecha de la funcin para la cual se reserva entradas. Hora: Atributo de tipo cadena de la clase Reserva que indica la hora de la funcin 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 funcin respectiva. Serie: Atributo de tipo cadena de la clase Abono que indica el nmero del abono que puede incluir ceros a la izquierda. Num_funciones: Atributo de tipo entero de la clase Abono que indica el nmero 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 lgico 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 nmero. Fecha: Atributo de tipo fecha/hora de la clase Entrada que indica la fecha de la funcin respectiva. Hora: Atributo de tipo cadena de la clase Entrada que indica la hora de la funcin respectiva. Precio: Atributo de tipo moneda de la clase Entrada que el recio en soles de la funcin respectiva. Cod_pelcula: Atributo de tipo cadena de la clase Pelcula que identifica la pelcula en el formato XX9999 donde XX indica el gnero de la pelcula y 9999 es un nmero correlativo. Ttulo: Atributo de tipo cadena de la clase Pelcula que indica el ttulo en espaol de la pelcula. Ttulo_original: Atributo de tipo cadena de la clase Pelcula que indica el ttulo en el idioma original en que fue filmada. Director: Atributo de tipo cadena de la clase Pelcula que identifica al Director (es) de la pelcula. Pas: Atributo de tipo cadena de la clase Pelcula que indica el pas donde se produjo la pelcula. Productor: Atributo de tipo cadena de la clase Pelcula que identifica el Productor (es) de la pelcula. Protagonistas: Atributo de tipo cadena de la clase Pelcula que identifica a los actores principales de la pelcula. Ao_produccin: Atributo de tipo entero de la clase Pelcula que indica el ao de Mgr. Artidoro Velapatio Castilla Pg. 41 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

produccin de la pelcula. Empresa_productora: Atributo de tipo cadena de la clase Pelcula que identifica a la empresa productora de la pelcula. Color: Atributo de tipo lgico de la clase Pelcula que indica si la pelcula est filmada en colores o blanco y negro. Toma los valores 1 = Colores y 0 = Blanco y negro. Duracin: Atributo de tipo flotante de la clase Pelcula que indica la duracin en minutos de la pelcula. Argumento: Atributo de tipo texto de la clase Pelcula que hace una descripcin sinttica de la pelcula. Se llama tambin Sinopsis. Formato: Atributo de tipo cadena de la clase Pelcula que describe el formato de la pelcula. Toma los valores: Rollo, VHS, CD o DVD. Ficha_tcnica: Atributo de tipo texto de la clase Pelcula que hace una descripcin de los datos tcnicos de la pelcula. Apreciacin_crtica: Atributo de tipo texto de la clase Pelcula que hace una apreciacin crtica de los mritos o demritos de la pelcula. Fecha_ingreso: Atributo de tipo fecha/hora de la clase Pelcula que indica la fecha que la pelcula ingres al Cine Club Orson Welles por donacin, compra o alquiler. Precio: Atributo de tipo moneda de la clase Pelcula que indica el precio en soles de la compra o alquiler de la pelcula. Alquiler: Atributo de tipo lgico de la clase Pelcula que indica si la pelcula es alquilada o no. Toma los valores 1 = Alquilada y 0 = No alquilada. ID_funcin: Atributo de tipo entero de la clase Funcin que identifica la funcin con un nmero correlativo. Fecha: Atributo de tipo fecha/hora de la clase Funcin que indica la fecha de la funcin en formato dd/mm/aaaa. Hora: Atributo de tipo cadena de la clase Funcin que indica la hora de la funcin. Cod_pelcula: Atributo de tipo cadena de la clase Funcin que hace referencia a la pelcula que se proyectar en la funcin. Tipo: Atributo de tipo cadena de la clase Funcin que indica el tipo funcin. Toma los valores Simple, Ciclo o Festival. Ingresar: Operacin de la clase Usuario. Permite ingresar registros de los usuarios. Anular: Operacin de la clase Usuario. Permite anular registros de los usuarios. Ingresar: Operacin de la clase Socio. Permite ingresar registros de los socios. Modificar: Operacin de la clase Socio. Permite modificar datos de los socios. Eliminar: Operacin de la clase Socio. Permite eliminar registros de los socios. Buscar: Operacin de la clase Socio. Permite buscar datos de los socios. Imprimir: Operacin de la clase Socio. Permite imprimir datos de los socios. Ingresar: Operacin de la clase Reserva. Permite ingresar registros de las reservas. Modificar: Operacin de la clase Reserva. Permite modificar datos de las reservas. Eliminar: Operacin de la clase Reserva. Permite registros datos de las reservas. Buscar: Operacin de la clase Reserva. Permite buscar datos de las reservas. Ingresar: Operacin de la clase Entrada. Permite ingresar registros de las entradas. Modificar: Operacin de la clase Entrada. Permite modificar datos de las entradas. Eliminar: Operacin de la clase Entrada. Permite registros datos de las entradas. Buscar: Operacin de la clase Entrada. Permite buscar datos de las entradas. Ingresar: Operacin de la clase Pelcula. Permite ingresar registros de las pelculas. Modificar: Operacin de la clase Pelcula. Permite modificar datos de las pelculas. Eliminar: Operacin de la clase Pelcula. Permite eliminar registros de las pelculas. Mgr. Artidoro Velapatio Castilla Pg. 42 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Buscar: Operacin de la clase Pelcula. Permite buscar datos de las pelculas. Imprimir: Operacin de la clase Pelcula. Permite imprimir datos de las pelculas. Programar: Operacin de la clase Funcin. Permite programar calendario de las funciones. Ingresar: Operacin de la clase Funcin. Permite ingresar registros de las funciones. Modificar: Operacin de la clase Funcin. Permite modificar datos de las funciones. Borrar: Operacin de la clase Funcin. Permite borrar registros de las funciones. Imprimir: Operacin de la clase Funcin. Permite imprimir datos de las funciones. Compra: Asociacin entre las clases Usuario y Entrada. La multiplicidad es de 0..1 a muchos. Compra: Asociacin entre las clases Socio y Entrada. La multiplicidad es de 0..1 a muchos. Separa: Asociacin entre las clases Reserva_individual y Entrada. La multiplicidad es de 0 ..1 a 1. Separa: Asociacin entre las clases Abono y Entrada. La multiplicidad es de 0 o 1 a 4..20. Se_exhibe_en: Asociacin entre las clases Pelcula y Funcin. La multiplicidad es de 1 a 1 o muchos. Permite_ver: Asociacin cualificada entre las clases Entrada y Funcin. La multiplicidad es de muchos a 1. El atributo cualificador es Num_asiento. Es_un: Relacin de Generalizacin (Herencia) entre las clase Usuario y las clases Eventual y Socio. Es_un: Relacin de Generalizacin (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 opcin Documentation de Open Specification para definir la clase respectiva. Para Atributos: Usar la opcin Documentation de Specification para definir el atributo respectivo. Para Operaciones: Usar la opcin Documentation de Specification para definir la operacin respectiva. Para Asociaciones: Usar la opcin Documentation de Open Specification para definir la asociacin respectiva.

Mgr. Artidoro Velapatio Castilla

Pg. 43 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.6.3.2

Diagrama de Objetos

El Diagrama de Objetos lo creamos a partir del Diagrama de Clases para instanciar un objeto determinado, para revisar si este modelo funciona para casos reales. Ver Figura 24.

Usuario
Num_usuario : 102

Reserva
Serie : 2005125 Fecha : 20/07/2005 Hora : 19 *

Socio
Cod_socio : AV62 Apellido : Velasquez Santamaria Nombre : Alvaro Sexo : 1 Fecha_nac : 30/04/1978 Ocupacin : Ingeniero Civil Direccin : 28 de Julio 178 Tlefono : 749741 E_mail Foto : alvarovelsan@yahoo.com Fecha_ingreso : 01/04/2003

Pelcula Cod_pelcula : DR0001 Ttulo : Ciudadano Kane Ttulo_original : Citizen Kane Director : Orson Welles Pais : USA Productor Protagonistas : Josph Cotten, Orson Welles Gnero : Drama Ao_produccin : 1940 Empresa_productora : Mercury Productions Color : T Duracin : 119 Argumento : Es la historia... Formato : VHS Ficha_tcnica : Ttulo :..... Apreciacin_crtica : Considerada como .... Fecha_ingreso : 05/01/2001 Precio : 25 Alquiler : F

Abono Serie : 2005125 Num_funciones : 4 Asientos : 12,13,14,15


0..1

1..* 1

Entrada Disponibilidad : T Num_asiento : 12 Fecha : 2 Hora : 19 Precio : 3

Num_asiento * 1

Funcin ID_funcin : 10 Fecha : 29/07/2005 Hora : 19 Cod_pelcula : DRA0001 Tipo : Simple

Figura 24: Diagrama de Objetos para el Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama DiagramaClases_Objetos y ha sido construido fuera del modelo
SACCOW, pero se ha incluido como parte del sistema. Muestra una ocurrencia particular.

Mgr. Artidoro Velapatio Castilla

Pg. 44 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.6.4

Diagramas de Comportamiento

1.6.4.1 Diagramas de Actividades


Vamos a construir diagramas de actividades para actividades relevantes en el Sistema de Administracin 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 pelculas Programar ciclo

Anunciar ciclo

Adquirir las pelculas

Preparar fichas tcnicas y apreciaciones crticas de las pelculas

Vender entradas

Vender abonos

Proyectar pelculas

Realizar Cine Forums

Figura 25: Diagrama de Actividades para organizar un ciclo dedicado a un director de cine, en el Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama
DiagramaActividad_CicloDirector en el modelo SACCOW.

Actividad: Cine Forum. Ver Figura 26

Mgr. Artidoro Velapatio Castilla

Pg. 45 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Repartir Ficha tcnica a los usuarios Presentar brevemente la pelcula

Proyectar la pelicula Abrir debate

Intervenciones

Preguntas

Conclusiones

Figura 26: Diagrama de Actividades para organizar un Cine Forum en el Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama
DiagramaActividad_CicloDirector en el modelo SACCOW.

Actividades dentro del paquete Area Administrativa


Actividad: Adquisicin de una pelcula. Ver Figura 27

Mgr. Artidoro Velapatio Castilla

Pg. 46 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Director

Administrador

Cajero

Proveedor /Donador

Solicitar pelcula

Revisar informacin [ Otro formato ] [ Rollo ] Solicitar alquiler Solicitar compra Aprobar adquisicin

Solicitar donacin

Pagar alquiler/compra Enviar pelcula

Recepcionar pelcula

Programar funcin

Proyectar pelcula

[ Compra/Donacin ]

[ Alquiler ] Devolver pelicula Pagar envo Recibir pelcula

Almacenar informacin

Pasar a cinemateca

Figura 27: Diagrama de Actividades con calles para adquisicin de una pelcula en el Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama
DiagramaActividad_AdquirirPelcula en el modelo SACCOW.

Ejercicio!: Construir Diagramas de Actividades para otros procesos relevantes dentro del Sistema de Administracin del Cine Club Orson Welles.

Mgr. Artidoro Velapatio Castilla

Pg. 47 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.6.4.2 Diagramas de Estados


Vamos a construir diagramas de estados para cambios de estado relevantes en el Sistema de Administracin del Cine Club Orson Welles.

Estados dentro del paquete Area Administrativa


Proceso: Reservacin y venta de asientos en el cine club. Ver Figura 28
Asignado a Abono

Asiento Disponible
do/ Reservar do/ Asignar exit/ Asiento asignado

Fuera de tiempo Reservar Anular reserva Asiento Reservado


entry/ Reservar exit/ Asiento reservado

Asiento Vendido Vender


do/ Vender exit/ Asiento vendido

Intercambiar

Figura 28: Diagrama de Estados para reservacin y venta de asientos en el Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama DiagramaEstados_Asientos
en el modelo SACCOW.

Proceso: Adquisicin de pelculas para el cine club. Ver Figura 29

Solicitando
entry/ Elegir pelcula do/ Buscar el lista exit/ Solicitar

Solicitar compra Solicitar donacin Donando

Comprando
do/ Comprar pelcula

Solicitar alquiler

entry/ Datos donador do/ Donar pelcula

Pelcula comprada

Alquilando
do/ Alquilar pelcula

Pelcula donada Almacenando


do/ Almacenar pelcula

Pelcula alquilada Devolviendo


do/ Devolver pelcula

Pelcula almacenada Pelcula devuelta

Figura 29: Diagrama de Estados para adquisicin de pelculas en el Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama DiagramaEstados_Adquirir
Pelculas en el modelo SACCOW.

Mgr. Artidoro Velapatio Castilla

Pg. 48 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

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

Abono solicitado
do/ Solicitar abono

Pagar cuota[ Cuota<=3 ] Abono solicitado Pagando por cuotas


do/ Pagar cuota

Abono solicitado Pagando al contado


do/ Pagar monto

^Monto pagado Abono pagado ^Monto pagado

Figura 30: Diagrama de Estados para pagar abonos en el Sistema de administracin 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

Iniciacin
do/ Propagandizar Ciclo de Cine

Agregar pelcula

Cerrado
do/ Finalizar ciclo

[ Cuenta= 4/8/12/20 ]

Abierto
entry/ Proyectar pelcula exit/ ^PelculaEnLista.AgregarPelcula

Cancelar

Cancelar Cancelado

^PelculaEnLista.Eliminar

Figura 30: Diagrama de Estados para Ciclo de Cine en el Sistema de administracin 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 Administracin del Cine Club Orson Welles.

Mgr. Artidoro Velapatio Castilla

Pg. 49 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.6.5

Diagramas de Implantacin

1.6.5.1 Diagramas de Componentes


Vamos a construir diagramas de componentes el Sistema de Administracin del Cine Club Orson Welles. Diagrama de componentes formulario. Ver Figura 31

Aplicacin SACCOW.exe

<<Form>>

Identificacin de administrador y contrasea


<<Form>>

Socio
<<Form>>

Editor

<<Form>>

Reservas
<<Form>> <<Form>>

Pelcula

Acceso a Base de Datos

Principal
<<Form>>

Imgenes

<<Form>>

Entradas
<<Form>>

Calculadora
<<Form>>

BD_SACCOW Funcin

<<Form>>

Calendario

<<Form>>

Abonos

Figura 31: Diagrama de Componentes (Formularios) para el Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama DiagramaCompoentes_SACCOW_Formularios
en el modelo SACCOW.

Mgr. Artidoro Velapatio Castilla

Pg. 50 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Diagrama con componentes cdigo y archivos auxiliares. Ver Figura 32

ProyectoSACCOW.cpp

UnidadPrincipal.cpp

UnidadPrincipal.h

Compilador UnidadPrincipal.obj

#include

ProyectoSACCOW.obj

Enlazador ProyectoSACCOW.res ProyectoSACCOW.exe

ProyectoSACCOW.tds

ProyectoSACCOW.bpr Reportes Ayuda

Intrefaz

BD_SACCOW

Figura 32: Diagrama de Componentes (Cdigo) para el Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama DiagramaCompoentes_SACCOW_Cdigo en el
modelo SACCOW.

1.6.5.2 Diagrama de Despliegue


Construimos el Diagrama de Despliegue para el Sistema De Administracin del Cine Club Orson Welles. Ver Figura 33

Mgr. Artidoro Velapatio Castilla

Pg. 51 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

<<Servidor Principal>>

PC Pentium IV 3.GHz

Servidor Sistema de Administracin de Cine Club "Orson Welles"

preemptive SQL Sever 2000 Windows 2003 Server

<<Red local>>

TCP/IP
<<Red local>>

TCP/IP

Cliente1: Administracin

Servidor de Impresin

Cliente 2: Taquilla

manual AdmiCCOW.exe preemptive

manual Taquilla.exe

Pentium IV 2 GHZ Impresora HP de Inyeccn de tinta Ppentium IV 2 GHz

Figura 33: Diagrama de Despliegue para el Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama DiagramaCompoentes_SACCOW_Cdigo en el modelo
SACCOW.

Mgr. Artidoro Velapatio Castilla

Pg. 52 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.7 Implementacin del Sistema 1.7.1 Generacin de la base de datos en SQL Server 2000 a partir de diagrama de clases
1.7.1.1 Definicin de los identificadores de clase
Para definir los identificadores de clase utilizamos el siguiente cuadro: Clase Identificador
(Part of Object Indentity )

Eventual Socio Reserva Entrada Pelcula Funcin

ID_usario Cod_usuario Serie Num_asiento, Fecha, Hora Cod_pelcula ID_funcin

1.7.1.2 Declaracin 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.
Usuario Num_usuario : Integer Ingresar() Anular() Reserva Serie : String Fecha : Date Hora : String Ingresar() Modificar() Borrar() Buscar()
*

Pelcula Cod_pelcula : String Ttulo : String Ttulo_original : String Director : String Pas : String Productor : String Protagonistas : String Gnero : String Ao_produccin : Integer Empresa_productora : String Color : Boolean Duracin : Double Argumento : Text Formato : String Ficha_tcnica : Text Apreciacin_crtica : Text Fecha_ingreso : Date Precio : Currency Alquiler : Boolean Abono Serie : String Num_funciones : Integer Asientos : String Ingresar() Modificar() Borrar() ...
1 0..1

Eventual ID_usuario : Integer

Socio Cod_socio : String Apellido : String Nombre : String Sexo : Boolean Fecha_nac : Date Ocupacin : String Direccin : String Tlefono : String E_mail : String Foto : Object Fecha_ingreso : Date
1

Reserva_individual Num_asiento : Integer

0..1

1..* 4..20 *

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

Funcin
1

Entrada Disponibilidad : Boolean Num_asiento : Integer Fecha : Date Hora : String Precio : Currency Vender() Intercambiar() Anular()

Num_asiento * 1

ID_funcin : Integer Fecha : Date Hora : String Cod_pelcula : String Tipo : String Programar() Ingresar() Modificar() Borrar() Imprimir()

Figura 34: Diagrama de Clases para el Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama DiagramaClases_SACCOW en el modelo SACCOW. Mgr. Artidoro Velapatio Castilla Pg. 53 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Luego declaramos todas las clases como persistentes: Clase


Usuario Eventual Socio Reserva Reserva_individual Abono Entrada Pelcula Funcin

Open Specification
(Detail/Persistence: Persistent)

1.7.1.3 Creacin de los componentes de Bases de Datos


1.7.1.3.1 Creacin de los componentes
Nombre (Name) Destino (Target)

Creamos los componentes de la bases de datos:


Componente (Component) Base de Datos (Database) Espacio de Tablas (TableSpace)

DB_SACCOW TSP_SACCOW

SQL Server 2000.x

1.7.1.3.2

Creacin del Diagrama de componentes para la BD

Arrastrando estas componentes a Main (renombrado DiagramaComponentes_BD) obtenemos el diagrama correspondiente. Ver Figura 35.

DB_SACCOW
<<Tablespace>>

TSP_SACCOW

Figura 35: Diagrama de Componentes para la Base de Datos del Sistema de administracin del Cine Club Orson Welles. Este diagrama se llama DiagramaComponentes_DB en el modelo
SACCOW.

Mgr. Artidoro Velapatio Castilla

Pg. 54 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.7.1.4 Creacin del esquema de la Base de Datos


En la seccin rea Administrativa creamos el esquema S_0 con los datos siguientes:
Esquema de Destino (Destination Schema) S_SACCOW Base se Datos de Destino (Target Database) Prefijo (Prefix)

DB_SACCOW

Ninguno

Ver Figura 36

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

1.7.1.5 Creacin 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 caractersticas estndar 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 caractersticas expresadas en el Diccionario de Datos y las siguientes indicaciones para cada una de las tablas:
Columna Num_usuario Usuario_ID Tabla: USUARIO PK Tipo_dato No nulo INT PK INT nico

Mgr. Artidoro Velapatio Castilla

Pg. 55 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Usuario
Num_usuario : INT Usuario_ID : INT <<PK>> PK_Usuario8() 1 1 <<Identifying>> <<Non-Identifying>> 0..*

Reserv a
Serie : VARCHAR(255) Fecha : DATETIME Hora : VARCHAR(255) Cod_socio : VARCHAR(255) Usuario_ID : INT <<PK>> PK_Reserva0() <<FK>> FK_Reserva5() <<Index>> TC_Reserva12() 1 1

Pelcula
Cod_pelcula : VARCHAR(255) Ttulo : VARCHAR(255) Ttulo_original : VARCHAR(255) Director : VARCHAR(255) Pas : VARCHAR(255) Productor : VARCHAR(255) Protagonistas : VARCHAR(255) Gnero : VARCHAR(255) Ao_produccin : INT Empresa_productora : VARCHAR(255) Color : BIT Duracin : FLOAT(64, 0) Argumento : SMALLINT Formato : VARCHAR(255) Ficha_tcnica : SMALLINT Apreciacin_crtica : SMALLINT Fecha_ingreso : DATETIME Precio : MONEY Alquiler : BIT <<PK>> PK_Pelcula4() 0..1 1

0..*

Socio
Cod_socio : VARCHAR(255) Apellido : VARCHAR(255) <<Identifying>> Nombre : VARCHAR(255) Sexo : BIT Fecha_nac : DATETIME Ocupacin : VARCHAR(255) Direccin : VARCHAR(255) Tlefono : VARCHAR(255) E_mail : VARCHAR(255) Foto : SMALLINT Fecha_ingreso : DATETIME Usuario_ID : INT <<PK>> PK_Socio7() <<FK>> FK_Socio12() 0..* 1 <<Non-Identifying>> <<Identifying>> 1 <<Identifying>>

0..1

Abono
Serie : VARCHAR(255) Num_funciones : INT Asientos : VARCHAR(255) Reserva_Serie : VARCHAR(255) <<PK>> PK_Abono10() <<FK>> FK_Abono10() <<Non-Identifying>> 1 0..* <<Non-Identifying>>

Reserv a_indiv idual


Num_asiento : INT Serie : VARCHAR(255) <<PK>> PK_Reserva_individual9() <<FK>> FK_Reserva_individual8() 1 <<Non-Identifying>>

Ev entual
ID_usuario : INT Usuario_ID : INT <<PK>> PK_Eventual6() <<FK>> FK_Eventual11() 0..*

1..*

Entrada
1 <<Non-Identifying>>Disponibilidad : BIT Num_asiento : INT Fecha : DATETIME 0..* Hora : VARCHAR(255) Precio : MONEY ID_funcin : INT ID_usuario : INT Cod_socio : VARCHAR(255) Serie : VARCHAR(255) Reserva_Serie : VARCHAR(255) Usuario_ID : INT Socio_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()

Funcin
ID_funcin : INT Fecha : DATETIME Hora : VARCHAR(255) Cod_pelcula : VARCHAR(255) Tipo : VARCHAR(255) Pelcula_Cod_pelcula : VARCHAR(255) <<PK>> PK_Funcin5() <<FK>> FK_Funcin2() <<Index>> TC_Funcin6()

0..* <<Non-Identifying>> 1 0..*

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

Mgr. Artidoro Velapatio Castilla

Pg. 56 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Columna ID_usuario Usuario_ID

Tabla: EVENTUAL PK Tipo_dato No nulo PK INT FK/PK INT

nico

Columna Cod_socio Apellido Nombre Sexo Fecha_nac Ocupacin Direccin Telfono E_mail Foto Fecha_ingreso Usuario_ID

Tabla: SOCIO Tipo_dato CHAR(5) VARCHAR(40) VARCHAR(35) BIT DATETIME VARCHAR(30) VARCHAR(60) VARCHAR(10) VARCHAR(35) IMAGE DATETIME FK/PK INT PK PK

No nulo

nico

Columna Serie Fecha Hora Cod_socio Usuario_ID

Tabla: RESERVA PK Tipo_dato No nulo PK CHAR(6) DATETIME CHAR(5) FK CHAR(5) FK INT

nico

Columna Serie Num_funciones Hora Reserva_Serie

Tabla: ABONO PK Tipo_dato CHAR(6) INT CHAR(5) FK/PK CHAR(6)

No nulo

nico

Tabla: RESERVA_INDIVIDUAL Columna PK Tipo_dato No nulo Num_asiento INT Serie FK/PK CHAR(6)

nico

Columna Disponibilidad Num_asiento Fecha Hora Precio ID_funcin ID_usuario

Tabla: ENTRADA PK Tipo_dato No nulo BIT PK INT PK DATETIME PK CHAR(5) MONEY FK INT FK INT

nico

Mgr. Artidoro Velapatio Castilla

Pg. 57 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I Cod_socio Serie Reserva_Serie Usuario_ID Socio_Usuario FK FK FK FK FK CHAR(5) CHAR(6) CHAR(6) INT INT

Columna Cod_pelcula Ttulo Ttulo_original Director Pas Productor Protagonistas Gnero Ao_produccin Empresa_productora Color Duracin Argumento Formato Ficha_tcnica Apreciacin_crtica Fecha_ingreso Precio Alquiler

Tabla: PELICULA PK Tipo_dato PK CHAR(6) VARCHAR(255) VARCHAR(255) VARCHAR(60) VARCHAR(30) VARCHAR(60) VARCHAR(80) VARCHAR(20) INT VARCHAR(40) BIT FLOAT TEXT VARCHAR(5) TEXT TEXT DATETIME MONEY BIT

No nulo

nico

Columna ID_funcin Fecha Hora Tipo Pelcula_Cod

Tabla: FUNCION PK Tipo_dato No nulo PK INT DATETIME CHAR(5) VARCHAR(8) CHAR(6)

nico

Mgr. Artidoro Velapatio Castilla

Pg. 58 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Usuario
Num_usuario : INT Usuario_ID : INT <<PK>> PK_Usuario8() <<Unique>> TC_Usuario21() <<Unique>> TC_Usuario23() 1 1 <<Identifying>> <<Non-Identifying>> 0..*

Reserva
Serie : CHAR(6) Fecha : DATETIME Hora : CHAR(5) Cod_socio : CHAR(5) Usuario_ID : INT <<PK>> PK_Reserva0() <<FK>> FK_Reserva5() <<Index>> TC_Reserva12() <<Unique>> TC_Reserva25() 0..* 1 <<Identifying>>

Pelcula
Cod_pelcula : CHAR(6) Ttulo : VARCHAR(255) Ttulo_original : VARCHAR(255) Director : VARCHAR(60) Pas : VARCHAR(30) Productor : VARCHAR(60) Protagonistas : VARCHAR(80) Gnero : VARCHAR(20) Ao_produccin : INT Empresa_productora : VARCHAR(40) Color : BIT Duracin : FLOAT(64, 0) Argumento : SMALLINT Formato : VARCHAR(5) Ficha_tcnica : TEXT Apreciacin_crtica : TEXT Fecha_ingreso : DATETIME Precio : MONEY Alquiler : BIT Argumento : TEXT <<PK>> PK_Pelcula4() <<Unique>> TC_Pelcula28() 1 0..1

Socio
Cod_socio : CHAR(5) Apellido : VARCHAR(40) Nombre : VARCHAR(35) Sexo : BIT Fecha_nac : DATETIME Ocupacin : VARCHAR(30) Direccin : VARCHAR(60) Tlefono : VARCHAR(10) E_mail : VARCHAR(35) Foto : IMAGE Fecha_ingreso : DATETIME Usuario_ID : INT <<PK>> PK_Socio7() <<FK>> FK_Socio12() <<Unique>> TC_Socio24() 1 0..* <<Non-Identifying>> 1 0..1 <<Identifying>>

<<Identifying>>

Abono
Serie : CHAR(6) Num_funciones : INT Asientos : VARCHAR(60) Reserva_Serie : CHAR(6) Serie : VARCHAR(255) Asientos : VARCHAR(255) <<PK>> PK_Abono10() <<FK>> FK_Abono10() <<Unique>> TC_Abono26() <<Unique>> TC_Abono27() 1

Reserva_individual
Num_asiento : INT Serie : VARCHAR(255) <<PK>> PK_Reserva_individual9() <<FK>> FK_Reserva_individual8() 1 <<Non-Identifying>>

Eventual
ID_usuario : INT Usuario_ID : INT <<PK>> PK_Eventual6() <<FK>> FK_Eventual11() <<Unique>> TC_Eventual22() 0..*

<<Non-Identifying>> <<Non-Identifying>> 0..* 1 <<Non-Identifying>> 1..*

Entrada
Disponibilidad : BIT Num_asiento : INT Fecha : DATETIME 0..* Hora : CHAR(5) Precio : MONEY ID_funcin : INT ID_usuario : INT Cod_socio : CHAR(5) Serie : VARCHAR(255) Reserva_Serie : CHAR(6) Usuario_ID : INT Socio_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()

Funcin
ID_funcin : INT Fecha : DATETIME Hora : CHAR(5) Tipo : VARCHAR(8) Pelcula_Cod_pelcula : CHAR(6) 1 <<PK>> PK_Funcin5() <<FK>> FK_Funcin2() <<Index>> TC_Funcin6()

0..*

<<Non-Identifying>>

0..*

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

Mgr. Artidoro Velapatio Castilla

Pg. 59 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.7.1.6 Generacin de la Base de Datos en SQL Server 2000


1.7.1.6.1 Creacin 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

Generacin de la Base de Datos en SQL Server 2000


Tables y Indexes

En Choose Options: Seleccionamos En la ventana de Choose to Save and Execute DDL, indicamos el nombre de archivo donde se guardar el cdigo DDL generado., por ejemplo en File name ingresar: CodigoGeneradoSACCOW.SQL. Con el botn Browse elegimos la carpeta para guardar:
D:\PROYECTO_SACCOW\ Base de Datos\ CodigoGeneradoSACCOW.SQL

Marcamos tambin datos solicitados


User Name: Server: Password: Database:

Execute para generar la base de datos en SQL Server, y poner los


sa ARTIDORO DB_SACCOW

Ver Figura 40.

Mgr. Artidoro Velapatio Castilla

Pg. 60 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Figura 40: Generacin 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 Mgr. Artidoro Velapatio Castilla Pg. 61 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

1.7.1.7 Aplicacin de ingeniera reversa para generar modelos lgico y fsico en ERWIN
Vamos al ERWIN y usamos Ingeniera Reversa (Inversa) para obtener los modelos Lgico y Fsico de la base de datos. Ver Figuras 43 y 44. Guardamos los esquemas de los modelos lgico y fsico con el nombre DB_SACCOW.er1 en ERWIN.
Reserva_individual Serie (FK) Num_asiento Reserva Serie Fecha Hora Cod_socio (FK) Usuario_ID (FK) Abono Reserva_Serie (FK) Num_funciones Serie Asientos Entrada Num_asiento Fecha Hora Disponibilidad Precio ID_funcin (FK) ID_usuario (FK) Cod_socio (FK) Serie Reserva_Serie (FK) Usuario_ID (FK) Socio_Usuario_ID (FK) dtproperties id property objectid value uvalue lvalue version

Funcin ID_funcin Fecha Hora Tipo Cod_pelcula (FK)

Pelcula Cod_pelcula Ttulo Ttulo_original Director Pas Productor Protagonistas Gnero Ao_produccin Empresa_productora Color Duracin Formato Ficha_tcnica Apreciacin_crtica Fecha_ingreso Precio Alquiler Argumento

Eventual Usuario_ID (FK) ID_usuario

Usuario Usuario_ID Num_usuario

Socio Usuario_ID (FK) Cod_socio Apellido Nombre Sexo Fecha_nac Ocupacin Direccin Tlefono E_mail Foto Fecha_ingreso

Figura 43: Esquema Lgico de la Base de Datos DB_SACCOW en ERWIN 4.1


Reserva_individual Serie: char(6) Num_asiento: int Reserva Serie: char(6) Fecha: datetime Hora: char(5) Cod_socio: char(5) Usuario_ID: int Abono Reserva_Serie: char(6) Num_funciones: int Serie: varchar(255) Asientos: varchar(255) Entrada Num_asiento: int Fecha: datetime Hora: char(5) Disponibilidad: bit Precio: money ID_funcin: int ID_usuario: int Cod_socio: char(5) Serie: varchar(255) Reserva_Serie: char(6) Usuario_ID: int Socio_Usuario_ID: int dtproperties id: int property: varchar(64) objectid: int value: varchar(255) uvalue: nvarchar(255) lvalue: image version: int

Funcin ID_funcin: int Fecha: datetime Hora: char(5) Tipo: varchar(8) Cod_pelcula: char(6)

Pelcula Cod_pelcula: char(6) Ttulo: varchar(255) Ttulo_original: varchar(255) Director: varchar(60) Pas: varchar(30) Productor: varchar(60) Protagonistas: varchar(80) Gnero: varchar(20) Ao_produccin: int Empresa_productora: varchar(40) Color: bit Duracin: float Formato: varchar(5) Ficha_tcnica: text Apreciacin_crtica: text Fecha_ingreso: datetime Precio: money Alquiler: bit Argumento: text

Eventual Usuario_ID: int ID_usuario: int

Usuario Usuario_ID: int Num_usuario: int

Socio Usuario_ID: int Cod_socio: char(5) Apellido: varchar(40) Nombre: varchar(35) Sexo: bit Fecha_nac: datetime Ocupacin: varchar(30) Direccin: varchar(60) Tlefono: varchar(10) E_mail: varchar(35) Foto: image Fecha_ingreso: datetime

Figura 44: Esquema Fsico de la Base de Datos DB_SACCOW en ERWIN 4.1

Mgr. Artidoro Velapatio Castilla

Pg. 62 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

El cdigo 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, Ocupacin VARCHAR ( 30 ), Direccin VARCHAR ( 60 ) NOT NULL, Telfono 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_funcin 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),

Mgr. Artidoro Velapatio Castilla

Pg. 63 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I 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 Pelcula ( Cod_pelcula CHAR ( 6 ) NOT NULL, Ttulo VARCHAR ( 255 ) NOT NULL, Ttulo_original VARCHAR ( 255 ) NOT NULL, Director VARCHAR ( 60 ) NOT NULL, Pas VARCHAR ( 30 ) NOT NULL, Productor VARCHAR ( 60 ) NOT NULL, Protagonistas VARCHAR ( 80 ) NOT NULL, Gnero VARCHAR ( 20 ) NOT NULL, Ao_produccin INT NOT NULL, Empresa_productora VARCHAR ( 40 ) NOT NULL, Color BIT NOT NULL, Duracin FLOAT ( 64 ) NOT NULL, Formato VARCHAR ( 5 ) NOT NULL, Ficha_tcnica TEXT, Apreciacin_crtica TEXT, Fecha_ingreso DATETIME, Precio MONEY, Alquiler BIT, Argumento TEXT, CONSTRAINT PK_Pelcula4 PRIMARY KEY NONCLUSTERED (Cod_pelcula), CONSTRAINT TC_Pelcula28 UNIQUE NONCLUSTERED (Cod_pelcula) ) 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 Funcin ( ID_funcin INT NOT NULL, Fecha DATETIME NOT NULL, Hora CHAR ( 5 ) NOT NULL, Tipo VARCHAR ( 8 ) NOT NULL, Pelcula_Cod_pelcula CHAR ( 6 ) NOT NULL, CONSTRAINT PK_Funcin5 PRIMARY KEY NONCLUSTERED (ID_funcin) ) GO CREATE INDEX TC_Entrada14 ON Entrada (Cod_socio) GO CREATE INDEX TC_Entrada8 ON Entrada (ID_funcin) GO CREATE INDEX TC_Entrada10 ON Entrada (ID_usuario) GO CREATE INDEX TC_Reserva12 ON Reserva (Cod_socio) GO

Mgr. Artidoro Velapatio Castilla

Pg. 64 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I CREATE INDEX TC_Funcin6 ON Funcin (Pelcula_Cod_pelcula) 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_funcin) REFERENCES Funcin (ID_funcin) 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 Funcin ADD CONSTRAINT FK_Funcin2 FOREIGN KEY (Pelcula_Cod_pelcula) REFERENCES Pelcula (Cod_pelcula) GO

1.7.2 Construccin del prototipo inicial 1.7.2.1 Men principal bsico

Figura 45: Men Principal del Sistema Mgr. Artidoro Velapatio Castilla Pg. 65 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Este men ha sido creado con el componente MainMenu de la pgina 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 smbolo & antes de la letra, por ejemplo &Archivo para obtener Archivo. Usando un guin para lnea separatoria. Deshabilitando un tem del men poniendo la opcin Enabled en false. Poniendo teclas de acceso rpido (combinacin de teclas) haciendo uso de la propiedad ShortCut. Creando submens, ubicndose en el tem respectivo y usando el men contextual (botn derecho del ratn) y usando la opcin Create Submenu o la combinacin [Ctrl] + []. Se tiene los mens e tems siguientes: Archivo: Maneja los tems: Abrir Editor, Abrir Imagen /Configurar Impresora, Impresora /Cerrar /Salir. Abrir Editor: Abre editor de textos para fichas tcnicas, crticas, comentarios sobre pelculas y funciones del Cine Club. Abrir Imagen: Abre imgenes sobre pelculas, actores y funciones. Tiene un men contextual (PopupMenu) con las opciones: Abrir, Guardar, Guardar como, Cerrar imagen: Abrir: Abre imgenes permitiendo filtrar archivos .bmp, .jpg, .jpeg, .ico, .emf, .wmf. Guardar: Permite guardar imgenes. Guardar como: Permite guardar imgenes renombrando los archivos. Cerrar imagen: Cierra la ventana de imagen. Configurar impresora: Permite configurar la impresora para la opcin Imprimir Impresora: Imprime textos. Cerrar: Cierra la ventana activa. Mgr. Artidoro Velapatio Castilla Pg. 66 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Salir: Sale del SACCOW

1.7.2.2 Barra de herramientas


La Barra de herramientas tiene la finalidad de acceder rpidamente a las opciones ms frecuentes mediante iconos: Figura 47: Barra de herramientas Se ha construido esta barra insertando los siguientes componentes de la pgina Win32: 01 CoolBar (Contiene la Barra de Herramientas) 01 ToolBar (Insertado dentro de Coolbar1) 01 ImageList (Contiene las imgenes asignadas a los botones de la barra de herramientas y a los mens) En la Barra de herramientas (ToolBar), se ha insertado las imgenes: 0 un icono adecuado para Socio. 1 un icono adecuado para Pelcula. 2 un icono adecuado para Funcin. 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 Botn1: Socio: Accede a la administracin de socios del Cine Club Orson Welles. Botn2: Pelcula: Accede a la administracin de pelculas del Cine Club Orson Welles. Botn3: Funcin: Accede a la administracin de funciones del Cine Club Orson Welles. Botn4: Separador. Botn5: Cortar: Corta bloques de texto y los guarda en el Portapapeles de Windows. Botn6: Copiar: Copia bloques de texto y los guarda en el Portapapeles de Windows. Botn7: Pegar: Pega texto copiado o cortado y que est en el Portapapeles de Windows. Botn8: Separador. Botn9: Ayuda: Accede a la ayuda HTML del SACCOW.

Mgr. Artidoro Velapatio Castilla

Pg. 67 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

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 ao de construccin del sistema: Figura 49: Barra de herramientas Se ha construido esta barra insertando el componente de la pgina 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 ao de elaboracin del SACCOW.

1.7.3 Implantacin del visualizador de imgenes

1.8 Conclusiones y Recomendaciones


1.8.1 Conclusiones
El Anlisis y Diseo Orientado a Objetos es una metodologa fcilmente aplicable a Sistemas de Software de diverso tipo. En este caso lo hemos utilizado para el Sistema de Administracin del Cine Club Orson Welles. El Rational Rose 2003 es una buena herramienta CASE para el anlisis y diseo de sistemas orientados a objetos. No es un simple graficador. Adems de permitir la construccin de todos los diagramas de UML, documentar el sistema, permite generar Mgr. Artidoro Velapatio Castilla Pg. 68 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

bases de datos y cdigo. El SQL Server 2000 es uno de los mejores SGBDR (Sistema de Gestin de Bases de Datos Relacionales) que nos permite manejar los datos de un sistema. Actualmente es el ms 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 Anlisis y Diseo Orientado a Objetos para construir Sistemas de Software dentro de los dominios de problema como negocios, educacin, etc. Dar al modelamiento de sistemas su verdadero peso, puesto que el nfasis actual est en el anlisis y diseo antes que en la codificacin al usar herramientas de programacin 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 versin) 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 versin) como SGBD para Sistemas Orientados a Objetos, puesto que el uso de SGBDOO (Sistema de Gestin 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 slo para construir el men principal del prototipo). Puede ampliarse el Sistema de Administracin 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 documentacin completa y renovacin constante de nuevas versiones. Los mejores trabajos del curso de Anlisis y Diseo Orientado a Objetos I, deben integrase a la biblioteca del ITEL, como material de consulta.

1.9 Bibliografa y Software


1.9.1 Bibliografa
Sobre ADOO
BOOCH, Grady: Anlisis y diseo orientado a objetos. MARTIN, James; ODELL, James: Anlisis y diseo orientado a objetos. COAD, Peter; YOURDON, Edward: Object - Oriented Analysis. RUMBAUGH, James y Otros: Modelado y diseo orientado a objetos. VOSS, Greg: Programacin orientada a objetos.

Mgr. Artidoro Velapatio Castilla

Pg. 69 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

COX, Brad; NOVOBILSKI, Andrew: Programacin orientada a objetos. BUDD, Timothy: Programacin 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: Introduccin al anlisis y diseo 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: Diseo 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, Csar 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. Programacin orientada a objetos. ARNUSH, Craig: Aprendiendo Borland C++ 5.0 en 21 das. REISDORF, Kent: Aprendiendo Borland C++ Builder 3.0 en 21 das. CHARTE OJEDA, Francisco: Programacin 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

Mgr. Artidoro Velapatio Castilla

Pg. 70 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I
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.

Mgr. Artidoro Velapatio Castilla

Pg. 71 de 72

Universidad Nacional Jorge Basadre Grohmann Carrera Tcnica de Analista Programador de Sistemas Curso: Anlisis y Diseo Orientado a Objetos I

Mgr. Artidoro Velapatio Castilla

Pg. 72 de 72

Вам также может понравиться