Sei sulla pagina 1di 65

APUNTE ASIGNATURA CARRERA PROFESORA

: : : :

N-5 SISTEMA DE INFORMACIN Ingeniera en Informtica Magdalena Nieto.

http://www.unab.edu.co/editorialunab/revistas/rcc/pdfs/r11_art4_c.pdf http://sistemas.itlp.edu.mx/tutoriales/fundamentosdeprog/t21.htm Para ensear conceptos bsicos de OO La metodologa OMT (Object Modeling Technique) fue creada por James Rumbaugh y Michael Blaha en 1991, es una de las metodologas de anlisis y diseo orientados a objetos, ms maduros y eficientes que existen en la actualidad. La gran virtud que aporta esta metodologa es su carcter de abierta (no propietaria), que le permite ser de dominio pblico y, en consecuencia, sobrevivir con enorme vitalidad. Esto facilita su evolucin para acoplarse a todas las necesidades actuales y futuras de la ingeniera de software. Jaaksi junto a otros desarrolla OMT++, un modelo basado en OMT (creado por Rumbaugh, que significa Object Modeling Technique), y estaba dirigido a la construccin de sistemas interactivos. El modelo trabaja con casos de uso, interfaz de usuario y se basan en modelamiento MVC (Model View Control). Fases del proceso de desarrollo orientado a I FASE II FASE III FASE IV FASE V FASE : : : : : Conceptualizacin Anlisis OO Diseo OO Construccin Pruebas

P roblema

C N E TU LIZA IO OCP A C N O bjetivo E stablecer los requerimientos bsicos para el sistema A ctividades E nunciar el problema R requerim.funcionales R equerim.no funcionales E studio de factibilidad

C asos de uso R equerimientos

A A IS N LIS O bjetivo C omprender el dominio del problema y el sistema a ser implementado A ctividades A nalsis de objeto A nlisis de comportamiento E specificacin de interfaz

Mod. de objeto del anlisis E specif. de operaciones D iagramas de dilogos D iag. de componentes

DISEO Ob je tivo C r e ar u n a ar q u ite ctu r a p ar a la ap licaci n

C o n s tr u cci n Ob je tivo T r ad u cir e l d is e o e n u n a im p le m e n taci n

P r u e b as Ob je tivo Pr o b ar e l Sis te m a

A ctivid ad e s A ctivid ad e s A ctivid ad e s M o d e lo d e o b je to d e dM o d .od e o b je to d e l d is e De fin icio n e s d e clas e s is e o Dis e o o r ie n tad o a o b je toe lo d e tr e s cap as M od C r e aci n d e o b je to s Sis t. im p le m e n tad o In te g r aci n Sis te m a T r az a d e e ve n to s Diag r am as d e s e cu e n cia lam ad a d e o p e r acio n e s L Pr u e b a co m o Sis te m a Us o d e la h e r e n cia Im p le m . d e as o cias io n e s

Diseo Diagrama de clase Anlisis Anlisis Diagrama de clase


X atributo atributo Funcin Funcin 6 Y Atributo Atributo Funcin 3 Funcin 5 Z Atributo Funcin 1 Funcin 4 Class Y{ Function3(); Function5(); X; }; X Atributo Atributo

Declarac

Requerimien
Y atributo Caso de uso A Caso de uso B Caso de uso C ... Lista de operaci

Prueba de casos
Caso de uso A Caso de uso B

Lista de operaciones
Usuario Z

Trazas
X Y

Cdigo
Y::function5() { X>function6(); }; ...

Caso de uso C ... Otros requerim.

Otros requerim.

Operacin 1 Operacin 2 Operacin 3 ....

Funcin 1

Funcin 2

Funcin 3 Funcin 4 Funcin 5 Funcin 6

CONCEPT

ANALISIS

DISEO

CONSTRUCCION

CONCEPTUALIZACION Entrevistas Enunciar problema Problema Def. Requerimientos Funcionales Casos de uso ANALISIS OO Anlisis de Objetos Modelo de Objetos Anlisis de Comportamiento Lista de Operaciones Especificacin de Interfaz de Usuario Diagrama de Dilogos DISEO OO Diagramas de Componentes Def. Requerimientos No Funcionales Parmetros

FACTIBILIDAD

Modelo de Objetos Modelo de Objetos Diseo de Objetos Modelo de 3 Capas Traza de Eventos

CONSTRUCCION OO

Diagramas de Secuencia

Definicin de Clases

Creacin De Objetos

Llamadas De Operacin

Uso de Herencia

Implement ar Asociacin

Probar el Sistema

Sistema en Funcionamiento

CASOS DE USO 10 consideraciones para obtener buenos autores de OMT++) casos de uso (Segn los

1. Los casos de uso especifican los requisitos funcionales ms importantes Por ejemplo, si es importante para el cliente que el sistema imprima informes, entonces esa tarea debiera estar incluida en uno o ms casos de uso. 2. Un caso de uso describe algo que el diseador estara orgulloso de hacer y que el cliente estara dispuesto a pagar con gusto Cada caso de uso debiera describir algo que es beneficioso para el usuario. Por ejemplo, producir un informe de venta suena como un buen caso de uso, mientras seleccionar una impresora es un caso de uso demasiado pequeo y no slo es beneficioso para el usuario final. 3. Un caso de uso describe una manera tpica de usar el sistema, pero no ms. El caso de uso debiera describir la manera recomendada para ejecutar una tarea. No debera cubrir temas que quedan fuera de su incumbencia y no debera tratar de definir todas las posibles formas de ejecutar la tarea. Otra manera de usar el sistema es descrito en otro caso de uso o en la seccin de Excepcin del caso de uso en cuestin.

4. Un caso de uso es una actuacin Un caso de uso es como el manuscrito de una obra de teatro que describe lo que debe hacer un actor en un escenario dado. El que tome el lugar de un actor debe ser capaz de jugar su rol. El sistema juega el rol de otro actor. El caso de uso no debe dar demasiada libertad a los actores como para que el acto termine en un caos. 5. Un caso de uso tiene un comienzo, un cuerpo principal, y un final. Cada caso de uso debiera ser una historia completa. El comienzo de la historia define las precondiciones y entrega una lista de los pasos iniciales del caso de uso. El cuerpo principal describe la funcionalidad que el cliente pagara con agrado. La parte final describe pasos con los cuales se termina la historia. Un caso de uso sin estas caractersticas es probablemente demasiado dbil. 6. Un caso de uso es como un ensayo escrito por un estudiante de escuela bsica. A cierta edad los nios tienden a escribir historias que describen el flujo explcito de las acciones, una despus de la otra, eso es exactamente lo que un caso de uso debera hacer. Ejemplo: Hoy fui con mis compaeros a jugar ftbol a Puente Alto. En el primer tiempo yo marqu un gol. En el segundo tiempo Humberto caus un penal y nos marcaron un gol. Luego del gol Ral marc otro gol. Finalmente nosotros ganamos 2-1. Despus del partido nos vinimos a Santiago en micro.

7. Un caso de uso cabe en una pgina Los casos de uso grandes son difciles de comprender ya que, o son demasiado detallados, o intentan cubrir demasiada funcionalidad. En el ltimo caso el problema se puede resolver quebrando el caso de uso en dos o ms casos de uso. 8. Un caso de uso es fuerte y claro Cada caso de uso debe hacer afirmaciones claras y explcitas para que cuando la gente lo lea, se pueda formar opiniones fuertes. Un caso de uso
6

debe motivar a los clientes a mejorar el sistema argumentando, discutiendo, hasta lograr un acuerdo con el caso de uso. Si nadie est en desacuerdo con la primera versin de un caso probablemente es demasiado vago o debera ser ms explcito. 9. Los clientes y diseadores de software pueden firmar el caso de uso Cada caso de uso debera ser concreto y claro para que los clientes y los diseadores lo puedan firmar. Los casos de uso actan como un contrato entre los clientes y los desarrolladores. Nadie debera hacer alguna modificacin a los casos de uso sin la aprobacin de todos. 10. Un caso de uso puede ser usado en el desarrollo y la prueba del sistema Los casos de uso no se usan en forma aislada. Los casos de uso deberan especificarse para ser usados en las siguientes fases del proceso, por ejemplo, en la fase de anlisis de objetos y la fase de anlisis de comportamiento. Si los casos son suficientemente explcitos ellos se pueden usar como una base para los casos de prueba del sistema.

OMT++ OBJECT MODELING TECHNIQUE

I FASE CONCEPTUALIZACION O CAPTURA DE REQUERIMIENTOS


OBJETIVO DE LA FASE CONCEPTUALIZACION: Establecer los requisitos esenciales para el sistema Los requerimientos son una descripcin de las necesidades o deseos de un producto. La meta primaria de sta fase es identificar y documentar lo que en realidad se necesita, en una forma que claramente se lo comunique al cliente y a los miembros del equipo de desarrollo ACTIVIDADES DE LA CONCEPTUALIZACION Se recomiendan los siguientes artefactos en la fase de requerimientos: 1.1) Enunciar el problema 1.2) Requerimientos funcionales: Casos de uso 1.3) Requerimientos no funcionales 1.4) Estudio de factibilidad El objetivo de esta fase es comunicarse con el usuario final y documentar los requerimientos. Los requerimientos son discutidos con el cliente. Si es posible, debera participar en la escritura de esos casos. De todas maneras los casos de uso debieran ser escritos de tal forma que el cliente pudiera entenderlos y hacerles comentarios. En las etapas posteriores todo debe ser revisado contra los casos de uso y los requerimientos no funcionales. Finalmente los casos de uso forman el conjunto bsico de pruebas a que se somete la aplicacin resultante [Jaaksi98a].

1.1) ENUNCIADO DEL PROBLEMA. Actualmente la biblioteca del Departamento de Ingeniera Informtica de la Universidad de Santiago atiende a tres tipos de usuarios distintos: alumnos de pre grado (ingeniera civil y de ejecucin en informtica), memoristas (alumnos terminales de las carreras ya mencionadas) y de post grado (magister en ingeniera en informtica). Estos usuarios solicitan y devuelven los libros, apuntes, revistas, folletos, diarios, memorias y otros materiales en una ventanilla de atencin nica. Para pedir el material en prstamo el usuario debe presentar un carn que lo que acredite como alumno activo. La bibliotecaria revisa el carn y anota sus datos en una ficha de prstamo que posee cada material. Los periodos mximos de prstamo de material difiere, dependiendo del tipo de usuario. Se desea un sistema para apoyar el prstamo de este material que incluye adems manuales de software, revistas de investigacin y libros tcnicos del rea informtica. La idea es apoyar los prstamos de una manera automatizada, la cual permitir ingresar datos de prstamo, registrar devoluciones, renovar prstamos, reservar, etc. Tambin es necesario proveer facilidades de administracin del sistema para modificar parmetros, por ejemplo perodos mximos de prstamo por tipo de usuarios de la biblioteca, etc. Tambin interesa producir informacin resumida (estadsticas) de morosos, material prestado, cunto material tiene un usuario determinado, cuntas veces se ha pedido un material especfico, etc. El usuario final de este sistema ser la Bibliotecaria.

1.2) REQUERIMIENTOS FUNCIONALES: CASOS DE USO Los casos de uso se han transformado en una de las herramientas ms aceptadas de la comunidad orientada al objeto. Ivar Jacobson los ha definido de la siguiente forma: cuando un usuario utiliza el sistema, ella o l deber ejecutar una secuencia relacionada de transacciones mediante un dilogo con el sistema. Esa secuencia especial es llamada caso de uso [Jaaksi98b]. Un caso de uso describe una funcin que el sistema debe permitirle al actor realizar. Un caso de uso puede iniciar a otro caso de uso.
Actor : Un actor es cualquier entidad que interacta con el sistema, por ejemplo : un usuario, otro sistema.

Caso de uso : Es una operacin/tarea especfica que se realiza tras una orden de algn agente externo, sea desde una peticin de un actor o bien desde la invocacin desde otro caso de uso.

Relacin Actor Caso de uso : Es el tipo de relacin ms bsica que indica la invocacin desde un actor hacia un caso de uso. Dicha relacin se denota con una flecha simple. Relacin entre casos de uso : es una relacin o vnculo que indica la llamada desde un caso de uso a otro. Podemos agregar tambin que estas relaciones pueden ser de distintos tipos, entre ellas, las siguientes :

``usa'' ( <<uses>>) Relacin de dependencia entre dos casos de uso que denota la inclusin del comportamiento de un escenario en otro. ``extiende'' (<< extends>>): Relacin de dependencia entre dos casos de uso que denota que un caso de .uso es una especializacin de otro.

10

11

MODELOS DE CASOS DE USOS


DIAGRAMA DE CASOS DE USOS Un diagrama de casos de uso (Use Case Diagram) es una representacin grfica de parte o el total de los actores y casos de uso del sistema, incluyendo sus interacciones.

Un actor es una entidad que utiliza alguno de los casos de uso del sistema. Se representa mediante el smbolo de la figura 2.1 acompaado de un nombre significativo, si es necesario.

En el ejemplo observamos un nico actor representando a la bibliotecaria, aunque en un modelo de casos de uso ms detallado se podra incluir otro actor para responsable del mantenimiento del material de biblioteca.

Figura 2.1: Actor

12

Relaciones de Casos de Uso Las tres relaciones principales entre los casos de uso son soportadas por el estndar UML, el cual describe notacin grfica para esas relaciones. Inclusin (Include) o (use) Extensin (Extend) Generalizacin

1) Inclusin (Include) o (use)


Es una forma de interaccin, un caso de uso dado puede "incluir" otro. El primer caso de uso a menudo depende del resultado del caso de uso incluido.

Prestar material Bibliotecaria

<<incluye>> DEBE

Verificar disponibilida d

Regla de negocio: Previo a otorgar el prstamo debe verificar su disponibilidad Un incluye es como una llamada a un procedimiento Una relacin include entre dos Casos de Uso indica que el comportamiento definido en el Caso de Uso a adicionar, es incluido en un lugar dentro de la secuencia del comportamiento realizado por una instancia del Caso de Uso base. Cuando una instancia del Caso de Uso llega al lugar donde el comportamiento de otro Caso de Uso debe ser incluido, ejecuta todo el comportamiento descrito por el Caso de Uso incluido y luego contina de acuerdo a su Caso de Uso original. El Caso de Uso incluido no depende del Caso de Uso base. En este sentido, el Caso de Uso incluido representa comportamiento encapsulado que puede ser rehusado en varios Casos de Uso.

13

2) Extensin (Extend)
La relacin extensin establece que un Caso de Uso puede ser extendido con algn comportamiento adicional definido en otro Caso de Uso. La relacin contiene una condicin y referencia una secuencia de puntos de extensin en el Caso de Uso base. Una vez que la condicin es evaluada, si se cumple, la secuencia de la instancia se extiende para incluir la secuencia del Caso de Uso extensin. La notacin es una flecha rayada desde el caso de uso extensin al caso de uso extendido, con la etiqueta extensin. Esto puede ser til para lidiar con casos especiales, o para acomodar nuevos requisitos durante el mantenimiento del sistema y su extensin. Prestar material Bibliotecaria <<incluye>> DEBE Verificar disponibilida d <<extensin>> PUEDE Contabilizar rechazos Regla de negocio: En el caso de uso Verificar disponibilidad si no est disponible el material (condicin), entonces se extiende el caso de uso Contabilizar rechazos, seguramente esto permitir tomar decisin de adquirir o no ms copias del material.

14

3) Generalizacin/especializacin
Un caso de uso dado puede estar en una forma especializada de un caso de uso existente. La notacin es una lnea slida terminada en un tringulo dibujado desde el caso de uso especializado al caso de uso general. Una relacin de generalizacin entre Casos de Uso implica que el Caso de Uso hijo hereda todos los atributos, secuencias de comportamiento, puntos de extensin y relaciones definidos en el Caso de Uso padre. El Caso de Uso hijo puede definir nuevas operaciones, como tambin redefinir o enriquecer con nuevas secuencias de acciones operaciones ya existentes en el Caso de Uso padre. Para distinguir si la especializacin est redefiniendo una operacin del padre o agregndole secuencias de acciones, sugerimos la inclusin de un estereotipo (elemento de UML) <<redefine>> para el primer caso o <<enriquece>> para el segundo, en la operacin en cuestin. <<incluye>> DEBE Verificar disponibilida d <<extensin>> PUEDE Contar rechazos

Prestar material Bibliotecaria <<redefine>>

Prestar On-line Material Caso de uso especializado Alumno

Regla de negocio: Los prstamos que se realizan a travs de intranet, requieren de requerimientos adicionales al prstamo fsico del material

15

<<incluye>>

<<extiende>>

<<redefine>> / <<enriquece>> Un Caso de Uso hijo hereda todos los atributos, secuencias de comportamiento del padre. El Caso de Uso hijo puede definir nuevas operaciones <<redefine>>, como tambin redefinir o enriquecer <<enriquece>> con nuevas secuencias de acciones

Un caso de uso dado debe Un Caso de Uso puede ser "incluir" otro extendido con algn comportamiento adicional definido en otro Caso de Uso utilizaremos una relacin tipo << uses>> cuando nos encontramos con una parte de comportamiento similar en dos casos de uso y no queremos repetir la descripcin de dicho comportamiento comn. Mientras, en una relacin <<include>> el actor que realiza el caso de uso base tambin realiza el caso de uso incluido. y <<include>> cuando se repite un comportamiento en dos casos de uso y queremos evitar dicha repeticin. Se utiliza una relacin de tipo <<extends>> entre casos de uso cuando nos encontramos con un caso de uso similar a otro pero que hace algo ms que ste (variante). En una relacin << extends>>, un actor que lleve a cabo el caso de uso base puede realizar o no sus extensiones. En general utilizaremos <<extends>> cuando se presenta una variacin del comportamiento normal

Prestar material Bibliotecaria <<redefine>> Prestar On-line Material Estudiante

<<incluye>>

Verificar disponibilida d <<extensin>> Contar rechazos

16

MODELOS DE CASOS DE USOS


Llamamos modelo de casos de uso a la combinacin de casos de uso y sus correspondientes diagramas. Los modelos de casos de uso se suelen acompaar por un glosario que describe la terminologa utilizada. El glosario y el modelo de casos de uso son importantes puntos de partida para el desarrollo de los diagramas de clases. A) DIAGRAMA PRINCIPAL O GENERAL DE CASOS DE USOS Todo sistema tiene como mnimo un diagrama Main Use Case, que es una representacin grfica del entorno del sistema (actores) y su funcionalidad principal (casos de uso).

Prestar material <incluye> <incluye> <incluye> Reservar material Consultar Material Devolver material

<incluye> Ver disponibilida d <incluye> <extensin> Contar rechazos

Validar alumno

<incluye> Emitir informes <incluye> Agregar material Modificar material

Emitir estadstica Emitir morosos

<incluye> <incluye> <incluye>

Bibliotecaria

Eliminar material Autenticar usuario

Mantener material

Administrador

Fig. 2.2 Diagrama principal de casos de uso


17

b) CASO DE USO DE GENERALIZACIN Y HERENCIA


Estereotipo= compartir

Bibliotecaria Autentificar usuario Usuario

Administrador Diagrama de casos de uso para autentificacin de usuario, ( Las relaciones de los actores con el actor usuario son herencia o generalizacin.)

Esta generalizacin se ha efectuado pues existen algunos casos de uso en los que, tanto el Alumno como el Profesor comparten acciones similares, de esta forma, la generalizacin y herencia permiten establecer un usuario en comn Alumno/Usuario que llevar a cabo las funciones en comn del Alumno y el Profesor en los casos de uso que as lo necesiten. Adems, ste es un caso de uso de estereotipo (actores que comparten un mismo caso de uso), dado que los actores son dos: Bibliotecaria y Administrador, cada uno de ellos accede al caso de uso de autentificacin de usuario, para no especificar en todos los diagramas que los usuarios son autentificados hacemos este tipo de referencia concluyendo que cada uno de ellos es autentificado en el sistema por el caso de uso.
18

c) CASO DE USO PATRN

Navegar la Tablas
<incluye> <incluye> <incluye>

Mantenedor de Tablas

Agregar en Tablas

Administrador

<incluye>

Modificar en Tablas

Eliminar en Tablas

Diagrama de casos de uso para mantener tablas. A travs de ste modelo de casos de uso se representan a todos aquellos casos de uso que mantienen a tablas, evitando as diagramar separadamente uno por cada tabla a mantener. El mantenedor contiene o incluye una serie de otros casos de uso orientados a satisfacer las necesidades bsicas de una mantencin de tablas, entre ellas encontramos las funciones mas comunes como : agregar, modificar, eliminar y las opciones de navegacin de registro (ir a registro siguiente, anterior, primero o ltimo ). Este patrn de casos de uso esta orientado principalmente a las tareas de Administracin de sistema y se aplica a todas aquellas tablas que requieren de una gestin manual y no son modificables por usuarios comunes.

19

d) CASOS DE USO PARA ACTOR BIBLIOTECARIA


Prestar material <incluye> <incluye> <incluye> Reservar material Consultar Material Devolver material <incluye> Emitir informes <incluye> Autenticar usuario Bibliotecaria <incluye> <incluye> Ver disponibilida d <extensin> Contar rechazos

Validar alumno

Emitir estadstica Emitir morosos

d) CASOS DE USO PARA ACTOR ADMINISTRADOR


Agregar material <incluye> Modificar material <incluye> Eliminar material <incluye> Mantener material

Administrador
Autenticar usuario

OBSERVACIN: Todos los diagramas presentados son a modo de ejemplo de representar la diversidad de diagramas, sin embargo el caso de Biblioteca que estamos revisando considerar que tiene slo un usuario, que es la bibliotecaria 20

CASOS DE USO PARA ACTOR BIBLIOTECARIA


Prestar material <incluye> <incluye> <incluye> Reservar material Consultar Material Devolver material

Validar alumno

Emitir Estadstica

Autenticar usuario Bibliotecaria <incluye> Mantener material <incluye> <incluye>

Agregar material

Modificar material

Eliminar material

21

DESCRIPCIN EXTENDIDA DE CASOS DE USO PARA EL ALUMNO A continuacin se presentan los casos de uso mediante la estructura propuesta por Jaaksi [Jaaksi98b]. Es importante mencionar que un caso de uso lo inicia un actor, el que es explicitado en el caso de uso. Primero enlistaremos todos los casos de uso para el sistema 1. 2. 3. 4. 5. 6. 7. 8. Logear usuario (bibliotecaria) Validar alumno Prestar material. Consultar material en sala Reservar material. Mantener material. Devolver material. Emitir estadstica de prstamos.

Veremos la descripcin extendida de los casos de uso, en ella se encuentra la descripcin detallada de cada caso de uso utilizado en los diagramas de caso de uso presentados anteriormente, su funcionamiento y los detalles asociados que sern requerimientos para desarrollar la aplicacin.

22

CASO DE USO 2: VALIDAR ALUMNO


In r a i A m o fo m c n lu n D to d l A m o a s e lu n N m roru u e t A . P ten p a ro Nmr s o be A . M ten p a ro Inom c nA a o f r a i tr s s Bs a uc r

Cr r area

M n d Ac n s e e c io e

P s m r ta o

Cn u o s lta

Rs r a e ev

S lir a

P s md r ta o e M teia a r l

Cn u d o s lta e M teia a r l

R s rv d ee a e M teia a r l

S te ad is m e B lio c ib te a

2. Validar alumno. Descripcin

El caso de uso validar alumno, permite comprobar que el alumno se encuentra registrado como usuario de la biblioteca, lo que debe corroborarse antes de realizar una reserva, una consulta en sala o prstamo para la casa Actores Bibliotecaria Pre condiciones El usuario (bibliotecaria) debe estar autentificado Flujo normal o escenario exitoso Responsabilidad del Actor Responsabilidad del Sistema 1. Habilita el ingreso del rut del alumno y el botn buscar y el botn salir 2. Ingresa rut 3. Acepta rut (botn Buscar) 4. Valida el ingreso del rut (digitacin) 5. Valida que alumno sea usuario de biblioteca 6. Despliega datos del alumno y activa los casos 7. Selecciona un caso de de uso Prstamo, Consulta y Reserva uso Prstamo, Consulta o Reserva 8. El sistema deriva al caso de uso seleccionado 9. Fin del caso de uso Flujo alternativo 1: Valida el ingreso del rut (digitacin). Si rut fue mal ingresado Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega mensaje de rut mal ingresado y 2. Acepta el mensaje habilita botn Aceptar (botn Aceptar) 3. Fin flujo alternativo 1 Flujo alternativo 2: Valida que alumno sea usuario de biblioteca. Si no es usuario Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega mensaje de alumno no registrado como usuario de biblioteca y habilita botn 2. Acepta el mensaje Aceptar (botn Aceptar) 3. Fin flujo alternativo 2 Post condicin El usuario es derivado a registrar un prstamo, una consulta o una reserva 23

24

CASO DE USO 3: PRESTAR MATERIAL


P s mMe a r t o ar l a t i DodlMe a a se a r l t t i Ci oe g dl d Mea ar l t i Tl iu t o E ao sd t Ao ur t B cr ua s

M e ci ns e d A oe n c Aga s nr i Si a lr

3. Prestar material Descripcin El caso de uso solicitar un material en prstamo, permite registrar un prstamo siempre y cuando las condiciones estn dadas Actores Bibliotecaria Pre condiciones Validacin de alumno Flujo normal o escenario exitoso Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega ventana de prstamo, habilita el ingreso del cdigo del libro del alumno y el botn buscar y salir 2. Ingresa cdigo del material 3. Acepta (botn Buscar) 4. Valida que exista el material en biblioteca 5. Valida disponibilidad del material 6. Verifica que alumno cumpla con las condiciones para el prstamo 7. Busca si el material lo tena reservado y lo elimina de la lista de reserva 8. Despliega datos del material y alumno, adems activa el botn Asignar Prstamo 10. Asigna el material en prstamo (clic en botn) 11. Registra en BD el prstamo 12. Fin del caso de uso Flujo alternativo 1: Valida que exista el material en biblioteca (4). Si no existe Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega mensaje que no existe el material y 2. Acepta el mensaje habilita botn Aceptar (botn Aceptar) 3. Fin flujo alternativo 1 Flujo alternativo 2: Valida disponibilidad del material(5). Si no est disponible Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega mensaje de material no disponible y 2. Acepta el mensaje habilita botn Aceptar (botn Aceptar) 3. Fin flujo alternativo 2 Flujo alternativo 3: Verifica que alumno cumpla condiciones prstamo(6). Si no 1. Despliega mensaje de que alumno no cumple con condiciones y habilita botn Aceptar 2. Acepta el mensaje (botn Aceptar) 3. Fin flujo alternativo 3
M sj s ea n e I f r ai n nm o c Am l n u o

25

Post condicin Al usuario le queda registrado un prstamo a su haber

CASO DE USO 4: CONSULTA MATERIAL EN SALA PRSTAMO EN SALA


C nu d M o s lta e aterial D sd M ato el aterial C d od l ig e M te l a ria T lo tu E d sta o A to u r B sca u r

M d A c n en e c io es A nr sig a S lir a

M n je e sa s In rm ci fo a n 4.- Consulta en sala A mo lu n Descripcin Registra material asignado como prstamo en sala Actores Bibliotecaria Pre condiciones Validacin de alumno Flujo normal o escenario exitoso Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega ventana de prstamo en sala, habilita el ingreso del cdigo del libro y el botn buscar y salir 2. Ingresa cdigo del material 3. Acepta cdigo (botn Buscar) 4. Valida que exista el material en biblioteca 5. Valida disponibilidad del material 6. Despliega datos del material y alumno, adems activa el botn Asignar Prstamo en sala 7. Asigna el material en consulta (clic en botn) 8. Registra en BD el prstamo en sala 9. Fin del caso de uso Flujo alternativo 1: Valida que exista el material en biblioteca (4). Si no existe Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega mensaje que no existe el material y habilita botn Aceptar 2. Acepta el mensaje (botn Aceptar) 3. Fin flujo alternativo 1 Flujo alternativo 2: Valida disponibilidad del material(5). Si no est disponible Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega mensaje de material no 2. Acepta el mensaje disponible y habilita botn Aceptar (botn Aceptar) 3. Fin flujo alternativo 2 Post condicin

26

Al usuario le queda registrado un prstamo de consulta en sala

27

CASO DE USO 5: RESERVA DE MATERIAL


R s r a d M te ia e ev e a r l D to d l M te ia a s e a r l C d od l ig e M te l a ria T lo tu E ta oL ta s d is A to u r Bs r u ca

M n d Ac n s e e c io e R s rv r ee a S lir a

Mn a s e s je

5. Reserva de material Descripcin Registra la reserva de un material Consulta en Sala Actores Bibliotecaria Pre condiciones Validacin de alumno Cod-mat Flujo normal o escenario exitoso Titulo Autor Responsabilidad del Actor Responsabilidad del Sistema Estado 1. Despliega ventana de reserva de material, habilita el ingreso del cdigo ) del libro y Buscar( el botn buscar y salir AsignarConsulta( ) Salir() 2. Ingresa cdigo del material 3. Acepta cdigo (botn Buscar) 5. Valida que exista el material en biblioteca 6. Valida disponibilidad del material 7. Despliega datos del material y alumno, 4. Asigna el material adems activa el botn Asignar reserva de en reserva (clic en botn) material 8. Registra en BD el prstamo en sala 9. Fin del caso de uso Flujo alternativo 1: Valida que exista el material en biblioteca (4). Si no existe Responsabilidad del Actor Responsabilidad del Sistema 2. Despliega mensaje que no existe el material y habilita botn Aceptar 3. Acepta el mensaje (botn Aceptar) 4. Fin flujo alternativo 1 Flujo alternativo 2: Valida disponibilidad del material(5). Si no est disponible Responsabilidad del Actor Responsabilidad del Sistema 2. Despliega mensaje de material no 4. Acepta el mensaje disponible y habilita botn Aceptar (botn Aceptar) 5. Fin flujo alternativo 2 Post condicin 28

In rm c n fo a i A mo lu n

Al usuario le queda registrado un prstamo a su haber

29

CASO DE USO 6: MANTENEDOR DE MATERIAL


Mne e o Mt r l a t n d r aeia Dt s e Mt r l ao d l aeia Cd od l ig e Mteia ar l To ip T lo tu A to ur Dta e lle Bs a uc r

Mn d Aco e e e ci n s Neo uv Mdic r o if a E in r lim a Slir a

Mn a e s je

S t md ise a e B lioe a ib t c

6. Mantenedor de material Descripcin Permite mantener actualizada las existencias de materiales Actores Bibliotecaria Pre condiciones Validacin de usuario Flujo normal o escenario exitoso Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega ventana de mantencin de material, habilita el ingreso del cdigo del libro y el botn buscar y salir 2. Ingresa cdigo del material 3. Acepta cdigo (botn Buscar) 4. Valida que exista el material en biblioteca 5. Despliega datos del material y los deja habilitado para posible modificaciones y habilita 6. Ingresa datos a la posibilidad guardar Modificaciones o modificar Eliminar 7. Selecciona Modificar (clic en Modificar) 8. Actualiza la BD con la modificacin del 9. Selecciona material Eliminar (clic en botn Eliminar) 10. Actualiza la BD con la eliminacin del material 11. Fin del caso de uso Flujo alternativo 1: Valida que exista el material en biblioteca (4). Si no existe , permite ingresar el material como nuevo Responsabilidad del Actor Responsabilidad del Sistema 1. Habilita campos para ingresar datos del nuevo material y habilita botn Guardar nuevo 2. Acepta el guardar nuevo material (botn Nuevo) 3. Fin flujo alternativo 1 Post condicin 30

Las existencias de materiales quedan actualizadas en la BD

31

CASO DE USO 7: DEVOLVER MATERIAL


D o c n e a ra e l i d Me l v u t i DodlMe a a se a r l t t i Ci oe g dl d Mea ar l t i Tl u t o Eao sd t Ao ur t B cr ua s

M e ci ns e d A oe n c Do c n el i vu Si a lr

M sj s ea n e I f r ai n nm o c Am l n u o

7. Devolver material Descripcin Registra la devolucin de un material Actores Bibliotecaria Pre condiciones Validacin de alumno Flujo normal o escenario exitoso Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega ventana devolucin de material, habilita el ingreso del cdigo del libro y el botn buscar y salir 2. Ingresa cdigo del material 3. Acepta cdigo (botn Buscar) 9. Valida que exista el prstamo de ese material 10. Despliega datos del material prestado, habilita campo estado y habilita el botn 7. Si se requiere Devolucin de material ingresa estado del material 8. Selecciona registrar devolucin del material (clic en botn) 9. Registra en BD la devolucin 10. Fin del caso de uso Flujo alternativo 1: Valida que exista el registro de material prestado (4). No existe registro del prstamo del material Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega mensaje que no existe registro de prstamo para ese material y habilita 2. Acepta el mensaje botn Aceptar (botn Aceptar) 3. Fin flujo alternativo 1 Post condicin El material queda disponible para un nuevo prstamo

32

CASO DE USO 8: EMITIR ESTADISTICA DE PRSTAMO EN UN PERIODO


In rm fo es D sd In rm ato el fo e F ch In e a icio P ro o In rm e d fo e

T xto In rm e fo e

M d A c n en e c io es

Vr e

Im rim p ir

S lir a

S m d iste a e B lio ca ib te

8. Emitir informe estadstico de prstamos Descripcin Emitir un estadstico de prstamo dentro de un periodo determinado Actores Bibliotecaria Pre condiciones Logeo de usuario Flujo normal o escenario exitoso Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega ventana de emisin de estadstica de prstamos, habilita los campos para seleccionar fecha desde hasta el cual se desea obtener el informe estadstico y habilita ver y salir 2. Selecciona periodo (desde y hasta) 3. Acepta ver informe estadstico (botn ver) 4. Habilita la posibilidad de imprimir la estadstica 5. Acepta imprimir (botn imprimir) 6. Enva estadstica a imprimir 7. Fin del caso de uso Flujo alternativo 1: Valida que exista el registro de material prestado (4). No existe registro del prstamo del material Post condicin No hay

33

II FASE ANALISIS ORIENTADO A OBJETO


INDICE INFORME DE ANLISIS ORIENTADO A OBJETOS Introduccin Anlisis de objetos Descripcin de Casos de Uso Identificar clases u objetos (Sustantivos) Diagrama de objetos Anlisis de comportamiento Descripcin de operaciones por casos de usos Lista de operaciones para la aplicacin Especificacin de interfaz Diagrama de dilogos Funciones que realiza cada ventana de dilogo Especificacin de Componentes Diseo de la interfaz grfica utilizando lenguaje Conclusiones Bibliografa Autoevaluacin

OBJETIVO DE LA FASE DE ANALISIS El propsito del anlisis es comprender el dominio del problema y el sistema a ser implementado. La fase de anlisis est basada sobre un conjunto de requerimientos y casos de uso, y la fase incluye las siguientes tareas: Anlisis de Objeto Anlisis de Comportamiento Especificacin de Interfaz del usuario ACTIVIDADES DEL ANALISIS El anlisis de objeto consiste en especificar todos los conceptos claves relacionados al sistema a ser desarrollado. Esto produce un Modelo de Anlisis de Objeto, que documenta los conceptos del dominio del problema. El anlisis de comportamiento define las operaciones que el usuario realizar con el sistema. El anlisis de comportamiento modela el sistema como una caja negra, o sea, modela slo la funcionalidad externa del sistema y produce una Lista de Operaciones. El sistema final debe soportar la realizacin de todas las operaciones incluidas en la lista. Sin embargo, la Lista de Operaciones y el Modelo de Anlisis de Objeto son modelos separados, las operaciones incluyen y usan los conceptos definidos por el modelo de objeto. A esta altura del desarrollo. An la lista de operaciones no est relacionada como funcionales de las clases de del modelo de objeto. As el modelo de anlisis de objeto incluye pocas operaciones; tpicamente, slo clases y sus atributos.
34

Especificacin de la interfaz de usuario es una entidad intermedia entre el usuario final y la aplicacin. sta debe ser capaz de representar los objetos de la aplicacin tal como el usuario comprendi las relaciones entre la representacin y el mundo real. A un nivel ms alto podemos ver la interfaz grfica usuaria como una coleccin de dilogos. Para simplificar el concepto, todos los dilogos y ventanas son llamados dilogos. Cada dilogo posee uno o ms componentes. Un componente es una coleccin de elementos del sistema de ventanas. Cada componente consiste de herramientas, tales como botones y campos de textos. Las herramientas pueden ser herramientas de manipulacin que el usuario necesita para controlar la aplicacin, o herramientas de feedback que la aplicacin necesita para presentar cosas al usuario final. Los contenidos para los dilogos son definidos de acuerdo a la Lista de Operaciones.

Requerimientos del Cliente

AOO

Anlisis de Objeto

Anlisis de Comportamiento

Especificacin de Interfaz Usuaria

Modelo de Objetos

Especificacin de Operaciones

Diagramas de Dilogos

Diagramas de Componentes

DOO

Diseo de Objeto

Diseo de Comportamiento

Modelo de Objeto de Diseo

Traza de Eventos

Mquina de Estados

POO

Especificacin de Clases

Implementacin de Clases

Declaracin de Implementacin Clases de Mtodos Ilustracin 1: Tcnica de modelamiento de objeto en C++ (OMT++)

35

2.1 Anlisis de objetos.


De la captura de requerimientos se asume que la aplicacin tiene como objetivo proveer la funcionalidad de administrar, por parte de la bibliotecaria tanto las reservas, como prstamos y devoluciones de material bibliogrfico (memorias, manuales, revistas y libros), solicitado por los alumnos, adems de mantener el material y emitir informe estadstico de prstamos. Por tanto los conceptos clave de esta aplicacin son: alumno, material, bibliotecaria, informe. 2.1.1. Descripcin de Casos de Uso (Quin, Qu, Cmo/Cuando/Donde/Para)

2. Validar alumno La bibliotecaria se valida la condicin del alumno para registrar un prstamo, consulta o reserva de un material 3. Prestar material La bibliotecaria valida la existencia y disponibilidad del material para asignar el prstamo al alumno 4. Consultar material en sala La bibliotecaria valida la existencia y disponibilidad del material para asignar la consulta al alumno 5. Reservar material La bibliotecaria registra reserva del material para asignar un posterior prstamo al alumno 6. Mantener material La bibliotecaria registra ingreso, modificacin o eliminacin de material para su posterior solicitud de parte de alumnos Devolver material La bibliotecaria registra la devolucin de material para su posterior solicitud de parte de alumnos 8. Emitir estadstico La bibliotecaria emite informe estadstico de prstamos solicitados por los alumnos

36

2.1.2. Identificar clases u objetos (Sustantivos) De la descripcin de casos de usos se identificaron los objetos que a de contener la aplicacin a desarrollar Objetos Bibliotecaria Alumno Material Informe Diagrama clases u objetos (Modelo de Anlisis de Objetos)

2.1.3.

El diagrama de clases representa a todas las clases identificadas para la aplicacin, desprendidas de los casos de usos.

Bibliotecaria
1 1 1 Valida 1..* Mantiene Emite 1..*

Informe

1..*

Alumno
1..* Solicita, Consulta, 1..* Reserva, Devuelve

Material

(La lneas de relacin mencionan a los casos de usos.)

37

2.2. Anlisis de comportamiento.


El anlisis de comportamiento produce una lista de operaciones, la cual es construida sobre la base de los casos de uso. Del anlisis de los casos de usos se desprenden las siguientes operaciones que son las que realizar el usuario con la aplicacin: 2.2.1. Descripcin de todas las operaciones por caso de uso Caso de uso 1: Validar alumno (tomar el caso de uso y considerar slo las operaciones que realiza el ACTOR) Operaciones: ingresar rut, Aceptar rut, Seleccionar prstamo, Seleccionar consulta, Seleccionar reserva, Aceptar mensaje Caso de uso 2: Prestar material Operaciones: Ingresa cdigo del material, Aceptar cdigo, Asignar el material en prstamo, Aceptar mensaje Caso de uso 3: Consulta en sala Operaciones: Ingresa cdigo del material, Aceptar cdigo, Asignar el material en consulta, Aceptar mensaje Caso de uso 4: Reservar material Operaciones: Ingresa cdigo del material, Aceptar cdigo, Asignar el material en reserva, Aceptar mensaje Caso de uso 5: Mantener material Operaciones: Ingresa cdigo del material, Aceptar cdigo, Ingresar datos a modificar, Seleccionar modificar, Seleccionar eliminar, Aceptar nuevo material Caso de uso 6: Devolver material Operaciones: Ingresa cdigo del material, Aceptar cdigo, Ingresar estado de material, Seleccionar devolver material, Aceptar mensaje Caso de uso 7: Emitir estadstica de prstamos Operaciones: Selecciona periodo (desde y hasta), Aceptar ver informe estadstico, Aceptar imprimir

38

2.2.2. Lista de operaciones para la aplicacin De acuerdo al anlisis de los casos de usos, se definen las siguientes operaciones para la aplicacin: 1. Ingresar rut 2. Aceptar rut 3. Seleccionar prstamo 4. Seleccionar consulta 5. Seleccionar reserva 6. Aceptar mensaje 7. Ingresa cdigo del material 8. Aceptar cdigo 9. Asignar el material en prstamo 10. Asignar el material en consulta 11. Asignar el material en reserva 12. Ingresar datos a modificar 13. Seleccionar modificar 14. Seleccionar eliminar 15. Aceptar nuevo material 16. Ingresar estado de material 17. Seleccionar devolver material 18. Selecciona periodo (desde y hasta) 19. Aceptar ver informe estadstico 20. Aceptar imprimir 21. Salir del sistema

39

2.3. Especificacin de la interfaz de usuario.


La interfaz de usuario es la encargada de transmitir las rdenes que el usuario realiza al programa y al mismo tiempo presentar informacin de retroalimentacin al usuario. Esta interfaz est compuesta por varias ventanas que se relacionan entre s por medio de acciones, las cuales pueden ser: presionar un botn, seleccionar un men. 2.3.1. Diagrama de Dilogos: En aspectos generales, la interfaz de usuario del sistema de biblioteca, esta compuesta de nueve ventanas de dilogo, que realizan las distintas tareas del sistema.

Informe Estadstico Hace:18,19,20

Devolucin Material Hace:7,8,16,17

Salir

Selecciona Informe

Selecciona devolucin

Sistema Bibliotecaria Hace:21


Salir
Solicita mantencin Selecciona

Salir
Asigna prstamo

Prstamo Material Hace:7,8,9

Informacin
Asignar
Asigna reserva

Mantencin Materiales Hace:7,8,12,13,14,15

Informacin Alumno Hace:1,2,3,4,5

Consulta Material Hace:7,8,10

Salir

Mensaje Hace:6

Aceptar

Reserva Material Hace:7,8,11

Mensaje 40

2.3.2. Funciones que realiza cada ventana de dilogo Cada ventana de dilogo realiza funciones propias y para pasar entre las ventanas el usuario debe realizar una accin, ya sea seleccionando un men o apretando algn botn. (Estas funciones se obtienen desde la redaccin de los casos de uso en lo que respecta a la responsabilidad del sistema La ventana de dilogo Sistema de Biblioteca es la ventana principal sus funciones son: Obtener la hora y fecha del sistema. Seleccin del men Validar Alumno (informacin del alumno). Seleccin del men Devolucin Seleccin del men Informes Seleccin del men Mantenedor Salir de la aplicacin. (21) La ventana de dilogo Informacin Alumno es la encargada de validar al usuario de la biblioteca dependiendo de su ltima matrcula y de sus atrasos en la devolucin de material, sus funciones son: Ingresar el nmero de rut del alumno. (1) Buscar informacin de alumno (Validar el ingreso del nmero de rut del alumno. / Validar que el alumno sea usuario de la biblioteca / Desplegar informacin del alumno) (2) Seleccionar men Prstamo. (3) Seleccionar men Consulta. (4) Seleccionar men Reserva. (5) Seleccionar Salir o volver La ventana de dilogo Prstamo de Material se encarga de asignar el material en prstamo a los usuarios y sus funciones son: Ingresar cdigo de material. (7) Buscar informacin del material (Validar que exista el material en biblioteca / Validar disponibilidad del material / Verificar que alumno cumple condicin para el prstamo / Buscar si el alumno estaba en nmina de reserva del material / Desplegar datos del material). (8) Asignar material en prstamo a alumno. (9) Seleccionar Salir o volver La ventana de dilogo Consulta de Material se encarga de asignar el material en consulta a los usuarios y sus funciones son: Ingresar cdigo de material. (7)
41

Buscar informacin del material (Validar que exista el material en biblioteca / Validar disponibilidad del material / Desplegar datos del material) (8) Asignar material en consulta a alumno. (10) Seleccionar Salir o volver

La ventana de dilogo Reserva de Material se encarga de asignar al usuario a una lista de reserva para cada material, sus funciones son: Ingresar cdigo de material. (7) Buscar informacin del material (Validar que exista el material en biblioteca / Validar disponibilidad del material / Desplegar datos del material) (8) Agregar al alumno en la lista de reserva. (11) Seleccionar Salir o volver La ventana de dilogo Mensajes se encarga de desplegar los mensajes de error o de alerta al usuario del sistema, sus funciones son: Aceptar el mensaje (6) La ventana de dilogo Devolucin de Material es la encargada de actualizar el sistema cuando un usuario de la biblioteca devuelve el material que se le haba prestado o entregado en consulta, sus funciones son: Ingresar cdigo de material. (7) Buscar informacin del prstamo (Valida que exista el prstamo del material / Desplegar informacin del prstamo) (8) Ingresar estado del material (16) Actualizar BD con devolucin de material. (17) Seleccionar Salir o volver La ventana Informes es la encargada de generar los informes y de desplegarlos ya sea por pantalla o por impresora, sus funciones son: Ingresar periodo: fecha desde y hasta (18) Seleccionar ver informe (19) Seleccionar imprimir (20) Seleccionar Salir o volver La ventana Mantenedor de Material es la encargada de actualizar los registros del material disponible, ingresar nuevo material y eliminar el material que no tiene uso, sus funciones son: Ingresar cdigo de material. (7) Buscar informacin del material (Valida que exista el material / Desplegar informacin del material) (8) Ingresar datos del material (12) Seleccionar modificar, para actualizar BD (13) Seleccionar eliminar, para actualizar BD (14) Seleccionar agregar, para actualizar BD (15)
42

Seleccionar Salir o volver

43

2.3.3. Especificacin de Componentes Las ventanas de dilogo poseen componentes y los componentes se pueden dividir entre herramientas de manipulacin y herramientas de retroalimentacin. Tomando como base los diagramas de dilogo, se pueden clasificar los componentes de cada ventana de acuerdo su funcionalidad como herramientas, tanto de manipulacin como de retroalimentacin:
Ventana de Dilogo Sistema de Biblioteca Herramientas de Retroalimentacin DATOS Iniciar la aplicacin (Obtener la hora y fecha Fecha Hora del sistema). Herramientas de Manipulacin (operaciones que el usuario hace) OPERACIONES

Informacin Alumno

Prstamo de Material

Seleccionar men Validar Alumno (informacin del alumno). Seleccionar men Devolucin Seleccionar men Informes Seleccionar men Mantenedor Salir de la aplicacin. Ingresar el nmero de rut del alumno. Buscar informacin de alumno (Validar el ingreso del nmero de rut del alumno. / Validar que el alumno sea usuario de la biblioteca / Desplegar informacin del alumno) Seleccionar men Prstamo. Seleccionar men Consulta. Seleccionar men Reserva. Seleccionar Salir o volver Ingresar cdigo de material. Buscar informacin del material (Validar que exista el material en biblioteca / Validar disponibilidad del material / Verificar que alumno cumple condicin para el prstamo / Buscar si el alumno estaba en nmina de reserva del material / Desplegar datos del material). Asignar material en prstamo a alumno. Seleccionar Salir o volver

Entrada (ingreso o seleccin) Nmero de Rut Salida (despliegue) Nombres Apellido Paterno Apellido Materno Carrera Alumno Informacin Atrasos Entrada Cdigo de Material Salida Ttulo Autor Estado

44

Consulta de Material

Ingresar cdigo de material. Buscar informacin del material (Validar que exista el material en biblioteca / Validar disponibilidad del material / Desplegar datos del material) Asignar material en consulta a alumno. Seleccionar Salir o volver Reserva de Ingresar cdigo de material. Material Buscar informacin del material (Validar que exista el material en biblioteca / Validar disponibilidad del material / Desplegar datos del material) Agregar al alumno en la lista de reserva. Seleccionar Salir o volver Mensajes Aceptar el mensaje Mantenedor Ingresar cdigo de material. de Material Buscar informacin del material (Valida que exista el material / Desplegar informacin del material) Seleccionar nuevo. Seleccionar modificar. Seleccionar eliminar. Seleccionar Salir o volver Devolucin de Ingresar cdigo de material. Material Hacer Click en buscar informacin del prstamo (Valida que exista el prstamo del material / Desplegar informacin del prstamo) Ingresar estado del material Actualizar BD con devolucin de material. Seleccionar Salir o volver Informes Ingresar fecha desde y hasta Seleccionar Ver Seleccionar imprimir. Seleccionar Salir o volver

Entrada Cdigo de Material Salida Ttulo Autor Estado Entrada Cdigo de Material Salida Ttulo Autor Estado Mensaje Entrada Cdigo de Material Salida Titulo Autor Tipo Detalle Entrada Cdigo de Material Estado Salida Titulo Autor Detalle Entrada Fecha desde Fecha hasta Datos del Informe

Cada herramienta de manipulacin es una tarea que el usuario realiza y se implementan mediante el uso de botones, mens, sliders, etc. Las herramientas de
45

retroalimentacin es informacin que debe ser presentada al usuario, para ello se utilizan los cuadros de texto, listas, grficos interactivos, etc.

46

De acuerdo a la clasificacin anterior se obtienen los siguientes componentes de dilogo.

Sistema de Biblioteca

Menu (Barra de Herramientas) Prstamos Info de alum Devolucin Informes

Datos del Sistema Fecha

Sali r

21

Hora

Mant.Materi Salir al

Devolucin de Material Informacin Allumno

Salir Mantencin de

materiales
Informes

Ilustracin 1: Componente de Dilogo Sistema de Biblioteca

Informacin Alumno Datos del Alumno Numero rut Ap. Paterno

2 1
Nombres Ap. Materno Informacin Atrasos Buscar

Carrera

Men de Acciones

3
Prstamo

4
Consulta

5
Reserva Salir

Prstamo de Material

Consulta de Material

Reserva de Material

Sistema de Biblioteca

Ilustracin 2: Componente de Dilogo Informacin Alumno (previo a un prstamo, consulta o reserva)

47

Prstamo Material Datos del Material

Cdigo del Material

Titulo Estado

Autor

Buscar

Men de Acciones

Asignar

Salir

Ilustracin 3: Componente de Dilogo Prstamo de Material


Mensajes Informacin Alumno

Consulta de Material Datos del Material

Cdigo del Material

Ttulo Estado

Autor

Buscar

Men de Acciones

10

Asignar

Salir

Mensajes Informacin Alumno

Ilustracin 4: Componente de Dilogo Consulta de Material

48

Reserva de Material Datos del Material

Cdigo del Material

Ttulo Estado Lista

Autor

Buscar

Men de Acciones

11

Reservar

Salir

Mensajes Informacin Alumno

Ilustracin 5: Componente de Dilogo Reserva de Material

Mensaje Cuadro de Mensaje

Mensaje

Aceptar

Ilustracin 6: Componente de Dilogo Mensaje

49

Mantenedor Material Datos del Material

Cdigo del Material Tipo

8
Ttulo Autor Detalle Buscar

12

Men de Acciones

15

Nuevo

13

Modificar

14

Eliminar

Salir

Mensaje

Sistema de Biblioteca

Ilustracin 7: Componente de Dilogo Mantenedor de Material

Informes Datos del Informe Fecha Inicio

18 Perodo Informe

Texto Informe

Men de Acciones

19

Ver

20

Imprimir

Salir

Sistema de Biblioteca

Ilustracin 8: Componente de Dilogo Informes

50

Devolucin de Material

Datos del Material Cdigo del Material Ttulo Estado Autor

Buscar

16
Men de Acciones

17 Devolucin

Salir

Mensajes Informacin Alumno

Ilustracin 9: Componente de Dilogo Devolucin de Material

51

2.3.4. Diseo de la interfaz grfica utilizando lenguaje Estos diagramas y componentes de dilogo permiten el diseo de las interfaces grficas que se aprecian en las siguientes ilustraciones.

Ilustracin 2: Interfaz grfica para el componente de dilogo Sistema de Biblioteca

Ilustracin 11: Interfaz grfica para el componente de dilogo Informacin Alumno

52

Ilustracin 12: Interfaz grfica para el componente de dilogo Prstamo de Material

Ilustracin 13: Interfaz grfica para el componente de dilogo Consulta de Material

53

Ilustracin 14: Interfaz grfica para el componente de dilogo Reserva de Material

Ilustracin 15: Interfaz grfica para el componente de dilogo Mensaje

Ilustracin 16: Interfaz grfica para el componente de dilogo Mantenedor de Material 54

Ilustracin 17: Interfaz grfica para el componente de dilogo Informes

Ilustracin 18: Interfaz grfica para el componente de dilogo Devolucin de Material

55

Bibliografa. [Aalto94] Juha-Markus Aalto y Ari Jaaksi, Object Oriented Development of Interactive Systems with OMT++, Incluido en TOOLS 14, Technology of Object Oriented Languajes & Systems, Prentice Hall, 1994. [Antillanca99] Hctor Antillanca Espina, Apuntes de la asignatura: Ingeniera de Software Orientada al Objeto, Universidad de Santiago de Chile, Programa de Magister, Chile, 1999.
2.

[Booch96] G. Booch, UML, Booch & OMT: Quick Reference, Rational Software Corporation, Estados Unidos, 1996, 12 pginas. [Booch98a] Grady Booch, Rational Rose: past, present, and future, Rose Architect, Volumen 1, Nmero 1, Octubre de 1998, pginas 8 - 10. [Booch98b] Grady Booch, The Visual Modeling of Software Architecture for the Enterprise, Rose Architect, Volumen 1, Nmero 1, Octubre de 1998, pginas 18 25. [Companion98] Companion Corporation, Alexandria for Windows: the multimedia library automation system for schools, COMPanion Corporation, 1998, informacin del producto, www.companioncorp.com. [Jaaksi98a] Ari Jaaksi, A Method for Your First Object Oriented Project, Journal of Object Oriented Programming, Volumen 10, Nmero 9, Enero de 1998, pginas 17 - 25. [Jaaksi98b] Ari Jaaksi, Our Cases with User Cases, Journal of Object Oriented Programming, Volumen 10, Nmero 9, Enero de 1998, pginas 58 - 65.

3.

4.

5.

6.

7.

56

III FASE DISEO ORIENTADO A OBJETO DISEO OO


INDICE INFORME DE DISEO ORIENTADO A OBJETOS Introduccin Diseo de objetos Modelo de objetos de la capa VISTA Modelo de objetos de la capa CONTROLADORs Diseo de comportamiento Elaboracin de trazas de eventos Conclusiones Bibliografa Autoevaluacin

OBJETIVO DE LA FASE DEL DISEO El diseo tiene por finalidad especificar cmo ser implementada la solucin. Define los mtodos de las clases Componentes del diseo. El diseo orientado a objetos (en adelante DOO) supone que ya se posee las clases aunque sin los mtodos. Definir estos ltimos es uno de los objetivos del DOO [Antillanca99]. Se supone que: AOO El anlisis produce descripciones del problema, especifica qu debe hacer el sistema, bosqueja la solucin desde el punto de vista del usuario. Los modelos del anlisis capturan y ejemplifican conceptos y operaciones desde el punto de vista del usuario Los elementos de los modelos del anlisis muestran el mundo de los usuarios, DOO El diseo por su parte usa artefactos y especifica cmo ser implementada la solucin Los modelos del diseo, aparentemente similares a los del anlisis, ilustran la implementacin del sistema, en varios niveles de abstraccin Los elementos del diseo ilustran los conceptos de los programadores

En la figura siguiente se ha destacado los componentes del DOO dentro del contexto de la ingeniera de software orientada al objeto (en adelante ISOO):

57

Requerimientos del Cliente

AOO

Anlisis de Objeto

Anlisis de Comportamiento

Especificacin de Interfaz Usuaria

Modelo de Objetos

Especificacin de Operaciones

Diagramas de Dilogos

Diagramas de Componentes

DOO

Diseo de Objeto

Diseo de Comportamiento

Modelo de Objeto de Diseo

Traza de Eventos

Mquina de Estados

POO

Especificacin de Clases

Implementacin de Clases

Declaracin de Clases

Implementacin de Mtodos

Ilustracin 3: El diseo orientado al objeto en el contexto de la POO.

58

3. Diseo del Sistema de prstamo bibliotecario. 3.1. DISEO DE OBJETOS Las clases de la vista se obtienen fcilmente de la fase de especificacin de la interfaz usuaria. Cada dilogo de los diagramas de dilogo se transforma en una clase vista. Cada componente especificada en los diagramas de dilogo es una componente vista. Las clases de la capa controlador conectan la vista con el modelo de objetos. Por cada objeto vista existe un nico objeto controlador. Un objeto controlador puede estar ligado a mltiples objetos del modelo y un objeto del modelo puede estar ligado a varios objetos controladores. 3.1.1. Modelo de objetos de la capa VISTA Cada dilogo de la interfaz grfica representa un objeto compuesto de atributos y mtodos (observe cuidadosamente cada dilogo y en l encontrar atributos (datos) y mtodos (funciones) que los dispone dentro de la clase
S m d iste a e B te ilio ca F ch e a H ra o O tF ch () b e a S lP sta o e re m s() S lD v lu n e e o cio () S l In rm s() e fo e S lir() a In rm ci A m o fo a n lu n n m ru u _ t N m re o b s A _ a rn p P te o A _ a rn p M te o C rre _ lu n a ra a m o In A so f_ tra s B sca u r() P sta o re m s() C n lta o su () R se a e rv () S lir() a

Prstamoterial M Material a Cod-mat Titulo aterial Cd M o_ E d sta o Autor Estado Buscar( ) B sca u r() A n r() sig a AsignarPrestamo( ) S lir() a Salir()

P sta o d re m e

Consulta enl Sala M te a ria Cod-mat Titulo ria C d M te l o_ a E d sta o Autor Estado
B sca Buscar( ) u r() A n r() sig a AsignarConsulta( S lir() a Salir()

C n lta d o su e

Consulta en Sala
C d M te l o _ a ria Titulo L E d _ ista sta o

R se a d M te l e rv e a ria

M n je e sa s M n je e sa

Mn n d rd a te e o e M te l a ria C d M te l o _ a ria T lo itu A to u r T o ip D ta e lle B sca u r() N eo u v () E in r() lim a Md o ifica r() S lir() a

Cod-mat

Autor Estado Buscar( R se a ) e rv r() AsignarReserva( ) S lir() a Salir()


D v lu o d e o cio e M te l a ria

S lA e ta e c p r()

In rm s d M te l fo e e a ria

C d M te l o _ a ria E d sta o

F ch In e a icio P rio o e d T xto e

B sca u r() D v lu n e o cio () S lir() a

V r() e Im rim p ir() S lir() a

Ilustracin 4: Modelo de objetos del diseo (capa VISTA).

59

3.1.2. Modelo de Objetos de diseo de la capa CONTROLADOR). Reemplazar por el DER (BD es relacional) En la fase de Anlisis OO, se elabor un primer Modelo de Objetos, pero en ese entonces lo sustantivo fue identificar cules eran los objetos para la aplicacin, pues bien, ahora en la fase de Diseo OO, tomamos ese Modelo elaborado en el AOO y agregamos los atributos y mtodos que ellos deben contener, bajo la perspectiva de los objetos que manipular el CONTROLADOR. esto siempre y cuando trabaje con Base de Datos OO, de los contrario, si usted trabaja con Modelo de Base de Datos Relacional DEBE reemplazar este Modelo de Objetos por el Diagrama Entidad Relacional (DER) Bibliotecaria Nombre Clave Validar Emite1 Mantiene
Valida 1..* 1..*

1 1

Emite

1..*

Informe Desde Hasta Ver Imprimir

Mantiene

Alumno Rut Nombre Carrera Estado Solicita Consulta Reserva Devuelve


1..* Solicita, Consulta, 1..* Reserva, Devuelve

Material Codigo Titulo Autor Asigna

Ilustracin 4: Primer modelo de objetos del diseo. (capa CONTROLADOR, conecta con la BD)

60

3.2.

Diseo del comportamiento

3.2.1. Elaboracin de Trazas de Eventos (diagramas de secuencia). El diseo orientado al objeto se compone de: las vistas el controlador y el modelo. Las vistas es lo que el usuario ve y con lo que interacta. Al ejecutar alguna accin el usuario provoca que la vista la interprete y le pida requerimientos al controlador. Este a su vez interacta con el modelo. Esto se aprecia mejor grficamente: Manipulacin Usuario Realimentacin

VISTA Acciones Interpretadas Solicitudes de atencin

CONTROLADOR Solicita accin Resultado

MODELO

Ilustracin 4: Modelo de las tres capas.

61

Por cada operacin definida en la etapa de anlisis se debe generar su traza de eventos o diagrama de secuencia. Al dibujar las trazas de eventos se especifican las responsabilidades de los objetos del diseo, en definitiva las funciones que llevarn a la prctica. El nombre de la funcin es escrito sobre la flecha. Las llamadas a funciones se representan a travs de flechas sobre la cual se escribe el nombre de la funcin y cuando corresponde se sealan los parmetros necesarios entre parntesis, y los valores retornados de las llamadas a funciones son escritos sin parntesis. Las trazas de eventos grafican las hebras de ejecucin como normalmente se han de realizar. A continuacin se inicia la construccin de las trazas de eventos para las operaciones especificadas en los casos de usos representando la responsabilidad del Actor y del Sistema

62

2. Validar alumno. Flujo normal o escenario exitoso Responsabilidad del Actor Responsabilidad del Sistema 1. Habilita el ingreso del rut del alumno y el botn buscar y el botn salir 2. Ingresa rut 3. Acepta rut (botn Buscar) 4. Valida el ingreso del rut (digitacin) 5. Valida que alumno sea usuario de biblioteca 6. Despliega datos del alumno y activa 7 Selecciona un caso de uso los casos de uso Prstamo, Consulta y Prstamo, Consulta o Reserva Reserva 8. Fin del caso de uso

IMPORTANTE, Si en la operacin n1 se desea que la pantalla muestre datos, en la traza debe hacer que desde el CONTROLADOR se vaya al MODELO y luego el MODELO debe devolverle los datos al CONTROLADOR y slo entonces el CONTROLADOR despliega la pantalla en la VISTA

Usuario

Vista

Controlador

Modelo

1 HabilitaRutyBotones BuscarySalir ( )

2 Ingresa (rut)
Cuando se usa teclado

3 Acepta (rut)
Los nombres de los mtodos, no tienen porque ser tan extensos, recuerde que un mtodo es sinnimo de una function. Siempre el mtodo debe llevar ( ). Si llevan datos deben ir entre los parntesis, pues representan parmetros. Siempre que se actualiza la BD, esta retorna un flag que seala operacin exitosa

Los flujos entre las 3 capas NO debieran estar cortados, deben permitir un trnsito. Si la ltima operacin del Sistema es derivar a otro caso de uso, no es necesario que aparezca como flujo va dentro de lo que se entiende como fin del caso de uso

Al usar mouse

4 Validaingreso (rut)
Trabaja sobre RAM

5 ValidaCondicinUsuario(rut)
Ir por datos a la BD

6 DevuelveDatos (alumno)
BD retorna los datos leidos

6 DespliegaDatos(alumno) 7 SeleccionaPrstamo ConsultaReserva ( ) 63

FinCasoUso( )

64

Flujo alternativo 1: Valida el ingreso del rut (digitacin). Si rut fue mal ingresado Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega mensaje de rut 2. Acepta el ingresado y habilita botn Aceptar mensaje (botn Aceptar) 3. Fin flujo alternativo 1

mal

Usuario

; Vista

; Controlador

; Modelo

1 MensajeHabilitaAceptar (rut mal ingresado)

2 AceptaMensaje ( )

3 FinFlujoAlternativo( )

Flujo alternativo 2: Valida que alumno sea usuario de biblioteca. Si no es usuario Responsabilidad del Actor Responsabilidad del Sistema 1. Despliega mensaje de alumno no registrado como usuario de biblioteca y habilita 2. Acepta el mensaje botn Aceptar (botn Aceptar) 3. Fin flujo alternativo 2

Usuario

; Vista

; Controlador
1 MensajeHabilitaAceptar (No registrado)

; Modelo

2 AceptaMensaje ( )

3 FinFlujoAlternativo( )

65