tm05 modelo de_interacción

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

Upload: julio-pari

Post on 15-Jul-2015

343 views

Category:

Documents


0 download

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”

29

Relación entre Vistas…

Vista de Casos de Uso Vista Lógica

Modelo de Análisis

30

Relación entre Modelos de distintas vistas

Vista de Casos de Uso Vista Lógica

Modelo de Análisis

<<Trace>>

31

Entradas y Salidas del Proceso

32

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

33

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

34

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

35

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

36

Análisis de casos de uso

37

Encontrando clases en los casos de uso

38

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

39

Estereotipos

40

Clases de límite (Boundary)

41

Interfases con otros sistemas

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

44

Clase de Entidad (Entity)

45

El rol de una clase Entidad

Almacenar y manejar información en el sistema

46

Clase de Control

47

Rol de una clase Control

48

Control Classes

Una clase control por caso de uso

Student Course Catalog SystemRegister for Courses

RegistrationController

49

Encontrando objetos entidad

50

Filtrando sustantivos

51

Escenario inscribirse en cursos-crear un horario

52

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

53

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

54

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

55

Creando clases entidad

56

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

57

Encontrando clases límite

58

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

59

Bosquejo de pantalla

60

Encontrando clases de control

61

Clases de Control en el caso de uso inscribirse a cursos

62

Diagrama de Vista de Clases Participantes (VOPC)

63

Ejemplo de VOPC

64

Tarea

Desarrollar el caso planteado por el profesor