Sie sind auf Seite 1von 117

CONTENIDO: UNIDAD III. LENGUAJE DE MODELADO UNIFICADO (UML Introduccin al UML. Metametamodelo de UML. Diagramas de UML .

Introduccin al UML

El Lenguaje de Modelado Unificado (UML) es una notacin grfica la cual permite: especificar, construir, visualizar y documentar los objetos de un sistema programado.
UML

puede ser utilizado por cualquier metodologa de anlisis y diseo orientada por objetos para expresar los diseos.

Historia de UML

Este

lenguaje es el resultado de la unificacin de los mtodos de modelado orientados a objetos de Booch, Rumbaugh (OMT: Object Modeling Technique) y Jacobson (OOSE: Object-Oriented Sotfware Engineering) .
A

mediados de los 90 comenzaron a prestarse ideas entre s, de manera que decidieron trabajar juntos. Un consorcio UML fue formado; entre sus miembros se incluyen DEC, Hewlett-Packard, Intellicorp, Microsoft, Oracle, Texas Instruments, Rational, y otros.

Historia de UML

Booch Odell Shlaer-Mellor


Object life cycles

Rumbaugh

Jacobson Meyer
Pre- and Post-conditions

UML
State Charts

Harel

Gamma et. al.


Frameworks, patterns, notes

Embly

Singleton classes

Fusion
Operation descriptions, message numbering

Wirfs-Brock
Responsabilities

Historia de UML

En

1997, el consorcio produjo la versin 1.0 de UML y lo someti al Object Management Group (OMG) como respuesta a la peticin de OMG para producir un lenguaje de modelado estndar.
El

consorcio expandido gener la versin 1.1 y la someti a la OMG, quien la adopt a finales de 1997. OMG realiz mantenimientos del UML y produjo dos revisiones ms en 1998

Historia de UML
UML

es un estndar administrado por la OMG y ha evolucionado agregando mayor poder y capacidad semntica a cada nueva versin. La versin 1.4 fue liberada a finales del 2001, La versin 1.5 en marzo de 2003. La versin 2.0 el 23 de junio de 2003 y La versin 2.1.1 a principios de 2007.
La

especificaciones http://www.omg.org

tcnicas

de

UML

se

encuentran

en

Historia de UML
2007 2003 2000 1999 UML 2.1.1 UML 2.0 UML 1.4

UML 1.3
UML aprobado por el OMG

1998 Nov 97

UML 1.2

Revisiones menores

Anlisis y Diseo Orientado a Objetos con UML

Estructura de UML 2.0

UML

2.0 consta de un conjunto de notaciones grficas y un lenguajes formal.


Las

notaciones grficas o diagramas son usadas para modelar las diferentes perspectiva de un sistema de software, facilitando la representacin del conocimiento acerca de un sistema.
El

lenguaje formal OCL 2.0 (Object Constraint Language 2.0) es utilizado para completar los diferentes artefactos de la notacin UML con requerimientos formalmente expresados.

Diagramas de UML 2.0

Diagramas UML 2.0


Diagramas Estructurales
Diagramas de Comportamiento

Diagramas de Clases

Diagramas de Componentes

Diagramas de Objetos

Diagramas Actividades

Diagramas de Casos de Uso

Diagramas de Mquina de Estado0

Diagramas de Estructuras Compuestas

Diagramas de Paquetes

Diagramas de Despliegues

Diagramas de Interaccin

Diagramas de Secuencias

Diagramas Vistas de Interaccin

Diagramas de Comunicacin

Diagramas Temporales

Lenguaje OCL 2.0

OCL

2.0 fue adoptado en octubre de 2003 por el grupo OMG como parte de UML 2.0.
OCL

es un lenguaje para la descripcin formal de expresiones en los modelos UML. Sus expresiones pueden representar invariantes, precondiciones, postcondiciones, inicializaciones, guardias, reglas de derivacin, as como consultas a objetos para determinar sus condiciones de estado.
Se

trata de un lenguaje sin efectos de borde, de manera que la verificacin de una condicin, que se presupone una operacin instantnea, nunca altera los objetos del modelo.

10

Perspectivas del Modelado en UML


UML

permite modelar un sistema de software desde diferentes perspectivas.

Funcional
Casos de Uso

Comportamiento

Modelos

Estado, Actividad, Secuencia, Colaboracin

Estructural
Clases, Objetos

Implementacin
Componente, Despliegue
11

Perspectivas del Modelado en UML


4+1 vistas de Kruchten (1995)

Vista Lgica Vista de Usuario Vista de Procesos

Vista de Realizacin

Vista de Distribucin

12

MOF (Meta Objecto Facility)


Es un lenguaje para definir lenguajes de modelado. Est tambin en su versin 2.0. Se trata de alinear el metamodelo UML con el metamodelo MOF, para simplificar el intercambio de modelos, as como la interaccin entre herramientas. Para esto MOF define una Arquitectura de lenguajes de Modelado con cuatro capas o niveles: Nivel M3: MOF Nivel M2: UML Nivel M1: Modelo del usuario. Nivel M0: Instancias en tiempo de ejecucin.
1

En el UML 2.0 el metamodelo est perfectamente adaptado al metamodelo MOF


13

MOF (Meta Objecto Facility)

Al tener una jerarqua con una profundidad prefijada, se puede usar un esquema de nombres para describir cada nivel, y saber as cuando est en la jerarquia de instancia:

Meta Meta-Modelo meta-meta clase meta-meta relaciones meta-meta atributos


1

Meta-Modelo meta clase meta relaciones meta atributos

Modelo clase atributos relaciones

Dato objeto valores de atributos relaciones (instancia)

14

MDA (Model Driven Arquitecture)

Uno de los principales objetivos de MDA es separar el diseo de la arquitectura y de las tecnologas de construccin, facilitando que el

diseo y la arquitectura puedan ser alterados independientemente. El


diseo alberga los requerimientos funcionales (casos de uso) mientras que la arquitectura proporciona la infraestructura a travs de la cual se hacen efectivos requerimientos no funcionales como la escalabilidad, fiabilidad o rendimiento.

15

MDA (Model Driven Arquitecture)

MDA se asegura de que el Modelo Independiente de la Plataforma


(PIM), el cual representa un diseo conceptual que concreta los requerimientos funcionales, sobreviva a los cambios que se produzcan en las tecnologas de fabricacin y en las arquitecturas de softwares. De particular importancia en MDA es la nocin de transformacin de modelos. Uno de los estndares definidos para la transformacin de modelos se denomina QVT. Un ejemplo de lenguaje QVT para la

transformacin de modelos es el Lenguaje de Transformacin ATL de


INRIA.

16

Diagrama de Casos de Uso


Un diagrama de Casos de Uso muestra la distintas operaciones que se esperan de una aplicacin o sistema y cmo se relacionan con su entorno (usuario u otras aplicaciones).

17

Diagrama de Casos de Uso

Es una herramienta esencial para la captura de requerimientos y para la planificacin y control de un proyecto interactivo. El conjunto de casos de uso representa la totalidad de las funcionalidades de un sistema. Entendindose por funcionalidad, el conjunto de funciones que un sistema provee a sus usuarios.

18

Diagrama de Casos de Uso

Los diagramas de Casos de Uso modelan: Los actores de un sistema. Los casos de uso Las relaciones entre actores Las relaciones entre casos de uso. Las relaciones de comunicacin entre actores y casos de uso. Los lmites del sistema (frontera). El refinamiento o descomposicin de los casos de uso.

19

Diagrama de Casos de Uso


Los Casos de Uso es una tcnica para capturar informacin de cmo un sistema o negocio trabaja, o de cmo se desea que trabaje

No pertenece estrictamente al enfoque orientado a objeto, es una tcnica para captura de requisitos

20

Diagrama de Casos de Uso

Un Caso de Uso esta muy relacionado con lo que pudiera ser considerado un escenario en el sistema; esto es, lo que ocurre cuando alguien interacta con el sistema, por ejemplo: "Acude un mesero a colocar la orden, la orden es tomada por el cocinero, y posteriormente se abona a la cuenta del cliente el cargo".

21

Diagrama de Casos de Uso


Cada escenario describe una secuencia de eventos. Cada secuencia es iniciada por una persona, otro sistema, un dispositivo de hardware o por un intervalo de tiempo culminado. Las entidades que inician las secuencias se denominan actores. El resultado de la secuencia tiene que ser algo de utilidad bien sea para el actor que la inicio o para otro actor Joseph Schmuller

22

Elementos del Diagrama de Casos de Uso


Caso de Uso: El caso de uso es representado por un valo que describe la funcionalidad a grosso modo que se requiere por el sistema. El nombre del caso de uso se coloca en el interior de valo (Verbo + Sustantivo).

Nombre del Caso de Uso

23

Elementos del Diagrama de Casos de Uso


Actor: Es un usuario del sistema, que necesita o usa alguno de los casos de uso. Un actor puede jugar ms de un rol. Un solo actor puede actuar en muchos casos de uso; recprocamente, un caso de uso puede tener varios actores. Los actores no necesitan ser humanos pueden ser sistemas externos que necesitan alguna informacin del sistema actual o incluso dispositivos.
Estudiante

<<Actor>> Estudiante

Los nombres de los actores debe indicar roles.

24

Elementos del Diagrama de Casos de Uso


Lmite de Sistema (System Boundry): Empleado para delimitar los lmites del sistema, es representado por un rectngulo.

Nombre del Caso de Uso

Caso de Uso: El caso de uso en s es representado por un valo que describe la funcionalidad a grosso modo que se requiere por el sistema.
25

Relaciones en un Diagrama de Casos de Uso

Relacin entre un actor y el caso de uso: Asociacin o comunicacin Relacin entre actores: Generalizacin. Relacin entre casos de uso: Extensin Inclusin Generalizacin
26

Relaciones en un Diagrama de Casos de Uso


Relaciones de Asociacin: Este elemento representa la relacin que existe entre el caso de uso y un actor. Es representado por una linea recta que se extiende desde el actor hacia el caso de uso.

Actor

Caso de Uso

27

Relaciones en un Diagrama de Casos de Uso

Se pueden establecer relaciones de generalizacin entre los actores.

28

Relaciones en un Diagrama de Casos de Uso


Relacin de Inclusin : Indica que un caso de uso necesita del caso de uso incluido para realizar/completar su funcin. Este elemento es representado por una linea punteada con flecha y stereotype <<include>> que se extiende del caso de uso base hacia el caso de uso de inclusin.

<<include>>

Caso de Uso Origen

Caso de Uso Destino

29

Relaciones en un Diagrama de Casos de Uso


Ejemplos:

< < include> >

Identificacin

Cliente

Transferencia

< < extend> >

Transferencia en Internet

30

Relaciones en un Diagrama de Casos de Uso


Relacin de Extensin : Modelan relaciones en las cuales un caso de uso base incluye el comportamiento de un caso de uso extendido en uno o ms puntos de extensin. Tienen asociado una condicin que determina cuando el caso de usp extendido es invocado por el caso de uso base.

<<extend>>

Caso de Uso Origen

Caso de Uso Destino

31

Relaciones en un Diagrama de Casos de Uso


Relacin de Extensin : Usadas para modelar separadamente el comportamiento excepcional del caso de uso base.

32

Relaciones en un Diagrama de Casos de Uso


Generalizacin : Una generalizacin indica que un caso de uso es un caso especial de otro caso, en otros trminos, representa una relacin padre-hijo, donde el hijo puede ser suplido directamente por el padre en cualquier momento. El Caso de Uso origen hereda la especificacin del Caso de Uso destino y posiblemente la modifica y/o ampla

Caso de Uso Hijo

Caso de Uso Padre

33

Relaciones en un Diagrama de Casos de Uso


Generalizacin :
Este elemento es representado por una linea con flecha que se extiende desde el caso de uso hijo hacia el caso de uso padre (general).

34

Diagrama de Casos de Uso


Ejemplo:

35

Diagrama de Casos de Uso


Ejemplo:

36

Descripcin de Casos de Uso


Los diagramas de casos de uso tienen un costo asociado a su simplicidad y eso es la baja expresividad. Es decir, el conjunto de acciones que ocurren entre el actor y el caso de uso no se pueden capturar con los smbolos del diagrama. En tal sentido las descripciones textuales complementan los diagramas de casos de uso. Ellos expresan en forma narrativa o textual, los detalles de la interaccin entre el actor y el caso de uso.

Cada caso de uso debe ser descrito.

37

Ejemplo de la Descripcin de un Caso de Uso

Caso de Uso: Comprar Boleto de Lotera Actores: Cliente (iniciador) y Banquero Tipo: Primario y esencial

Resumen: Este caso de uso se inicia cuando un cliente llega al despacho de lotera e indica los nmeros a comprar. El banquero registra los nmero y cobra el importe. Al terminar la operacin, el cliente se marcha con el boleto.

38

Ejemplo de la Descripcin de un Caso de Uso


Curso normal de los eventos Accin del Actor 1. Este caso de uso comienza cuando un cliente llega a la taquilla de un banquero con los nmeros que desea comprar. 2. El banquero registra para cada nmero, la lotera, el horario y el monto. Al terminar indica al sistema que termino la transaccin. Accin del Sistema 3. Determina el monto total a cancelar.

39

Ejemplo de la Descripcin de un Caso de Uso


Curso normal de los eventos Accin del Actor 4. El banquero comunica el total al cliente. 5. El cliente cancela, posiblemente con un monto mayor. 6. El banquero introduce la cantidad recibida en el sistema. Accin del Sistema 7. Muestra el monto a devolver y genera un boleto.

40

Ejemplo de la Descripcin de un Caso de Uso


Curso normal de los eventos Accin del Actor 8. El banquero da el cambio, entrega el boleto y da la orden al sistema de grabar transaccin. Accin del Sistema

9 Registra la venta.

Cursos Alterno.
Lnea 3: El nmero est cerrado. Indicar mensaje. Lnea 4: El cliente no tiene dinero. Cancelar transaccin.
41

Descripcin de Casos de Uso


Descripcin de Casos de Uso de Alto Nivel: Describe un procesos muy brevemente, casi siempre en dos o tres enunciados. Se utiliza durante el examen inicial de los requerimiento y del proyecto.

Descripcin de Casos de Uso Expandidos: Muestra ms detalle que uno de alto nivel, suele utilizarse para obtener mayor conocimiento de los procesos y requerimientos. Se clasifican en dos tipos: ESENCIALES y REALES.

42

Clasificacin de los Caso de Uso

Primarios: Representa los procesos comunes ms importantes como COMPRAR BOLETO.

Secundario: Representa los procesos menores o raros como: CERRAR NUMERO.

Opcionales: Representa los procesos que pueden no abordarse. PAGAR NUMERO SIN BOLETO.

43

Usos del Diagrama de Casos de Uso

El diagrama de Casos de Uso es empleado, con ms frecuencia, en algunas de las siguientes etapas : Determinacin de Requerimientos: Por lo general nuevos requerimientos del sistema generan nuevos casos de usos, conforme es analizado y diseado el sistema.

44

Usos del Diagrama de Casos de Uso

Comunicacin con el Cliente: Debido a la sencillez de este tipo de diagramas, son fciles de emplear para comunicarse con el cliente final del proyecto. Generacin de pruebas de Sistemas: A travs de estos los diagramas se pueden generar una serie de pruebas de sistema. Estimar calendario. Planificar N de iteraciones.
45

Taller N 2

Seleccionar un sistema de informacin conocido por los miembros del grupo -o al menos por uno de sus integrantes- y disear el diagrama de Casos de Uso. Describir, al menos, uno de los casos de uso detectados.

Duracin: 45 minutos

46

Diagramas de Clase.

Un diagrama de clases describe los tipos de objetos en el sistema y los diferentes tipos de relaciones que existen entre ellos. Los diagramas de clases tambin muestran los atributos y operaciones de una clase y las restricciones que se aplican a la forma como estn conectados.

Martin Fowler

47

Diagramas de Clase.
Ejemplo:

48

Elementos del Diagrama de Clase.

Clase: Es la unidad bsica que encapsula toda la informacin de un Objeto (un objeto es una instancia de una clase). A travs de ella podemos modelar el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.).

49

Elementos del Diagrama de Clase.

Smbolo en Uml para una clase.

Nombre de la Clase

Atributos
Mtodos

50

Elementos del Diagrama de Clase.

Relaciones entre Clases. Asociacin Generalizacin Composicin Agregacin Dependencia Realizacin

51

Elementos del Diagrama de Clase.

Asociacin: Permite asociar objetos que colaboran entre si.

52

Elementos del Diagrama de Clase.

Rol: Identificado como un nombre a los finales de la lnea, describe

la semntica de la relacin en el sentido indicado. Cada asociacin


tiene dos roles; cada rol es una direccin en la asociacin. El rol puede estar representado en el nombre de la clase.

Multiplicidad: Describe la cardinalidad de la relacin, es decir, cuanto objetos de esa clase pueden participar en la relacin dada [ Int-2].

53

Elementos del Diagrama de Clase.


Agregacin y composicin son relaciones que definen: una relacin PARTE TOTAL Si la relacin es fuerte, tal que los objetos de la clase PARTE son dependiente de la existencia de la clase TOTAL entonces la relacin es de composicin.

54

Elementos del Diagrama de Clase.

Al contrario, si la existencia de objetos de la clase PARTE es independiente de la existencia de objetos de la clase TOTAL, entonces la relacin es agregacin.

55

Elementos del Diagrama de Clase.

Generalizacin: La relacin de generalizacin denota una relacin de herencia entre clases. La subclase hereda todos los atributos y mensajes descritos en la superclase [Int-2, FMAR97].

56

Diagramas de Objetos
Diagrama de objetos muestra la interaccin directa entre los objetos

(instancias de clase). Este es una representacin del diagrama de clases


en tiempo de ejecucin, por tanto es una instancia posible del diagrama de clases.

:Coche

:Motor :Rueda

Coche 1
4 Rueda
57

Motor

:Rueda :Rueda

:Rueda

Anlisis y Diseo Orientado a Objetos con UML

Diagrama de Paquetes

Los diagramas de paquetes permite que cualquier sistema grande pueda ser dividido en unidades ms pequeas, de modo que las personas puedan trabajar con una cantidad de informacin limitada. Los paquetes contienen elementos del modelo al ms alto nivel, tales

como clases y sus relaciones, mquinas de estado, diagramas de


casos de uso, interacciones y colaboraciones.

Diagrama de Paquetes

Un paquete es una parte de un modelo. Cada parte del modelo debe pertenecer a un paquete. Pero para ser funcional, la asignacin debe seguir un cierto principio racional, tal como funcionalidad comn, implementacin relacionada y punto de vista comn. UML no impone una regla para componer los paquetes.

Nombre de paquete

Diagrama de Paquetes

Un paquete puede contener otros paquetes, sin lmite de anidamiento pero cada elemento pertenece a (est definido en) slo un paquete. Definen un espacio de nombre. Los paquetes no son clasificadores, es decir no se pueden instanciar.

Diagrama de Paquetes
Una clase de un paquete puede aparecer en otro paquete por la
importacin a travs de una relacin de dependencia entre paquetes.

Todas las clases no son necesariamente visibles desde el exterior del


paquete, es decir, un paquete encapsula a la vez que agrupa.

Diagrama de Paquetes

El operador :: permite designar una clase definida en un contexto

distinto del actual.

Relaciones entre Paquetes

Importar: Usado para indicar que un

paquete importa a otro. En el


diagrama el paquete Y aade el contenido pblico del paquete Z al espacio de nombres de Y.

Relaciones entre Paquete

Accesar: Indica que un paquete tiene


acceso a otro. En el ejemplo el paquete X puede ver el contenido

pblico del paquete Y.

Relaciones entre Paquetes

Unir o Mezcla: Mezcla el contenido de un


paquete con otro. En la mezcla todas las relaciones se mantienen. Se identifican los elementos con NombreDelPaquete: NombreDelElemento.

Ejemplos de Diagrama de Paquetes

Diagrama de Estructura Compuesta

Taller N 3

Disear el diagrama de clases del sistema que han seleccionado como caso de estudio.

Duracin: 45 minutos

Anlisis y Diseo Orientado a Objetos con UML

68

Diagrama de Actividad

Son usados para representar los flujos de trabajo, paso a paso de un

negocio y operacionales de los componentes en un sistema.

Muestran que acciones se dan, que hacen estas acciones, cuando y

donde tienen lugar. Permiten visualizar, adems, el flujo de control


general.

Anlisis y Diseo Orientado a Objetos con UML

69

Diagrama de Actividad
Ejemplo:

Anlisis y Diseo Orientado a Objetos con UML

70

Diagrama de Actividad

Los

diagramas de actividad capturan las acciones de una actividad y

sus resultados.
Enfatizan Modelan

la secuencia de acciones de una actividad.

el flujo de control y/o el flujo de objetos de una actividad.

Modelo de Flujo de Control


Anlisis y Diseo Orientado a Objetos con UML

71

Diagrama de Actividad

Modelo de Flujo de Objetos

Anlisis y Diseo Orientado a Objetos con UML

72

Diagrama de Actividad

Actividad: Una actividad consta de un conjunto estructurado e

interrelacionado de acciones.

La actividad se ejecuta cuando es invocada directamente por otra


actividad o mediante pase de mensaje.

Anlisis y Diseo Orientado a Objetos con UML

73

Diagrama de Actividad

Accin: Es el bloque de construccin de las actividades.

Es la unidad fundamental de especificacin de comportamiento, es atmica.

Una accin toma uno o ms objetos de entrada y los transforma en uno o ms objetos de salida.

Anlisis y Diseo Orientado a Objetos con UML

74

Diagrama de Actividad

Transicin:

Es la relacin entre dos estados y se encuentran unidos por flechas;


indicando que un objeto que est en el primer estado realizar una accin especificada y entrar en el segundo estado cuando un evento

implcito ocurra y unas condiciones especificas sean satisfechas.

Anlisis y Diseo Orientado a Objetos con UML

75

Diagrama de Actividad

Procesar Orden de Compra

<<precondicin>> Orden Vlida <<postcondicin>> Orden atendida

Orden incompleta

Orden Completa

Si

A
A

No

Anlisis y Diseo Orientado a Objetos con UML

76

Diagrama de Actividad

Nombre

Actividad o accin

Flujo de control: Conecta dos acciones, indica secuencia.

Nodo de Inicio: Indica el inicio de un proceso o actividad

Nodo Final: Indica el fin de un proceso o actividad.

Anlisis y Diseo Orientado a Objetos con UML

77

Diagrama de Actividad

Nodo de Decisin: Nodo de control que selecciona entre dos o ms flujos de salida

Nodo de Concurrencia (Join): Nodo de control que sincroniza mltiples flujos

Nodo de Mezcla: Nodo de control que une dos o ms flujos alternativos.

Nodo de Sincronizacin (Fork): Nodo de control que divide un flujo en dos o ms flujos concurrentes(paralelos)

Anlisis y Diseo Orientado a Objetos con UML

78

Diagrama de Actividad
Particin de actividades y carriles (swimlanes):
Permiten agrupar las acciones de acuerdo a los actores o unidades organizacionales responsables de su ejecucin.

Son tiles para establecer relaciones entre roles y acciones


Swimlane1

Swimlane1

Swimlane1

Swimlane2

Anlisis y Diseo Orientado a Objetos con UML

Actor o Dependencia

Swimlane2

79

Diagrama de Actividad
Ejemplo:

Anlisis y Diseo Orientado a Objetos con UML

80

Taller N 4

Elaborar un diagramas de actividades Conformarse en grupos de 3 participantes. Tomar como caso de estudio un sistema que el grupo conozca. Utilizar la Herramienta Case. Duracin: 30 minutos.

Anlisis y Diseo Orientado a Objetos con UML

81

Diagrama de Mquina de Estado

Una mquina de estado es un modelo que especfica las secuencias de estados que un objeto puede recorrer durante su existencia.

Los Diagramas de Mquina de Estado son usados para modelar la dinmica de los objetos de una sociedad.

Anlisis y Diseo Orientado a Objetos con UML

82

Diagrama de Mquina de Estado

Modelan un objeto individual. Son tiles slo para los objetos con un comportamiento significativo.

El formalismo utilizado proviene de los Statecharts (Harel).

Anlisis y Diseo Orientado a Objetos con UML

83

Diagrama de Mquina de Estado

Cada objeto est en un estado en cierto instante.


El estado est caracterizado parcialmente por los valores algunos de los atributos del objeto

El estado en el que se encuentra un objeto determina su comportamiento

Los cambios de estado del objeto obedecen a eventos que


ocasionan la transicin entre estados.

Anlisis y Diseo Orientado a Objetos con UML

84

Diagrama de Mquina de Estado

Ejemplos

de Diagramas de Estado para las clases Avin y Persona,

respectivamente:

En vuelo

crash

contratar en el paro en activo perder empleo jubilarse jubilarse jubilado

despegar Crear(matricula) En tierra

aterrizar

Anlisis y Diseo Orientado a Objetos con UML

85

Diagrama de Interaccin
Los objetos interactan para realizar colectivamente los servicios ofrecidos por las aplicaciones. Los diagramas de interaccin muestran cmo se comunican los objetos en una interaccin. Una interaccin es una relacin entre los objetos y su entorno

(actores).
Ejemplo: la activacin de una funcin descrita por un caso de uso.

Diagrama de Interaccin
Existen cuatro tipos de diagramas de interaccin: Diagrama de vista de interaccin. Diagrama de Secuencia. Diagrama de Comunicacin.

Diagrama de Temporizacin.

Diagrama de Interaccin

El Diagrama de secuencia es ms adecuados para observar la

perspectiva cronolgica de las interacciones.


El diagrama de comunicacin ofrece una mejor visin espacial mostrando los enlaces de comunicacin entre objetos.

El diagrama de comunicacin puede obtenerse automticamente a


partir del correspondiente diagrama de secuencia (o viceversa).

Diagrama de Secuencia

Un diagrama de secuencia muestra la interaccin de un conjunto de objetos de una aplicacin a travs del tiempo.

Esta descripcin es importante porque puede dar detalle a los casos

de uso, aclarndolos al nivel de mensajes de los objetos existentes,


como tambin muestra el uso de los mensajes de las clases diseadas en el contexto de una operacin.

Diagrama de Secuencia

: Encargado

:WInPrstamos

:Socio

:Video

:Prstamo

prestar(video, socio) verificar situacin socio verificar situacin video

registrar prstamo entregar recibo

Anlisis y Diseo Orientado a Objetos con UML

90

Diagrama de Secuencia

Muestra

la secuencia de mensajes entre objetos durante un

escenario concreto.

Presenta

como los actores se relacionan con los objetos de la

aplicacin y cmo los objetos del programa se comunican entre s mediante el pase de mensaje.

Diagrama de Secuencia
Cada

objeto viene dado por una barra vertical (lnea de vida). El

tiempo transcurre de arriba abajo.


Objeto:Clase

Cuando

existe demora entre el envo y la atencin se puede indicar

usando una lnea oblicua

Diagrama de Secuencia
Ejemplo:

: Encargado

:WInPrstamos

:Socio

:Video

:Prstamo

prestar(video, socio) verificar situacin socio verificar situacin video

registrar prstamo entregar recibo

Componentes del Diagrama de Secuencia

Nombre de la interaccin

Objeto
Operador de Interaccin Fragmento combinado (alternativa) Mensaje de un objeto a otro Restriccin de interaccin Mensaje recursivo Lnea de Vida Destruccin del objeto X
X>0

else

Separador del operador de interaccin

Ejemplo de Diagrama de Secuencia

ob3 : C3 op( ) ob1 : C1

ob4 : C4

[x>0] fool(x) [x<0] bar(x)

ob2 : C2 doit(z) doit(w)

more( )

Diagrama de Comunicacin

Un

diagrama de comunicacin es un grafo dirigido cuyos nodos

representan objetos y sus arcos los mensajes que se pasan entre los objetos.

Los

diagramas de comunicacin son tiles en la fase exploratoria

para identificar objetos

Diagrama de Comunicacin

La

distribucin de los objetos en el diagrama permite observar

adecuadamente la interaccin de un objeto con respecto de los dems

La

estructura esttica viene dada por los enlaces; la dinmica por el

envo de mensajes por los enlaces

Diagrama de Comunicacin

:Socio

:Video 2: verificar situacin socio

1: prestar(video, socio) :WInPrstamos 5: entregar recibo : Encargado

3: verificar situacin video

4: registrar prstamo

:Prstamo

Diagrama de Temporizacin

Describe el comportamiento de los objetos e interacciones entre


ellos, enfocndose en el tiempo de ocurrencia de los eventos que causan los cambios de estado.

Estos diagramas estn compuestos por elementos de marcas, intervalos de duracin e intervalos de tiempo {t1..t2}.

Anlisis y Diseo Orientado a Objetos con UML

99

Diagrama de Temporizacin
Sd UsuarioAcc_Usuario

{d..3*d}
: Usuario

desocupado

EsperaTarjeta

EsperaAcceso

desocupado

Anlisis y Diseo Orientado a Objetos con UML

100

Taller N 5

Construir el diagrama de secuencia para uno de los casos de uso detectados en el taller N 2.

Duracin: 45 minutos

Anlisis y Diseo Orientado a Objetos con UML

101

Diagrama de Componente

El diagrama de componentes muestra la dependencia entre


componentes a travs de sus interfaces.

Cada componente realiza o soporta algunas interfaces y usa otras


provistos por otros componentes

Diagrama de Componente

Actualizar_transacciones
Transacciones

bsqueda

Consultas /reportes

Reservas

Diagrama de Componente
Componente de Software:
Es

un artefacto de software auto-contenido y claramente identificable. funciones especficas.

Ejecuta Es

una unidad fsica de implementacin.


componente encierra la implementacin de un conjunto de

Cada

clases del sistema diseado.


I N T E R F A z

COMPONENTE

Diagrama de Componente
Componentes bien diseados tienen las siguientes cualidades:
Son

independientes de manera directa de otros componentes. una interfaz bien definidas a travs de la cual se integra a

Tiene

otros sistemas.
Puedes

ser reemplazados por otro componente que soporta las

mismas interfaces.
Tiene

una documentacin apropiada.

Diagrama de Componente
Interfaz: Es un descriptor de las operaciones visibles de una clase, o un componente u otro entidad.

Una interfaz no indica como debe implementarse las operaciones,


solamente indica la existencia y visibilidad de operaciones que especifican un servicio.

Diagrama de Componente
Interfaz: Una interfaz es una coleccin de operaciones que trabajan juntos para llevar a cabo algn comportamiento lgico del sistema( o de una parte).

Las interfaces pueden participar en asociaciones.


Una clase que realiza una interfaz, debe declarar o heredar todas las operaciones en la interfaz.

Diagrama de Componente
Clasificacin de los Componentes:
Segn

su modificabilidad:

Componentes Caja-Negra. Componentes Caja-Blanca Segn

su granulidad:
de implementacin espcifica. de Negocios.

Componentes Componentes Marco

de Componentes (component frameworks).


de Aplicacin.

Componentes

Diagrama de Componente
Clasificacin de los Componentes:
Segn

su Tecnologa: Funcionales.
desarrollados usando lenguajes de programacin imperativa (C, Son normalmente

Componentes

FORTRAN,etc). Son activados a travs de llamadas a procedimientos locales o remotos

Componentes Orientados

a Objetos.

Formadas por una coleccin de clases relacionadas. Las clases se agrupan en paquetes.

La interfaz del paquete corresponden a las interfaces de sus clases exportadas.

Diagrama de Componente
Clasificacin de los Componentes:
Segn

su Tecnologa: Off-The Shelf


Son desarrollados para ser ofrecidos comercialmente. Son por lo general componentes caja negra.

Componentes

Componentes

Distribuidos.

Componentes CORBA, componentes EJB, Componentes .NET


Servicios WEB.
Ofrecen un servicio concreto a travs de internet. Residen en la Web y son identificados con un URL.

Diagrama de Componente

Transacciones

Componente Interfaz y su relacin de realizacin Relacin de uso

Diagrama de Despliegue

El Diagrama de Despliegue muestra la disposicin fsica de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos. La vista de despliegue representa la disposicin de las instancias de componentes de ejecucin en instacias de nodos conectados por enlaces de comunicacin.

Diagrama de Despliegue

Los estereotipos permiten precisar la naturaleza del equipo:


Dispositivos Procesadores Memoria

<<Servidor>>

<<Servidor>>

ServidorApp

ServidorDB

Diagrama de Despliegue

Los nodos se interconectan mediante soportes bidireccionales que pueden a su vez estereotiparse.

Esta vista permite determinar las consecuencias de la distribucin y la asignacin de recursos. Las instancias de los nodos pueden contener

instancias de ejecucin, como instancias de componentes y objetos.

Diagrama de Despliegue
Podemos distinguir tipos de nodos y conexiones por estereotipado

<<Cliente>> Terminal Punto de Venta

<<Servidor>> <<TCP/IP>> Base de Datos

<<RDSI>>

Control

<<RDSI>>

Diagrama de Despliegue
El mismo ejemplo del diagrama de componentes, pero ahora ubicando los componentes en sus nodos.
Cliente:cliente remoto Servidor:ServidorCentral Actualizar_transacciones
:Transacciones

bsqueda

:Consultas /reportes

:Reservas

Taller N 6

Construir el diagrama de componentes y de despliegue para el caso en estudio.

Duracin: 30 minutos

Anlisis y Diseo Orientado a Objetos con UML

117

Das könnte Ihnen auch gefallen