Top Banner
Técnicas de Modelamiento Sesión 5 Modelado de Interacciones Prof. César Luza Montero Facultad 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ú
64

Tm05 modelo de_interacción

Jul 15, 2015

Download

Documents

Julio Pari
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tm05 modelo de_interacción

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ú

Page 2: Tm05 modelo de_interacción

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]

Page 3: Tm05 modelo de_interacción

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.

Page 4: Tm05 modelo de_interacción

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)

Page 5: Tm05 modelo de_interacción

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

Page 6: Tm05 modelo de_interacción

6

: Profesor : GestorTutorias asignatura :

TutoriaAsignaturanuevoPeriodoTutoria :

Periodo

setAsignaturaEnTutoria( )

setEnTutoria( )

enTutoria := estaEnTutoria( )

[enTutoria]

create( )

setInicioPerido( )

setPeridoActual(PeriodoTutoria)

Ejemplo de Diagrama de Secuencia

Page 7: Tm05 modelo de_interacción

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

Page 8: Tm05 modelo de_interacció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

Page 9: Tm05 modelo de_interacción

9

Objetos y líneas de vida

un objeto cliente : cliente

un objeto servidor : servidor

mensaje Objetos

Línea de vidaIcono del mensaje

Page 10: Tm05 modelo de_interacción

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

Page 11: Tm05 modelo de_interacción

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

Page 12: Tm05 modelo de_interacción

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

Page 13: Tm05 modelo de_interacció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

Page 14: Tm05 modelo de_interacción

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

Page 15: Tm05 modelo de_interacción

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.

Page 16: Tm05 modelo de_interacción

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

Page 17: Tm05 modelo de_interacción

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.

Page 18: Tm05 modelo de_interacción

18

¿Qué es el modelo de análisis?

I_Cajero Cta_ClienteCliente

I_Autenticacion

C_Gestor_Interfaz

C_Verificador_Autenticacion

F01.01 Consulta saldo

Page 19: Tm05 modelo de_interacción

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.

Page 20: Tm05 modelo de_interacción

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

Page 21: Tm05 modelo de_interacción

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.

Page 22: Tm05 modelo de_interacción

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

Page 23: Tm05 modelo de_interacción

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.

Page 24: Tm05 modelo de_interacción

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

Page 25: Tm05 modelo de_interacción

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

Page 26: Tm05 modelo de_interacción

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.

Page 27: Tm05 modelo de_interacción

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

Page 28: Tm05 modelo de_interacción

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”

Page 29: Tm05 modelo de_interacción

29

Relación entre Vistas…

Vista de Casos de Uso Vista Lógica

Modelo de Análisis

Page 30: Tm05 modelo de_interacción

30

Relación entre Modelos de distintas vistas

Vista de Casos de Uso Vista Lógica

Modelo de Análisis

<<Trace>>

Page 31: Tm05 modelo de_interacción

31

Entradas y Salidas del Proceso

Page 32: Tm05 modelo de_interacción

32

¿Qué es el análisis de casos de uso?

Page 33: Tm05 modelo de_interacción

33

¿Qué es el análisis de casos de uso?

Page 34: Tm05 modelo de_interacción

34

¿Cómo se hace el análisis de casos de uso?

Page 35: Tm05 modelo de_interacción

35

¿Cómo se hace el análisis de casos de uso?

Page 36: Tm05 modelo de_interacción

36

Análisis de casos de uso

Page 37: Tm05 modelo de_interacción

37

Encontrando clases en los casos de uso

Page 38: Tm05 modelo de_interacción

38

¿Cómo son las clases de análisis?

Page 39: Tm05 modelo de_interacción

39

Estereotipos

Page 40: Tm05 modelo de_interacción

40

Clases de límite (Boundary)

Page 41: Tm05 modelo de_interacción

41

Interfases con otros sistemas

Page 42: Tm05 modelo de_interacción

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

Page 43: Tm05 modelo de_interacción

43

Boundary Classes

Studentr Course Catalog SystemRegister for Courses

RegisterForCoursesForm

CourseCatalogSystem

Page 44: Tm05 modelo de_interacción

44

Clase de Entidad (Entity)

Page 45: Tm05 modelo de_interacción

45

El rol de una clase Entidad

Almacenar y manejar información en el sistema

Page 46: Tm05 modelo de_interacción

46

Clase de Control

Page 47: Tm05 modelo de_interacción

47

Rol de una clase Control

Page 48: Tm05 modelo de_interacción

48

Control Classes

Una clase control por caso de uso

Student Course Catalog SystemRegister for Courses

RegistrationController

Page 49: Tm05 modelo de_interacción

49

Encontrando objetos entidad

Page 50: Tm05 modelo de_interacción

50

Filtrando sustantivos

Page 51: Tm05 modelo de_interacción

51

Escenario inscribirse en cursos-crear un horario

Page 52: Tm05 modelo de_interacción

52

Sustantivos del escenario del caso de uso inscribirse en cursos-crear un horario

Page 53: Tm05 modelo de_interacción

53

Filtrando el escenario del caso de uso inscribirse en cursos-crear un horario

Page 54: Tm05 modelo de_interacción

54

Análisis de objetos filtrados en el escenario del caso de uso inscribirse en cursos-crear un horario

Page 55: Tm05 modelo de_interacción

55

Creando clases entidad

Page 56: Tm05 modelo de_interacción

56

Clases entidad identificadas en el escenario del caso de uso inscribirse en cursos-crear un horario

Page 57: Tm05 modelo de_interacción

57

Encontrando clases límite

Page 58: Tm05 modelo de_interacción

58

Candidatos a clases límite en el escenario del caso de uso inscribirse en cursos-crear un horario

Page 59: Tm05 modelo de_interacción

59

Bosquejo de pantalla

Page 60: Tm05 modelo de_interacción

60

Encontrando clases de control

Page 61: Tm05 modelo de_interacción

61

Clases de Control en el caso de uso inscribirse a cursos

Page 62: Tm05 modelo de_interacción

62

Diagrama de Vista de Clases Participantes (VOPC)

Page 63: Tm05 modelo de_interacción

63

Ejemplo de VOPC

Page 64: Tm05 modelo de_interacción

64

Tarea

Desarrollar el caso planteado por el profesor