tm05 modelo de_interacción
TRANSCRIPT
Técnicas de Modelamiento Sesión 5
Modelado de Interacciones
Prof. César Luza MonteroFacultad de Ingeniería de Sistemas e Informática
Universidad Nacional Mayor de San Marcos
Copyright © 2008, Cesar Luza, Lima-PerúCopyright © 2008, Cesar Luza, Lima-Perú
2
Mensajes e Interacciones Los objetos en un sistema O-O interactúan entre
ellos mediante mensajes que solicitan algún servicio del objeto receptor.
El objeto receptor responde el mensaje a través de algún método definido y conocido por el objeto emisor.
: Profesor
: GestorTutorias
asignatura : TutoriaAsignatura
nuevoPeriodoTutoria : Periodo
1: setAsignaturaEnTutoria( )
3: enTutoria := estaEnTutoria( )
5: create( )6: setInicioPerido( )
7: setPeridoActual(PeriodoTutoria)
2: setEnTutoria( )
4: [enTutoria]
3
¿ Qué es un Mensaje?
:MandoADistancia :Televisor
Conectar()
Canal(4)
Es la especificación de una comunicación entre un objeto emisor y otro que actúa como receptor; con la expectativa de desencadenar en este último, una actividad.
4
¿ Qué es una Interacción
Una Interacción es el conjunto de mensajes intercambiados entre un conjunto de objetos, dentro de un contexto para lograr un propósito.
Se modelan mediante diagramas de interacción del UML
: Profesor : GestorTutorias asignatura :
TutoriaAsignaturanuevoPeriodoTutoria :
Periodo
setAsignaturaEnTutoria( )
setEnTutoria( )
enTutoria := estaEnTutoria( )
[enTutoria]
create( )
setInicioPerido( )
setPeridoActual(PeriodoTutoria)
5
Diagramas de Interacción
Describen una interacción. Dos tipos: Diagramas de Secuencia y Colaboración Diagramas de Secuencia:
Destacan el orden temporal de los mensajes Diagramas de Colaboración:
Destacan la organización estructural de los objetos participantes.
Tienen equivalencia semántica
6
: Profesor : GestorTutorias asignatura :
TutoriaAsignaturanuevoPeriodoTutoria :
Periodo
setAsignaturaEnTutoria( )
setEnTutoria( )
enTutoria := estaEnTutoria( )
[enTutoria]
create( )
setInicioPerido( )
setPeridoActual(PeriodoTutoria)
Ejemplo de Diagrama de Secuencia
7
: Profesor
: GestorTutorias
asignatura : TutoriaAsignatura
nuevoPeriodoTutoria : Periodo
1: setAsignaturaEnTutoria( )
3: enTutoria := estaEnTutoria( )
5: create( )6: setInicioPerido( )
7: setPeridoActual(PeriodoTutoria)
2: setEnTutoria( )
4: [enTutoria]
Ejemplo de Diagrama de Colaboración
8
Elementos fundamentales
De forma general el diagrama de Secuencia está formado por: Objetos y líneas de tiempo por objeto Iconos de Mensaje: uno por cada mensaje, entre dos
líneas de tiempo Mensaje: nombrados, comúnmente sin numerar
De forma general el diagrama de Colaboración está formado por: Objetos y enlaces entre objetos Iconos de Mensaje: uno para varios mensajes Mensajes: nombrados y numerados
9
Objetos y líneas de vida
un objeto cliente : cliente
un objeto servidor : servidor
mensaje Objetos
Línea de vidaIcono del mensaje
10
Mensaje simple
Envío de Mensaje simple: Un solo hilo de ejecución El objeto activo pasa el control al objeto pasivo
un objeto cliente : cliente
un objeto servidor : servidor
mensaje
11
Mensaje de Retorno(Return) Envío de mensaje Retorno
Muestra el valor de retorno de un mensaje Debe evitarse ya que un retorno esta siempre implícito al
final de un mensaje
un objeto cliente : cliente
un objeto servidor : servidor
mensaje
valor de retorno del mensaje
12
Foco de control
Muestra (de forma simbólica) la duración de una acción.
un objeto cliente : cliente
un objeto servidor : servidor
mensaje 1
mensaje 2
mensaje 3Foco de control
duración
13
Mensaje a si mismo
Mensaje a sí mismo: es posible que un objeto se envíe un mensaje a sí mismo
un objeto cliente : cliente
un objeto servidor : servidor
mensaje
mensaje a sí mismo
14
Otros elementos
un objeto cliente : cliente un objeto servidor : servidor
mensaje(un parametro, otro parametro)
resultado = mensaje
*mensaje
[condicion] mensaje
Mensaje con parámetros
Mensaje con
resultado
Indica iteración
Si se cumple la condición se
envía el mensaje
15
Utilidad del diagrama de secuencia
Para documentar casos de uso Se considera dos tipos de objetos: actor y sistema (caja
negra). El diagrama se conoce como Diagrama de Secuencia del
Sistema (DSS)
Para realizar casos de uso A nivel de análisis, se consideraran actores y objetos del
dominio A nivel de diseño, los actores se sustituyen por objetos
interfaz Este caso permite encontrar las operaciones de cada
clase identificada en el modelo de dominio.
16
Realización de casos de uso
Una Realización de Casos de Uso (RCU) describe como un escenario de un CU es realizado por varios objetos colaborando entre sí.
Se representa con diagramas de secuencia, colaboración y de clases.
La definición de una RCU se inicia con el Análisis de Casos de Uso (Modelo de Análisis) y se completa con el diseño de casos de uso (Modelo de diseño).
El objetivo de una RCU es especificar que clases deben ser construidas para implementar ese caso de uso.
realizacion de caso de uso
17
¿Qué es el modelo de análisis?
Es un modelo conceptual de objetos, que ayuda a refinar los requerimientos y permite a los desarrolladores describir la estructura interna
del sistema. El modelo de análisis proporciona una configuración
conceptual del sistema que consiste de objetos de : interfaz, entidad e control.
18
¿Qué es el modelo de análisis?
I_Cajero Cta_ClienteCliente
I_Autenticacion
C_Gestor_Interfaz
C_Verificador_Autenticacion
F01.01 Consulta saldo
19
Clase Interfaz
Las Clases Interfaz o frontera o “Boundary” se usan para modelar la interacción entre el sistema y los actores.
Esta interacción involucra recibir (y presentar) información y peticiones desde usuarios y sistemas
externos. Representan la abstracción de ventanas, formularios,
paneles, interfaces de comunicación, impresoras, sensores, terminales o dispositivos.
20
Clase Interfaz
Ejemplo: La interfaz de pago es usada para soportar la interacción
entre el actor cajero y el caso de uso de Registrar Pago.
Cajero IU_Pago
21
Clases Entidad
Las Clases Entidad (Entity) son usadas para modelar la información que tiene permanencia en el tiempo y es persistente.
Modelan la información y el comportamiento asociado de algún concepto como una persona, evento u objeto del mundo real.
Usualmente muestran la estructura de datos lógica que contribuye a la comprensión de la información que depende el sistema.
22
Clases Entidad
Ejemplo: La clase entidad Pago permite mostrar la información
de un pago en la interfaz de pago.
Cajero IU_Pago
Pago
consulta
23
Clase Controladora
Las clases “control” representan la coordinación, secuencia, gestión de transacciones y control de otros objetos.
Usualmente se usan para encapsular el control relacionado con un caso de uso específico.
También se usan para representar cálculos y derivaciones complejas, como la lógica del negocio que no se puede relacionar con ninguna entidad.
La dinámica del sistema se modela en una clase controladora, que se encarga de delegar trabajo a otras clases.
24
Clase Controladora
Ejemplo: La controladora de pagos es responsable de la
coordinación entre la interfaz de pagos y la entidad pago.
CajeroIU_Pago
Pago
Registrar
Controladorade Pagos
Crear
25
Diagrama de clases de análisis
Es un diagrama que muestra las clases de análisis y sus relaciones.
CajeroIU_Pago
Pago
Registrar
Controladorade Pagos
Crear
26
Modelo de Casos de Uso vs. Modelo de Análisis
Use-Case Model Se describe usando el lenguaje
del cliente. Es la vista externa del sistema. Se usa a manera de contrato
entre clientes y desarrolladores para definir lo que el sistema debe y no debe hacer
Puede contener redundancias e inconsistencias en el enlace con los requerimientos.
Captura la funcionalidad del sistema
Analysis Model Se describe usando el lenguaje del
desarrollador. Es la vista interna del sistema.
Se usa para que los desarrolladores comprendan como el sistema debe
ser diseñado e implementado. No debe contener redundancias ni
inconsistencias en la interpretación de los requerimientos.
Bosqueja como realizar la funcionalidad dentro del sistema.
Proceso de Conversión: Casos de Uso Análisis
Gestor/ControlGestor/Control
caso de uso (MCU)caso de uso (MCU) Realización (MA)
InterfazInterfaz EntidadEntidad
MODELO DE CASOS DE USO MODELO DE ANÁLISIS
«trace»
Artefactos del modelo de análisis
I_Cajero Cta_ClienteCliente
I_Autenticacion
C_Gestor_Interfaz
C_Verificador_Autenticacion
F01.01 Consulta saldo
Diagrama deClases de AnálisisAtómico
28
Modelo de las vistas
Vista lógica Vista de Implementación
Vista de Proceso
Analistas – Diseñadores
EstructuraProgramadores
Manejo del Sw
Integradores de sistemas
Desempeño
Escalabilidad
Ingeniero de sistemas
Topología del sistema,
instalación
Vista de casos de uso
Usuario final
Funcionalidad
El modelo de las “4+1 Vistas”
30
Relación entre Modelos de distintas vistas
Vista de Casos de Uso Vista Lógica
Modelo de Análisis
<<Trace>>
42
El rol de una clase Boundary
<<boundary>>
<<control>> <<boundary>>
<<entity>> <<entity>>
Actor
Modela la interacción entre el sistema y su ambiente
Actor<<boundary>>
43
Boundary Classes
Studentr Course Catalog SystemRegister for Courses
RegisterForCoursesForm
CourseCatalogSystem
48
Control Classes
Una clase control por caso de uso
Student Course Catalog SystemRegister for Courses
RegistrationController
54
Análisis de objetos filtrados en el escenario del caso de uso inscribirse en cursos-crear un horario
56
Clases entidad identificadas en el escenario del caso de uso inscribirse en cursos-crear un horario
58
Candidatos a clases límite en el escenario del caso de uso inscribirse en cursos-crear un horario