apunte_omt__actualizado_mayo_20101

Anuncio
APUNTE
ASIGNATURA
CARRERA
PROFESORA
:
:
:
:
N-5
SISTEMA DE INFORMACIÓN
Ingeniería en Informática
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 enseñar conceptos básicos de OO
La metodología OMT (Object Modeling Technique) fue creada por James
Rumbaugh y Michael Blaha en 1991, es una de las metodologías de análisis y
diseño orientados a objetos, más maduros y eficientes que existen en la
actualidad. La gran virtud que aporta esta metodología es su carácter de abierta
(no propietaria), que le permite ser de dominio público y, en consecuencia,
sobrevivir con enorme vitalidad. Esto facilita su evolución para acoplarse a
todas las necesidades actuales y futuras de la ingeniería 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
construcción 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
:
:
:
:
:
Conceptualización
Análisis OO
Diseño OO
Construcción
Pruebas
Problem a
CONCEPTUALIZACION
Objetivo
Establecer los requerim ientos básicos para
el sistem a
Actividades
Enunciar el problem a
Rrequerim .funcionales
Requerim .no funcionales
Estudio de factibilidad
Casos de uso
Requerim ientos
DISEÑO
Objetivo
Crear una arquitectura
para la aplicación
Actividades
Modelo de objeto de diseñoM od. de objeto del diseño
Diseño orientado a objetoModelo de tres capas
Traza de eventos
Diagramas de secuencia
ANALISIS
Objetivo
Com prender el dom inio
del problem a y el sistem a
a ser im plem entado
Actividades
Analísis de objeto
Mod. de objeto del análisis
Análisis de com portam iento Especif. de operaciones
Especificación de interfaz Diagram as de diálogos
Diag. de com ponentes
Construcción
Objetivo
Traducir el diseño en
una implementación
Pruebas
Objetivo
Probar el
Sistema
Actividades
Definiciones de clases
Creación de objetos
Llamada de operaciones
Uso de la herencia
Implem. de asociasiones
Actividades
Sist. implementado
Integración
Prueba como Sistema
1
Sis
Diseño
Diagrama de clase
Análisis
Análisis
Diagrama
de clase
X
Atributo
Atributo
Requerimien
Y
atributo
Class Y{
Function3();
Function5();
X;
};
Z
Atributo
Y
Atributo
Atributo
Función 3
Función 5
Caso de uso A
Declarac
Función
Función
6
X
atributo
atributo
Función 1
Función 4
Caso de uso C
...
Lista de
operaciones
Usuario
Otros
requerim.
Código
Caso de uso C
Y::function5()
{
X>function6();
};
...
Trazas
Lista de operaci
Z
Y
X
Operación 1
Función 1
Función 2
Operación 2
Caso de uso A
Caso de uso B
...
Caso de uso B
Prueba de
casos
Otros
requerim.
Función 3
...
Operación 3
Función 4
....
Función 5
Función
6
CONCEPT
ANALISIS
DISEÑO
CONSTRUCCION
2
CONCEPTUALIZACION
Entrevistas
Enunciar
problema
FACTIBILIDAD
Problema
Def. Requerimientos
Funcionales
Def. Requerimientos No
Funcionales
Casos de uso
ANALISIS OO
Parámetros
Análisis de Objetos
Modelo de Objetos
Análisis de Comportamiento
Lista de Operaciones
Especificación de Interfaz de Usuario
Diagrama de Diálogos
DISEÑO OO
Diagramas de Componentes
Modelo de Objetos
Modelo de Objetos
Diseño de Objetos
Modelo de 3 Capas
Traza de Eventos
CONSTRUCCION OO
Definición
de Clases
Diagramas de Secuencia
Creación
De
Objetos
Llamadas
De
Operación
Uso de
Herencia
Implement
ar
Asociación
Probar el
Sistema
3
Sistema en Funcionamiento
CASOS DE USO
10 consideraciones para obtener buenos
autores de OMT++)
casos de uso (Según los
1. Los casos de uso especifican los requisitos funcionales más
importantes
Por ejemplo, si es importante para el cliente que el sistema imprima
informes, entonces esa tarea debiera estar incluida en uno o más casos de
uso.
2. Un caso de uso describe algo que el diseñador estaría orgulloso de
hacer y que el cliente estaría 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
pequeño y no sólo es beneficioso para el usuario final.
3. Un caso de uso describe una manera típica de usar el sistema, pero
no más.
El caso de uso debiera describir la manera recomendada para ejecutar una
tarea. No debería cubrir temas que quedan fuera de su incumbencia y no
debería 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 sección de
“Excepción” del caso de uso en cuestión.
4
4. Un caso de uso es una actuación
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
pagaría con agrado. La parte final describe pasos con los cuales se termina
la historia. Un caso de uso sin estas características es probablemente
demasiado débil.
6. Un caso de uso es como un ensayo escrito por un estudiante de
escuela básica.
A cierta edad los niños tienden a escribir historias que describen el flujo
explícito de las acciones, una después de la otra, eso es exactamente lo que
un caso de uso debería hacer. Ejemplo: “Hoy fui con mis compañeros a jugar
fútbol 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 Raúl
marcó otro gol. Finalmente nosotros ganamos 2-1. Después del partido nos
vinimos a Santiago en micro.”
7. Un caso de uso cabe en una página
Los casos de uso grandes son difíciles 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 más casos de uso.
8. Un caso de uso es fuerte y claro
Cada caso de uso debe hacer afirmaciones claras y explícitas para que
cuando la gente lo lea, se pueda formar opiniones fuertes. Un caso de uso
5
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 versión de un caso probablemente es demasiado vago o debería
ser más explícito.
9. Los clientes y diseñadores de software pueden firmar el caso de uso
Cada caso de uso debería ser concreto y claro para que los clientes y los
diseñadores lo puedan firmar. Los casos de uso actúan como un contrato
entre los clientes y los desarrolladores. Nadie debería hacer alguna
modificación a los casos de uso sin la aprobación 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 deberían
especificarse para ser usados en las siguientes fases del proceso, por
ejemplo, en la fase de análisis de objetos y la fase de análisis de
comportamiento.
Si los casos son suficientemente explícitos ellos se pueden usar como una
base para los casos de prueba del sistema.
6
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 descripción 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, debería 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 básico de pruebas a que se
somete la aplicación resultante [Jaaksi98a].
7
1.1) ENUNCIADO DEL PROBLEMA.
Actualmente la biblioteca del Departamento de Ingeniería Informática de la
Universidad de Santiago atiende a tres tipos de usuarios distintos: alumnos
de pre grado (ingeniería civil y de ejecución en informática), memoristas
(alumnos terminales de las carreras ya mencionadas) y de post grado
(magister en ingeniería en informática). Estos usuarios solicitan y devuelven
los libros, apuntes, revistas, folletos, diarios, memorias y otros materiales en
una ventanilla de atención única. Para pedir el material en préstamo 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 préstamo que
posee cada material. Los periodos máximos de préstamo de material difiere,
dependiendo del tipo de usuario.
Se desea un sistema para apoyar el préstamo de este material que incluye
además manuales de software, revistas de investigación y libros técnicos del
área informática. La idea es apoyar los préstamos de una manera
automatizada, la cual permitirá ingresar datos de préstamo, registrar
devoluciones, renovar préstamos, reservar, etc. También es necesario
proveer facilidades de administración del sistema para modificar parámetros,
por ejemplo períodos máximos de préstamo por tipo de usuarios de la
biblioteca, etc. También interesa producir información resumida (estadísticas)
de morosos, material prestado, cuánto material tiene un usuario determinado,
cuántas veces se ha pedido un material específico, etc. El usuario final de
este sistema será la Bibliotecaria.
8
1.2) REQUERIMIENTOS FUNCIONALES: CASOS DE USO
Los casos de uso se han transformado en una de las herramientas más 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 diálogo con el sistema. Esa secuencia
especial es llamada caso de uso” [Jaaksi98b].
 Un caso de uso describe una función 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 interactúa con el sistema, por
ejemplo : un usuario, otro sistema.
Caso de uso : Es una operación/tarea específica que se realiza tras una
orden de algún agente externo, sea desde una petición de un actor o bien
desde la invocación desde otro caso de uso.
Relación Actor – Caso de uso : Es el tipo de relación más básica que
indica la invocación desde un actor hacia un caso de uso. Dicha relación se
denota con una flecha simple.
Relación entre casos de uso : es una relación o vínculo que indica la
llamada desde un caso de uso a otro. Podemos agregar también que estas
relaciones pueden ser de distintos tipos, entre ellas, las siguientes :

``usa'' ( <<uses>>) Relación de dependencia entre
dos casos de uso que denota la inclusión del
comportamiento de un escenario en otro.

``extiende''
(<<
extends>>):
Relación
de
dependencia entre dos casos de uso que denota que
un caso de .uso es una especialización de otro.
9
MODELOS DE CASOS DE USOS
DIAGRAMA DE CASOS DE USOS
Un diagrama de casos de uso (Use Case Diagram) es una representación
gráfica 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 símbolo de la figura 2.1 acompañado 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 más detallado se podría incluir otro
actor para responsable del mantenimiento del material de biblioteca.
Figura 2.1: Actor
10
Relaciones de Casos de Uso
Las tres relaciones principales entre los casos de uso son soportadas por el
estándar UML, el cual describe notación gráfica para esas relaciones.
1. Inclusión (Include) o (use)
2. Extensión (Extend)
3. Generalización
1) Inclusión (Include) o (use)
Es una forma de interacción, 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
<<incluye>>
DEBE
Verificar
disponibilidad
Bibliotecaria
Regla de negocio: Previo a otorgar el préstamo debe verificar su
disponibilidad
Un incluye es como una llamada a un procedimiento
Una relación «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 continúa 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.
11
2) Extensión (Extend)
La relación «extensión» establece que un Caso de Uso puede ser extendido
con algún comportamiento adicional definido en otro Caso de Uso. La relación
contiene una condición y referencia una secuencia de puntos de extensión en
el Caso de Uso base. Una vez que la condición es evaluada, si se cumple, la
secuencia de la instancia se extiende para incluir la secuencia del Caso de
Uso extensión.
La notación es una flecha rayada desde el caso de uso extensión al caso de
uso extendido, con la etiqueta «extensión». Esto puede ser útil para lidiar con
casos especiales, o para acomodar nuevos requisitos durante el
mantenimiento del sistema y su extensión.
Prestar
material
Bibliotecaria
<<incluye>>
DEBE
Verificar
disponibilidad
<<extensión>>
PUEDE
Contabilizar
rechazos
Regla de negocio: En el caso de uso “Verificar disponibilidad” si no está
disponible el material (condición), entonces se extiende el caso de uso
“Contabilizar rechazos”, seguramente esto permitirá tomar decisión de
adquirir o no más copias del material.
12
3) Generalización/especialización
Un caso de uso dado puede estar en una forma especializada de un caso de
uso existente. La notación es una línea sólida terminada en un triángulo
dibujado desde el caso de uso especializado al caso de uso general.
Una relación de generalización entre Casos de Uso implica que el Caso de Uso
hijo hereda todos los atributos, secuencias de comportamiento, puntos de
extensión y relaciones definidos en el Caso de Uso padre. El Caso de Uso hijo
puede definir nuevas operaciones, como también redefinir o enriquecer con
nuevas secuencias de acciones operaciones ya existentes en el Caso de Uso
padre. Para distinguir si la especialización está redefiniendo una operación del
padre o agregándole secuencias de acciones, sugerimos la inclusión de un
estereotipo (elemento de UML) <<redefine>> para el primer caso o
<<enriquece>> para el segundo, en la operación en cuestión.
Prestar
material
<<incluye>>
DEBE
Bibliotecaria
<<redefine>>
Prestar On-line
Material
Caso de uso especializado
Verificar
disponibilidad
<<extensión>>
PUEDE
Contar
rechazos
Alumno
Regla de negocio: Los préstamos que se realizan a través de intranet,
requieren de requerimientos adicionales al préstamo físico del material
13
<<incluye>>
<<extiende>>
<<redefine>> /
<<enriquece>>
Un caso de uso dado debe Un Caso de Uso puede ser
"incluir" otro
“extendido” con algún
comportamiento adicional
definido en otro Caso de
Uso
Un Caso de Uso hijo
hereda todos los atributos,
secuencias
de
comportamiento del padre.
utilizaremos una relación
tipo << uses>> cuando
nos encontramos con una
parte de comportamiento
similar en dos casos de
uso y no queremos repetir
la descripción de dicho
comportamiento común.
Se utiliza una relación de
tipo <<extends>> entre
casos de uso cuando nos
encontramos con un caso
de uso similar a otro pero
que hace algo más que
éste (variante).
El Caso de Uso hijo puede
definir
nuevas
operaciones <<redefine>>,
como también redefinir o
enriquecer <<enriquece>>
con nuevas secuencias de
acciones
Mientras, en una relación
<<include>> el actor que
realiza el caso de uso base
también realiza el caso de
uso incluido.
En
una
relación
<< extends>>, un actor
que lleve a cabo el caso de
uso base puede realizar o
no sus extensiones.
y <<include>> cuando se
repite un comportamiento
en dos casos de uso y
queremos evitar dicha
repetición.
En general utilizaremos
<<extends>> cuando se
presenta una variación del
comportamiento normal
Prestar
material
Bibliotecaria
<<redefine>>
Prestar
On-line
Material
<<incluye>>
Verificar
disponibilidad
<<extensión>>
Contar rechazos
Estudiante
14
MODELOS DE CASOS DE USOS
Llamamos modelo de casos de uso a la combinación de casos de uso y sus
correspondientes diagramas. Los modelos de casos de uso se suelen
acompañar por un glosario que describe la terminología 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 mínimo un diagrama Main Use Case, que es una
representación gráfica del entorno del sistema (actores) y su funcionalidad
principal (casos de uso).
Prestar
material
<incluye>
Ver
disponibilidad
<incluye>
Validar
alumno
<incluye>
<incluye>
Reservar
material
<incluye>
<extensión>
Contar
rechazos
Consultar
Material
Devolver
material
<incluye>
Emitir
estadística
<incluye>
Emitir
morosos
Emitir
informes
Agregar
material
Modificar
material
Biblio-
<incluye>
<incluye>
Eliminar
material
Mantener
material
<incluye>
tecaria
Administrador
Autenticar
usuario
Fig. 2.2 Diagrama principal de casos de uso
15
b) CASO DE USO DE GENERALIZACIÓN Y HERENCIA
Estereotipo= compartir
Bibliotecaria
Autentificar
usuario
Usuario
Administrador
Diagrama de casos de uso para autentificación de usuario,
( Las relaciones de los actores con el actor usuario son herencia o
generalización.)
Esta generalización 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 generalización y herencia permiten establecer un usuario en común
“Alumno/Usuario” que llevará a cabo las funciones en común del Alumno y el
Profesor en los casos de uso que así lo necesiten.
Además, é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 autentificación 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.
16
c) CASO DE USO PATRÓN
Navegar la
Tablas
<incluye>
Mantenedor
de Tablas
<incluye>
Agregar en
Tablas
<incluye>
Modificar en
Tablas
Administrador
<incluye>
Eliminar en
Tablas
Diagrama de casos de uso para mantener tablas.
A través 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 básicas de una mantención de tablas, entre ellas
encontramos las funciones mas comunes como : agregar, modificar, eliminar y las
opciones de navegación de registro (ir a registro siguiente, anterior, primero o último
).
Este patrón de casos de uso esta orientado principalmente a las tareas de
Administración de sistema y se aplica a todas aquellas tablas que requieren de una
gestión manual y no son modificables por usuarios comunes.
17
d) CASOS DE USO PARA ACTOR BIBLIOTECARIA
Prestar
material
<incluye>
Ver
disponibilidad
<incluye>
Validar
alumno
<incluye>
Reservar
material
<incluye>
Contar
rechazos
Consultar
Material
<incluye>
<extensión>
Devolver
material
<incluye>
Emitir
estadística
<incluye>
Emitir
morosos
Emitir
informes
Autenticar
usuario
Bibliotecaria
d) CASOS DE USO PARA ACTOR ADMINISTRADOR
Agregar
material
<incluye>
Modificar
material
<incluye>
Eliminar
material
Mantener
material
<incluye>
Administrador
Autenticar
usuario
OBSERVACIÓN: 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 sólo un usuario, que es la bibliotecaria
18
CASOS DE USO PARA ACTOR BIBLIOTECARIA
Prestar
material
<incluye>
Validar
alumno
<incluye>
<incluye>
Reservar
material
Consultar
Material
Devolver
material
Emitir
Estadística
Autenticar
usuario
Agregar
material
Bibliotecaria
<incluye>
Mantener
material
<incluye>
Modificar
material
<incluye>
Eliminar
material
19
DESCRIPCIÓN EXTENDIDA DE CASOS DE USO PARA EL ALUMNO
A continuación 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 estadística de préstamos.
Veremos la descripción extendida de los casos de uso, en ella se encuentra la
descripción detallada de cada caso de uso utilizado en los diagramas de caso de
uso presentados anteriormente, su funcionamiento y los detalles asociados que
serán requerimientos para desarrollar la aplicación.
20
CASO DE USO 2: VALIDAR ALUMNO
Información Alumno
Datos del Alumno
Numero rut
Nombres
Ap. Paterno
Ap. Materno
Buscar
Carrera
Información Atrasos
Menú de Acciones
Préstamo
Préstamo de
Material
Consulta
Consulta de
Material
Reserva
Reserva de
Material
Salir
Sistema de
Biblioteca
2. Validar alumno.
Descripción
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 préstamo 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 botón
“buscar” y el botón “salir”
2. Ingresa rut
3. Acepta rut (botón Buscar)
4. Valida el ingreso del rut (digitación)
5. Valida que alumno sea usuario de biblioteca
6. Despliega datos del alumno y activa los casos de
7. Selecciona un caso de uso
uso “Préstamo”, “Consulta” y “Reserva”
“Préstamo”, “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 (digitación). Si rut fue mal ingresado
Responsabilidad del Actor
Responsabilidad del Sistema
1. Despliega mensaje de “rut mal ingresado” y
2. Acepta el mensaje (botón
habilita botón Aceptar
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 botón
2. Acepta el mensaje (botón
Aceptar
Aceptar)
3. Fin flujo alternativo 2
Post condición
El usuario es derivado a registrar un préstamo, una consulta o una reserva
21
CASO DE USO 3: PRESTAR MATERIAL
Pré sta mo Ma te ria l
Da tos de l Ma te ria l
Código del
Material
Titulo
Autor
Buscar
Estado
Me nú de Accione s
Asignar
Salir
3. Prestar material
Descripción
El caso de uso solicitar un material en préstamo, permite registrar un
préstamo siempre y cuando las condiciones estén dadas
Actores
Bibliotecaria
Pre condiciones Validación de alumno
Flujo normal o escenario exitoso
Responsabilidad del Actor
Responsabilidad del Sistema
1. Despliega ventana de préstamo, habilita el ingreso del
código del libro del alumno y el botón “buscar” y “salir”
2. Ingresa código del material
3. Acepta (botón Buscar)
4. Valida que exista el material en biblioteca
5. Valida disponibilidad del material
6. Verifica que alumno cumpla con las condiciones para el
préstamo
7. Busca si el material lo tenía reservado y lo elimina de la
lista de reserva
8. Despliega datos del material y alumno, además activa el
botón “Asignar Préstamo”
10. Asigna el material en
préstamo (clic en botón)
11. Registra en BD el préstamo
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 habilita
2. Acepta el mensaje (botón
botón Aceptar
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 habilita
2. Acepta el mensaje (botón
botón Aceptar
Aceptar)
3. Fin flujo alternativo 2
Flujo alternativo 3: Verifica que alumno cumpla condiciones préstamo(6). Si no
1. Despliega mensaje de que alumno no cumple con
condiciones y habilita botón Aceptar
2. Acepta el mensaje (botón
Aceptar)
3. Fin flujo alternativo 3
Post condición
22
Mensajes
Información
Alumno
Al usuario le queda registrado un préstamo a su haber
CASO DE USO 4: CONSULTA MATERIAL EN SALA –PRÉSTAMO EN SALA
Consulta de Material
Datos del Material
Código del
Material
Título
Autor
Buscar
Estado
Menú de Acciones
Asignar
Salir
Mensajes
Información
4.- Consulta en sala
Alumno
Descripción
Registra material asignado como préstamo en sala
Actores
Bibliotecaria
Pre condiciones Validación de alumno
Flujo normal o escenario exitoso
Responsabilidad del Actor
Responsabilidad del Sistema
1. Despliega ventana de préstamo en sala,
habilita el ingreso del código del libro y el
botón “buscar” y “salir”
2. Ingresa código del material
3. Acepta
código
(botón
Buscar)
4. Valida que exista el material en biblioteca
5. Valida disponibilidad del material
6. Despliega datos del material y alumno, además
activa el botón “Asignar Préstamo en sala”
7. Asigna el material en
consulta (clic en botón)
8. Registra en BD el préstamo 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 botón Aceptar
2. Acepta
el
mensaje
(botón 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 (botón
habilita botón Aceptar
Aceptar)
3. Fin flujo alternativo 2
Post condición
Al usuario le queda registrado un préstamo de consulta en sala
23
CASO DE USO 5: RESERVA DE MATERIAL
Reserva de Material
Datos del Material
Código del
Material
Título
Autor
Buscar
Estado Lista
Menú de Acciones
Reservar
Salir
Mensajes
Información
Alumno
5. Reserva de material
Descripción
Registra la reserva de un material
Consulta en Sala
Actores
Bibliotecaria
Pre condiciones Validación 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 código del libro y el botón
“buscar”
Buscar( )
AsignarConsulta( )
y “salir”
Salir()
2. Ingresa código del material
3. Acepta
código
(botón
Buscar)
5. Valida que exista el material en biblioteca
6. Valida disponibilidad del material
7. Despliega datos del material y alumno, además
activa el botón “Asignar reserva de material”
4. Asigna el material en
reserva (clic en botón)
8. Registra en BD el préstamo 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 botón Aceptar
3. Acepta
el
mensaje
(botón 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 disponible” y
4. Acepta el mensaje (botón
habilita botón Aceptar
Aceptar)
5. Fin flujo alternativo 2
Post condición
Al usuario le queda registrado un préstamo a su haber
24
CASO DE USO 6: MANTENEDOR DE MATERIAL
Mantenedor Material
Datos del Material
Código del
Material
Título
Tipo
Autor
Buscar
Detalle
Menú de Acciones
Nuevo
Modificar
Mensaje
Eliminar
Salir
Sistema de
Biblioteca
6. Mantenedor de material
Descripción
Permite mantener actualizada las existencias de materiales
Actores
Bibliotecaria
Pre condiciones Validación de usuario
Flujo normal o escenario exitoso
Responsabilidad del Actor
Responsabilidad del Sistema
1. Despliega ventana de mantención de material,
habilita el ingreso del código del libro y el botón
“buscar” y “salir”
2. Ingresa código del material
3. Acepta
código
(botón
Buscar)
4. Valida que exista el material en biblioteca
5. Despliega datos del material y los deja habilitado
para posible modificaciones y habilita la
posibilidad “guardar Modificaciones” o “Eliminar”
6. Ingresa datos a modificar
7. Selecciona “Modificar” (clic
en Modificar)
8. Actualiza la BD con la modificación del material
9. Selecciona “Eliminar” (clic
en botón Eliminar)
10. Actualiza la BD con la eliminación 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 botón Guardar “nuevo”
2. Acepta el guardar nuevo
material (botón Nuevo)
3. Fin flujo alternativo 1
Post condición
Las existencias de materiales quedan actualizadas en la BD
25
CASO DE USO 7: DEVOLVER MATERIAL
De volución de Ma te ria l
Da tos de l Ma te ria l
Código del
Material
Título
Autor
Buscar
Estado
Me nú de Accione s
Devolución
Salir
Mensajes
Información
Alumno
7. Devolver material
Descripción
Registra la devolución de un material
Actores
Bibliotecaria
Pre condiciones Validación de alumno
Flujo normal o escenario exitoso
Responsabilidad del Actor
Responsabilidad del Sistema
1. Despliega ventana devolución de material,
habilita el ingreso del código del libro y el botón
“buscar” y “salir”
2. Ingresa código del material
3. Acepta
código
(botón
Buscar)
9. Valida que exista el préstamo de ese material
10. Despliega datos del material prestado, habilita
campo estado y habilita el botón “Devolución de
material”
7. Si se requiere ingresa
estado del material
8. Selecciona
registrar
“devolución del material
(clic en botón)
9. Registra en BD la devolución
10. Fin del caso de uso
Flujo alternativo 1: Valida que exista el registro de material prestado (4). No existe
registro del préstamo del material
Responsabilidad del Actor
Responsabilidad del Sistema
1. Despliega mensaje que “no existe registro de
préstamo para ese material” y habilita botón
2. Acepta el mensaje (botón
Aceptar
Aceptar)
3. Fin flujo alternativo 1
Post condición
El material queda disponible para un nuevo préstamo
26
CASO DE USO 8: EMITIR ESTADISTICA DE PRÉSTAMO EN UN PERIODO
Informes
Datos del Informe
Fecha Inicio
Período Informe
Texto Informe
Menú de Acciones
Ver
Imprimir
Salir
Sistema de
Biblioteca
8. Emitir informe estadístico de préstamos
Descripción
Emitir un estadístico de préstamo 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 emisión de estadística de
préstamos, habilita los campos para seleccionar
fecha desde hasta el cual se desea obtener el
informe estadístico y habilita “ver” y “salir”
2. Selecciona periodo (desde y
hasta)
3. Acepta
“ver”
informe
estadístico (botón ver)
4. Habilita la posibilidad de imprimir la estadística
5. Acepta “imprimir” (botón
imprimir)
6. Envía estadística a imprimir
7. Fin del caso de uso
Flujo alternativo 1: Valida que exista el registro de material prestado (4). No existe
registro del préstamo del material
Post condición
No hay
27
II FASE
ANALISIS ORIENTADO A OBJETO
INDICE INFORME DE ANÁLISIS ORIENTADO A OBJETOS
Introducción
Análisis de objetos
Descripción de Casos de Uso
Identificar clases u objetos (Sustantivos)
Diagrama de objetos
Análisis de comportamiento
Descripción de operaciones por casos de usos
Lista de operaciones para la aplicación
Especificación de interfaz
Diagrama de diálogos
Funciones que realiza cada ventana de diálogo
Especificación de Componentes
Diseño de la interfaz gráfica utilizando lenguaje
Conclusiones
Bibliografía
Autoevaluación
OBJETIVO DE LA FASE DE ANALISIS
El propósito del análisis es comprender el dominio del problema y el sistema a
ser implementado. La fase de análisis está basada sobre un conjunto de
requerimientos y casos de uso, y la fase incluye las siguientes tareas:
 Análisis de Objeto
 Análisis de Comportamiento
 Especificación de Interfaz del usuario
ACTIVIDADES DEL ANALISIS
El análisis de objeto consiste en especificar todos los conceptos claves
relacionados al sistema a ser desarrollado. Esto produce un Modelo de
Análisis de Objeto, que documenta los conceptos del dominio del problema.
El análisis de comportamiento define las operaciones que el usuario
realizará con el sistema. El análisis de comportamiento modela el sistema
como una caja negra, o sea, modela sólo la funcionalidad externa del sistema
y produce una Lista de Operaciones. El sistema final debe soportar la
realización de todas las operaciones incluidas en la lista. Sin embargo, la Lista
de Operaciones y el Modelo de Análisis de Objeto son modelos separados,
las operaciones incluyen y usan los conceptos definidos por el modelo de
objeto. A esta altura del desarrollo. Aún la lista de operaciones no está
relacionada como funcionales de las clases de del modelo de objeto. Así el
modelo de análisis de objeto incluye pocas operaciones; típicamente, sólo
clases y sus atributos.
28
Especificación de la interfaz de usuario es una entidad intermedia
entre el usuario final y la aplicación. Ésta debe ser capaz de representar los
objetos de la aplicación tal como el usuario comprendió las relaciones entre la
representación y el mundo real. A un nivel más alto podemos ver la interfaz
gráfica usuaria como una colección de diálogos. Para simplificar el concepto,
todos los diálogos y ventanas son llamados diálogos. Cada diálogo posee uno
o más componentes. Un componente es una colección de elementos del
sistema de ventanas. Cada componente consiste de herramientas, tales como
botones y campos de textos. Las herramientas pueden ser herramientas de
manipulación que el usuario necesita para controlar la aplicación, o
herramientas de feedback que la aplicación necesita para presentar cosas al
usuario final. Los contenidos para los diálogos son definidos de acuerdo a la
Lista de Operaciones.
Requerimientos del Cliente
AOO
Análisis de
Comportamiento
Análisis de Objeto
Modelo de
Objetos
DOO
Especificación
de
Operaciones
Especificación de
Interfaz Usuaria
Diagramas de
Diálogos
Diseño de
Comportamiento
Diseño de Objeto
Modelo de
Objeto de
Diseño
POO
Diagramas
de
Componentes
Traza de
Eventos
Especificación de
Clases
Declaración de
Clases
Máquina de
Estados
Implementación
de Clases
Implementación
de Métodos
29
2.1 Análisis de objetos.
De la captura de requerimientos se asume que la aplicación tiene como
objetivo proveer la funcionalidad de administrar, por parte de la bibliotecaria tanto
las reservas, como préstamos y devoluciones de material bibliográfico (memorias,
manuales, revistas y libros), solicitado por los alumnos, además de mantener el
material y emitir informe estadístico de préstamos. Por tanto los conceptos clave de
esta aplicación son: alumno, material, bibliotecaria, informe.
2.1.1. Descripción de Casos de Uso (Quién, Qué, Cómo/Cuando/Donde/Para)
2. Validar alumno
La bibliotecaria se valida la condición del alumno para registrar un préstamo,
consulta o reserva de un material
3. Prestar material
La bibliotecaria valida la existencia y disponibilidad del material para asignar el
préstamo 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 préstamo al
alumno
6. Mantener material
La bibliotecaria registra ingreso, modificación o eliminación de material para su
posterior solicitud de parte de alumnos
Devolver material
La bibliotecaria registra la devolución de material para su posterior solicitud de parte
de alumnos
8. Emitir estadístico
La bibliotecaria emite informe estadístico de préstamos solicitados por los alumnos
30
2.1.2. Identificar clases u objetos (Sustantivos)
De la descripción de casos de usos se identificaron los objetos que a de
contener la aplicación a desarrollar
Objetos
Bibliotecaria
Alumno
Material
Informe
Diagrama clases u objetos (Modelo de Análisis de Objetos)
El diagrama de clases representa a todas las clases identificadas para la aplicación,
desprendidas de los casos de usos.
Bibliotecaria
Informe
1
Emite
1..*
1
1
Valida
Mantiene
1..*
1..*
Alumno
Material
1..*
Solicita, Consulta,
Reserva, Devuelve
1..*
(La líneas de relación mencionan a los casos de usos.)
31
2.2. Análisis de comportamiento.
El análisis de comportamiento produce una lista de operaciones, la cual es
construida sobre la base de los casos de uso. Del análisis de los casos de
usos se desprenden las siguientes operaciones que son las que realizará el
usuario con la aplicación:
2.2.1. Descripción de todas las operaciones por caso de uso
Caso de uso 1: Validar alumno (tomar el caso de uso y considerar sólo las
operaciones que realiza el ACTOR)
Operaciones: ingresar rut, Aceptar rut, Seleccionar préstamo, Seleccionar consulta,
Seleccionar reserva, Aceptar “mensaje”
Caso de uso 2: Prestar material
Operaciones: Ingresa código del material, Aceptar “código”, Asignar el
material en préstamo, Aceptar “mensaje”
Caso de uso 3: Consulta en sala
Operaciones: Ingresa código del material, Aceptar “código”, Asignar el
material en consulta, Aceptar “mensaje”
Caso de uso 4: Reservar material
Operaciones: Ingresa código del material, Aceptar “código”, Asignar el
material en reserva, Aceptar “mensaje”
Caso de uso 5: Mantener material
Operaciones: Ingresa código del material, Aceptar “código”, Ingresar datos a
modificar, Seleccionar modificar, Seleccionar eliminar, Aceptar “nuevo” material
Caso de uso 6: Devolver material
Operaciones: Ingresa código del material, Aceptar “código”, Ingresar estado
de material, Seleccionar devolver material, Aceptar “mensaje”
Caso de uso 7: Emitir estadística de préstamos
Operaciones: Selecciona periodo (desde y hasta), Aceptar “ver” informe
estadístico, Aceptar “imprimir”
32
2.2.2. Lista de operaciones para la aplicación
De acuerdo al análisis de los casos de usos, se definen las siguientes
operaciones para la aplicación:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Ingresar rut
Aceptar rut
Seleccionar préstamo
Seleccionar consulta
Seleccionar reserva
Aceptar “mensaje”
Ingresa código del material
Aceptar “código”
Asignar el material en préstamo
Asignar el material en consulta
Asignar el material en reserva
Ingresar datos a modificar
Seleccionar modificar
Seleccionar eliminar
Aceptar “nuevo” material
Ingresar estado de material
Seleccionar devolver material
Selecciona periodo (desde y hasta)
Aceptar “ver” informe estadístico
Aceptar “imprimir”
Salir del sistema
33
2.3. Especificación 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 información de retroalimentación al
usuario. Esta interfaz está compuesta por varias ventanas que se relacionan entre sí
por medio de acciones, las cuales pueden ser: presionar un botón, seleccionar un
menú.
2.3.1. Diagrama de Diálogos: En aspectos generales, la interfaz de usuario del
sistema de biblioteca, esta compuesta de nueve ventanas de diálogo, que realizan
las distintas tareas del sistema.
Informe Estadístico
Hace:18,19,20
Selecciona
devolución
Sistema
Bibliotecaria
Hace:21
Salir
Solicita
mantención
Mantención
Materiales
Hace:7,8,12,13,14,15
Préstamo
Material
Hace:7,8,9
Salir
Selecciona
Asigna
préstamo
Información
Información
Alumno
Hace:1,2,3,4,5
Asignar
Salir
Selecciona
Informe
Devolución Material
Hace:7,8,16,17
Consulta
Material
Hace:7,8,10
Salir
Mensaje
Hace:6
Aceptar
Asigna
reserva
Reserva
Material
Hace:7,8,11
Mensaje
34
2.3.2. Funciones que realiza cada ventana de diálogo
Cada ventana de diálogo realiza funciones propias y para pasar entre las ventanas
el usuario debe realizar una acción, ya sea seleccionando un menú o apretando
algún botón. (Estas funciones se obtienen desde la redacción de los casos de uso
en lo que respecta a la responsabilidad del sistema
La ventana de diálogo Sistema de Biblioteca es la ventana principal sus funciones
son:
 Obtener la hora y fecha del sistema.
 Selección del menú Validar Alumno (información del alumno).
 Selección del menú Devolución
 Selección del menú Informes
 Selección del menú Mantenedor
 Salir de la aplicación. (21)
La ventana de diálogo Información Alumno es la encargada de validar al usuario
de la biblioteca dependiendo de su última matrícula y de sus atrasos en la
devolución de material, sus funciones son:
 Ingresar el número de rut del alumno. (1)
 Buscar información de alumno (Validar el ingreso del número de rut del alumno. /
Validar que el alumno sea usuario de la biblioteca / Desplegar información del
alumno) (2)
 Seleccionar menú Préstamo. (3)
 Seleccionar menú Consulta. (4)
 Seleccionar menú Reserva. (5)
 Seleccionar Salir o volver
La ventana de diálogo Préstamo de Material se encarga de asignar el material en
préstamo a los usuarios y sus funciones son:
 Ingresar código de material. (7)
 Buscar información del material (Validar que exista el material en biblioteca /
Validar disponibilidad del material / Verificar que alumno cumple condición para el
préstamo / Buscar si el alumno estaba en nómina de reserva del material /
Desplegar datos del material). (8)
 Asignar material en préstamo a alumno. (9)
 Seleccionar Salir o volver
La ventana de diálogo Consulta de Material se encarga de asignar el material en
consulta a los usuarios y sus funciones son:
 Ingresar código de material. (7)
 Buscar información del material (Validar que exista el material en biblioteca /
Validar disponibilidad del material / Desplegar datos del material) (8)
35
 Asignar material en consulta a alumno. (10)
 Seleccionar Salir o volver
La ventana de diálogo Reserva de Material se encarga de asignar al usuario a una
lista de reserva para cada material, sus funciones son:
 Ingresar código de material. (7)
 Buscar información 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 diálogo 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 diálogo Devolución de Material es la encargada de actualizar el
sistema cuando un usuario de la biblioteca devuelve el material que se le había
prestado o entregado en consulta, sus funciones son:
 Ingresar código de material. (7)
 Buscar información del préstamo (Valida que exista el préstamo del material /
Desplegar información del préstamo) (8)
 Ingresar estado del material (16)
 Actualizar BD con devolución 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 código de material. (7)
 Buscar información del material (Valida que exista el material / Desplegar
información 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)
 Seleccionar Salir o volver
36
2.3.3. Especificación de Componentes
Las ventanas de diálogo poseen componentes y los componentes se pueden
dividir entre herramientas de manipulación y herramientas de retroalimentación.
Tomando como base los diagramas de diálogo, se pueden clasificar los
componentes de cada ventana de acuerdo su funcionalidad como herramientas,
tanto de manipulación como de retroalimentación:
Ventana de
Diálogo
Sistema de
Biblioteca
Información
Alumno
Préstamo de
Material
Herramientas de Manipulación
(operaciones que el usuario hace)
OPERACIONES
Herramientas de
Retroalimentación
DATOS
 Iniciar la aplicación (Obtener la hora y fecha  Fecha
 Hora
del sistema).
 Seleccionar
menú
Validar
Alumno
(información del alumno).
 Seleccionar menú Devolución
 Seleccionar menú Informes
 Seleccionar menú Mantenedor
 Salir de la aplicación.
 Ingresar el número de rut del alumno.
 Buscar información de alumno (Validar el
ingreso del número de rut del alumno. /
Validar que el alumno sea usuario de la
biblioteca / Desplegar información del
alumno)
 Seleccionar menú Préstamo.
 Seleccionar menú Consulta.
 Seleccionar menú Reserva.
 Seleccionar Salir o volver
 Ingresar código de material.
 Buscar información del material (Validar que
exista el material en biblioteca / Validar
disponibilidad del material / Verificar que
alumno cumple condición para el préstamo /
Buscar si el alumno estaba en nómina de
reserva del material / Desplegar datos del
material).
 Asignar material en préstamo a alumno.
 Seleccionar Salir o volver
Entrada (ingreso o
selección)
 Número de Rut
Salida (despliegue)
 Nombres
 Apellido Paterno
 Apellido Materno
 Carrera Alumno
 Información Atrasos
Entrada
 Código de Material
Salida
 Título
 Autor
 Estado
37
 Ingresar código de material.
 Buscar información 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 código de material.
Material
 Buscar información 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 código de material.
de Material
 Buscar información del material (Valida que
exista el material / Desplegar información del
material)
 Seleccionar nuevo.
 Seleccionar modificar.
 Seleccionar eliminar.
 Seleccionar Salir o volver
Devolución de  Ingresar código de material.
Material
 Hacer Click en buscar información del
préstamo (Valida que exista el préstamo del
material / Desplegar información del
préstamo)
 Ingresar estado del material
 Actualizar BD con devolución de material.
 Seleccionar Salir o volver
Informes
 Ingresar fecha desde y hasta
 Seleccionar Ver
 Seleccionar imprimir.
 Seleccionar Salir o volver
Consulta de
Material
Entrada
 Código de Material
Salida
 Título
 Autor
 Estado
Entrada
 Código de Material
Salida
 Título
 Autor
 Estado
 Mensaje
Entrada
 Código de Material
Salida
 Titulo
 Autor
 Tipo
 Detalle
Entrada
 Código de Material
 Estado
Salida
 Titulo
 Autor
 Detalle
Entrada
 Fecha desde
 Fecha hasta
 Datos del Informe
Cada herramienta de manipulación es una tarea que el usuario realiza y se
implementan mediante el uso de botones, menús, sliders, etc. Las herramientas de
retroalimentación es información que debe ser presentada al usuario, para ello se
utilizan los cuadros de texto, listas, gráficos interactivos, etc.
38
De acuerdo a la clasificación anterior se obtienen los siguientes componentes
de diálogo.
Sistema de Biblioteca
Menu (Barra de Herramientas)
Datos del Sistema
InfoPréstamos
de alum
Fecha
21
Devolución
Salir
Hora
Informes
Salir
Mant.Material
Devolución de
Material
Salir
Mantención de
materiales
Informes
Información
Allumno
Ilustración 1: Componente de Diálogo Sistema de Biblioteca
Información Alumno
2
Datos del Alumno
Numero rut
1
Buscar
Nombres
Ap. Paterno
Ap. Materno
Carrera
Información Atrasos
Menú de Acciones
3
4
Préstamo
Consulta
Préstamo de
Material
Consulta de
Material
5
Reserva
Reserva de
Material
Salir
Sistema de
Biblioteca
Ilustración 2: Componente de Diálogo Información Alumno
(previo a un préstamo, consulta o reserva)
39
Préstamo Material
Datos del Material
7
Código del
Material
8
Titulo
Autor
Buscar
Estado
Menú de Acciones
9
Asignar
Salir
Ilustración 3: Componente de Diálogo Préstamo de Material
Mensajes
Información
Alumno
Consulta de Material
Datos del Material
7
Código del
Material
8
Título
Autor
Buscar
Estado
Menú de Acciones
10
Asignar
Salir
Mensajes
Información
Alumno
Ilustración 4: Componente de Diálogo Consulta de Material
40
Reserva de Material
Datos del Material
7
Código del
Material
8
Título
Autor
Buscar
Estado Lista
Menú de Acciones
11
Reservar
Salir
Mensajes
Información
Alumno
Ilustración 5: Componente de Diálogo Reserva de Material
Mensaje
Cuadro de
Mensaje
Mensaje
6
Aceptar
Ilustración 6: Componente de Diálogo Mensaje
41
Mantenedor Material
Datos del Material
7
8
Código del
Material
Título
Autor
12
Tipo
Buscar
Detalle
Menú de Acciones
15
13
Nuevo
14
Modificar
Eliminar
Salir
Sistema de
Biblioteca
Mensaje
Ilustración 7: Componente de Diálogo Mantenedor de Material
Informes
Datos del Informe
Fecha Inicio
18 Período Informe
Texto Informe
Menú de Acciones
19
20
Ver
Imprimir
Salir
Sistema de
Biblioteca
Ilustración 8: Componente de Diálogo Informes
42
Devolución de Material
Datos del Material
7
Código del
Material
Título
Autor
8
Buscar
Estado
16
Menú de Acciones
17
Devolución
Salir
Mensajes
Información
Alumno
Ilustración 9: Componente de Diálogo Devolución de Material
43
2.3.4. Diseño de la interfaz gráfica utilizando lenguaje
Estos diagramas y componentes de diálogo permiten el diseño de las interfaces
gráficas que se aprecian en las siguientes ilustraciones.
Ilustración 2: Interfaz gráfica para el componente de diálogo Sistema de Biblioteca
Ilustración 11: Interfaz gráfica para el componente de diálogo Información Alumno
44
Ilustración 12: Interfaz gráfica para el componente de diálogo Préstamo de Material
Ilustración 13: Interfaz gráfica para el componente de diálogo Consulta de Material
45
Ilustración 14: Interfaz gráfica para el componente de diálogo Reserva de Material
Ilustración 15: Interfaz gráfica para el componente de diálogo Mensaje
Ilustración 16: Interfaz gráfica para el componente de diálogo Mantenedor de Material
46
Ilustración 17: Interfaz gráfica para el componente de diálogo Informes
Ilustración 18: Interfaz gráfica para el componente de diálogo Devolución de Material
47
Bibliografía.
[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] Héctor Antillanca Espina, “Apuntes de la asignatura: Ingeniería 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 páginas.
3. [Booch98a] Grady Booch, “Rational Rose: past, present, and future”, Rose
Architect, Volumen 1, Número 1, Octubre de 1998, páginas 8 - 10.
4. [Booch98b] Grady Booch, “The Visual Modeling of Software Architecture for the
Enterprise”, Rose Architect, Volumen 1, Número 1, Octubre de 1998, páginas 18 25.
5. [Companion98] Companion Corporation, “Alexandria for Windows: the
multimedia library automation system for schools”, COMPanion Corporation,
1998, información del producto, www.companioncorp.com.
6. [Jaaksi98a] Ari Jaaksi, “A Method for Your First Object – Oriented Project”,
Journal of Object – Oriented Programming, Volumen 10, Número 9, Enero de
1998, páginas 17 - 25.
7. [Jaaksi98b] Ari Jaaksi, “Our Cases with User Cases”, Journal of Object –
Oriented Programming, Volumen 10, Número 9, Enero de 1998, páginas 58 - 65.
48
III FASE
DISEÑO ORIENTADO A OBJETO
DISEÑO OO
INDICE INFORME DE DISEÑO ORIENTADO A OBJETOS
Introducción
Diseño de objetos
Modelo de objetos de la capa VISTA
Modelo de objetos de la capa CONTROLADORs
Diseño de comportamiento
Elaboración de trazas de eventos
Conclusiones
Bibliografía
Autoevaluación
OBJETIVO DE LA FASE DEL DISEÑO
El diseño tiene por finalidad especificar cómo será implementada la solución. Define
los métodos de las clases
Componentes del diseño.
El diseño orientado a objetos (en adelante DOO) supone que ya se posee las
clases aunque sin los métodos. Definir estos últimos es uno de los objetivos del
DOO [Antillanca99]. Se supone que:
AOO
El análisis produce descripciones
del problema, especifica qué
debe hacer el sistema, bosqueja
la solución desde el punto de
vista del usuario.
Los modelos del análisis capturan
y ejemplifican conceptos y
operaciones desde el punto de
vista del usuario
Los elementos de los modelos del
análisis muestran el mundo de
los usuarios,
DOO
El diseño por su parte usa artefactos y
especifica cómo será implementada la
solución
Los modelos del diseño, aparentemente
similares a los del análisis, ilustran la
implementación del sistema, en varios
niveles de abstracción
Los elementos del diseño ilustran los
conceptos de los programadores
En la figura siguiente se ha destacado los componentes del DOO dentro del
contexto de la ingeniería de software orientada al objeto (en adelante ISOO):
49
Requerimientos del Cliente
AOO
Análisis de
Comportamiento
Análisis de Objeto
Modelo de
Objetos
DOO
Especificación
de
Operaciones
Especificación de
Interfaz Usuaria
Diagramas de
Diálogos
Diseño de
Comportamiento
Diseño de Objeto
Modelo de
Objeto de
Diseño
POO
Diagramas
de
Componentes
Traza de
Eventos
Especificación de
Clases
Declaración de
Clases
Máquina de
Estados
Implementación
de Clases
Implementación
de Métodos
Ilustración 3: El diseño orientado al objeto en el contexto de la POO.
50
3. Diseño del “Sistema de préstamo bibliotecario”.
3.1. DISEÑO DE OBJETOS
Las clases de la vista se obtienen fácilmente de la fase de especificación de la
interfaz usuaria. Cada diálogo de los diagramas de diálogo se transforma en una
clase vista. Cada componente especificada en los diagramas de diálogo 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 múltiples 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 diálogo de la interfaz gráfica representa un objeto compuesto de atributos y
métodos (observe cuidadosamente cada diálogo y en él encontrará atributos (datos)
y métodos (funciones) que los dispone dentro de la clase
Sistema de
Bilioteca
Fecha
Hora
ObtFecha()
SelPrestamos()
SelDevolucion()
Sel Informes()
Salir()
Consulta en Sala
Reserva de Material
Información Alumno
Prestamo de
Préstamo
Material
Material
num_rut
Nombres
Ap_Paterno
Ap_Materno
Carrera_alumno
Inf_ Atrasos
Cod-mat
Titulo
Cod_Material
Estado
Autor
Estado
Titulo
Cod_Material
Estado
Autor
Buscar()
Prestamos()
Consulta()
Reserva()
Salir()
Buscar(
)
Buscar()
Asignar()
AsignarPrestamo(
)
Salir()
Salir()
Buscar( )
Buscar()
Asignar()
AsignarConsulta(
Salir()
Salir()
Mensajes
Consulta de
Consulta
en Sala
Material
Cod-mat
Estado
)
Mantenedor de
Material
Cod-mat
Cod_Material
Titulo
Estado_Lista
Autor
Estado
Buscar( )
Reservar()
AsignarReserva( )
Salir()
Salir()
Devolucioo de
Material
Cod_Material
Estado
Buscar()
Devolucion()
Salir()
Mensaje
SelAceptar()
Informes de Material
Cod_Material
Titulo
Autor
Tipo
Detalle
Buscar()
Nuevo()
Eliminar()
Modificar()
Salir()
FechaInicio
Periodo
Texto
Ver()
Imprimir()
Salir()
Ilustración 4: Modelo de objetos del diseño (capa VISTA).
51
3.1.2. Modelo de Objetos de diseño de la capa CONTROLADOR).
Reemplazar por el DER (BD es relacional)
En la fase de Análisis OO, se elaboró un primer Modelo de Objetos, pero en
ese entonces lo sustantivo fue identificar cuáles eran los objetos para la aplicación,
pues bien, ahora en la fase de Diseño OO, tomamos ese Modelo elaborado en el
AOO y agregamos los atributos y métodos 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
Emite 1
Mantiene
1
Emite
1..*
1
Informe
Desde
Hasta
Ver
Imprimir
Mantiene
Valida
1..*
1..*
Alumno
Rut
Nombre
Carrera
Estado
Solicita
Consulta
Reserva
Devuelve
1..*
Solicita, Consulta,
Reserva, Devuelve
1..*
Material
Codigo
Titulo
Autor
Asigna
Ilustración 4: Primer modelo de objetos del diseño. (capa CONTROLADOR, conecta con la BD)
52
Diseño del comportamiento
3.2.1. Elaboración de Trazas de Eventos (diagramas de secuencia).
El diseño 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 interactúa. Al ejecutar alguna
acción el usuario provoca que la vista la interprete y le pida requerimientos al
controlador. Este a su vez interactúa con el modelo. Esto se aprecia mejor
gráficamente:
Manipulación
Realimentación
Usuario
VISTA
Acciones
Interpretadas
Solicitudes de
atención
CONTROLADOR
Solicita
acción
Resultado
MODELO
Ilustración 4: Modelo de las tres capas.
53
Por cada operación definida en la etapa de análisis 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 diseño, en definitiva las funciones que llevarán a la práctica.
El nombre de la función es escrito sobre la flecha. Las llamadas a funciones se
representan a través de flechas sobre la cual se escribe el nombre de la función y
cuando corresponde se señalan los parámetros necesarios entre paréntesis, y los
valores retornados de las llamadas a funciones son escritos sin paréntesis.
Las trazas de eventos grafican las hebras de ejecución como normalmente se
han de realizar.
A continuación se inicia la construcción de las trazas de eventos para las
operaciones especificadas en los casos de usos representando la responsabilidad
del Actor y del Sistema
54
2. Validar alumno.
Flujo normal o escenario exitoso
Responsabilidad del Actor
Responsabilidad del Sistema
1. Habilita el ingreso del rut del alumno y el botón
“buscar” y el botón “salir”
2. Ingresa rut
3. Acepta rut (botón Buscar)
4. Valida el ingreso del rut (digitación)
5. Valida que alumno sea usuario de biblioteca
6. Despliega datos del alumno y activa los casos de
uso “Préstamo”, “Consulta” y “Reserva”
7 Selecciona un caso de uso
“Préstamo”, “Consulta” o
“Reserva”
8. Fin del caso de uso
IMPORTANTE, Si en la operación n°1 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
sólo entonces el CONTROLADOR despliega la pantalla en la VISTA
Usuario
Vista
Controlador
1 HabilitaRutyBotones
BuscarySalir ( )
2 Ingresa (rut)
Cuando se usa teclado
3 Acepta (rut)
 Los nombres de los
métodos, no tienen
porque ser tan
extensos, recuerde que
un método es sinónimo
de una function.
 Siempre el método
debe llevar ( ). Si llevan
datos deben ir entre los
paréntesis, pues
representan
parámetros.
 Siempre que se
actualiza la BD, esta
retorna un flag que
señala operación
exitosa

Modelo
 Los flujos entre las 3
capas NO debieran
estar cortados, deben
permitir un tránsito.
 Si la última operación
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 ValidaCondiciónUsuario(rut)
Ir por datos a la BD
6 DevuelveDatos (alumno)
BD retorna los datos leidos
6 DespliegaDatos(alumno)
7 SeleccionaPréstamo
ConsultaReserva ( )
8 FinCasoUso( )
55
Flujo alternativo 1: Valida el ingreso del rut (digitación). Si rut fue mal ingresado
Responsabilidad del Actor
Responsabilidad del Sistema
1. Despliega mensaje de “rut mal ingresado” y
2. Acepta el mensaje (botón
habilita botón Aceptar
Aceptar)
3. Fin flujo alternativo 1
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 botón
2. Acepta el mensaje (botón
Aceptar
Aceptar)
3. Fin flujo alternativo 2
Usuario
; Vista
; Controlador
; Modelo
1 MensajeHabilitaAceptar (“No registrado”)
2 AceptaMensaje ( )
3 FinFlujoAlternativo( )
56
Descargar