Curso UML Reducido

126
 1   www.dsic.upv.es/~uml Construcción de una casa para “fido” Puede hacerlo una sola persona Requiere: Modelado mínimo Proceso simple Herramientas simples 

Transcript of Curso UML Reducido

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 1/1261

  www.dsic.upv.es/~uml

Construcción de una casa para “fido” 

Puede hacerlo una sola persona

Requiere:

Modelado mínimo

Proceso simple

Herramientas simples 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 2/1262

  www.dsic.upv.es/~uml

Construcción de una casa

Construida eficientemente y en un tiempo

razonable por un equipo

Requiere:

Modelado

Proceso bien definido

Herramientas más sofisticadas 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 3/1263

  www.dsic.upv.es/~uml

Construcción de un rascacielos

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 4/126

4  www.dsic.upv.es/~uml

Claves en Desarrollo de SI

Herramientas Proceso

Notación

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 5/126

5  www.dsic.upv.es/~uml

Sistema Computacional

Proceso de Negocios

Orden

Item

envío

“El modelado captura las   partes esenciales del sistema ”  

 Abstracción - Modelado Visual (MV)

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 6/126

6  www.dsic.upv.es/~uml

MV para manejar la complejidad 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 7/126

7  www.dsic.upv.es/~uml

Interfaz de Usuario(Visual Basic,Java, ..)

Lógica del Negocio(C++, Java, ..)

Servidor de BDs(C++ & SQL, ..)

“Modelar el sistema independientemente

del lenguaje de implementación” 

MV para definir la Arquitecturadel Software 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 8/126

8  www.dsic.upv.es/~uml

Múltiples Sistemas

MV promueve la reutilización 

ComponentesReutilizados

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 9/126

9  www.dsic.upv.es/~uml

¿Qué es UML?

UML = Unified Modeling Language

Un lenguaje de propósito general para el modelado

orientado a objetos

Documento “OMG Unified Modeling LanguageSpecification” 

UML combina notaciones provenientes desde:Modelado Orientado a Objetos

Modelado de Datos

Modelado de Componentes

Modelado de Flujos de Trabajo (Workflows)

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 10/126

10  www.dsic.upv.es/~uml

Situación de Partida

Diversos métodos y técnicas OO, con muchosaspectos en común pero utilizando distintasnotaciones

Inconvenientes para el aprendizaje, aplicación,construcción y uso de herramientas, etc.

Pugna entre distintos enfoques (y correspondientes

gurús)

=> Necesidad de una notación estándar

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 11/126

11  www.dsic.upv.es/~uml

Historia de UML

Comenzó como el “Método Unificado”, con laparticipación de Grady Booch y Jim Rumbaugh.Se presentó en el OOPSLA’95 

El mismo año se unió Ivar Jacobson. Los “Tres Amigos” son socios en la compañía RationalSoftware. Herramienta CASE Rational Rose

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 12/126

12  www.dsic.upv.es/~uml

Historia de UML

Nov „97  UML aprobado por el OMG

1998

1999

2000

UML 1.2

UML 1.3

UML 1.4

2002?UML 2.0

Revisiones menores

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 13/126

13  www.dsic.upv.es/~uml

Participantes en UML 1.0

Rational Software

(Grady Booch, JimRumbaugh y Ivar Jacobson)

Digital Equipment

Hewlett-Packard

i-Logix (David Harel)

IBM

ICON Computing

(Desmond D’Souza) Intellicorp and JamesMartin & co. (James Odell)

MCI Systemhouse

Microsoft

ObjecTime

Oracle Corp.Platinium Technology

Sterling Software

Taskon

Texas Instruments

Unisys

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 14/126

14  www.dsic.upv.es/~uml

UML “aglutina” enfoques OO

UML 

Rumbaugh 

Jacobson 

Meyer 

Harel 

Wirfs-Brock 

Fusion 

Embly 

Gamma et. al. 

Shlaer-Mellor 

Odell 

Booch 

Pre- and Post-conditions 

State Charts 

Responsabilities 

Operation descriptions,

message numbering 

Singleton classes 

Frameworks, patterns,

notes 

Object life cycles 

é

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 15/126

15  www.dsic.upv.es/~uml

Métodos Formales enModelado

Tipos de enfoques: no-formales, semi-formales y formales

Las principales mejoras al utilizar métodosformales son:

Mayor rigor en la especificación

Mejores condiciones para realizar la verificación yvalidación en forma más exhaustiva

Mejores condiciones para automatización de procesospara la generación automática de prototipos y/o códigofinal

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 16/126

16  www.dsic.upv.es/~uml

Inconvenientes en UML

Definición del proceso de desarrollo usando UML. UML

no es una metodología 

Falta integración con respecto de otras técnicas tales

como patrones de diseño, interfaces de usuario,documentación, etc.

Ejemplos aislados

 “Monopolio de conceptos, técnicas y métodos entornoa UML”  

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 17/126

17  www.dsic.upv.es/~uml

Perspectivas de UML

UML será el lenguaje de modelado orientado aobjetos estándar predominante los próximos años

Razones:

Participación de metodólogos influyentesParticipación de importantes empresas

 Aceptación del OMG como notación estándar

Evidencias:Herramientas que proveen la notación UML

 “Edición” de libros Congresos, cursos, “camisetas”, etc. 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 18/126

18  www.dsic.upv.es/~uml

Diagramas de UML

Use CaseDiagrams

Use CaseDiagrams

Diagramas deCasos de Uso

ScenarioDiagrams

ScenarioDiagrams

Diagramas deColaboración

StateDiagrams

StateDiagrams

Diagramas deComponentes

ComponentDiagramsComponentDiagrams

Diagramas deDistribución

StateDiagrams

StateDiagrams

Diagramas deObjetos

ScenarioDiagramsScenarioDiagrams

Diagramas deEstados

Use CaseDiagrams

Use CaseDiagrams

Diagramas deSecuencia

StateDiagrams

StateDiagrams

Diagramas deClases

Diagramas deActividad

Modelo

“Un modelo es una descripción completa de un sistema desde una perspectiva concreta” 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 19/126

19  www.dsic.upv.es/~uml

Paquetes en UML

Los paquetes ofrecen un mecanismo generalpara la organización de los modelosagrupando elementos de modelado

Se representan gráficamente como:

Nombre depaquete

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 20/126

20  www.dsic.upv.es/~uml

… Paquetes en UML 

Cada paquete corresponde a un subconjuntodel modelo y contiene, según el modelo, clases,objetos, relaciones, componentes y diagramas

asociados

Un paquete puede contener otros paquetes, sinlímite de anidamiento pero cada elemento

pertenece a (está definido en) sólo un paquete

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 21/126

21  www.dsic.upv.es/~uml

… Paquetes en UML 

Una clase de un paquete puede aparecer enotro paquete por la importación a través de

una relación de dependencia entre paquetes

Todas las clases no son necesariamentevisibles desde el exterior del paquete, es

decir, un paquete encapsula a la vez queagrupa

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 22/126

22  www.dsic.upv.es/~uml

El ParadigmaOrientado a Objetos

¿P é l O i t ió

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 23/126

23  www.dsic.upv.es/~uml

¿Por qué la Orientación aObjetos?

Proximidad de los conceptos de modelado respectode las entidades del mundo real

Mejora captura y validación de requisitos

 Acerca el “espacio del problema” y el “espacio de la solución” 

Modelado integrado de propiedades estáticas y

dinámicas del ámbito del problema

Facilita construcción, mantenimiento y reutilización

¿P é l O i t ió

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 24/126

24  www.dsic.upv.es/~uml

¿Por qué la Orientación aObjetos?

Conceptos comunes de modelado durante elanálisis, diseño e implementación

Facilita la transición entre distintas fases

Favorece el desarrollo iterativo del sistema

Disipa la barrera entre el “qué” y el “cómo”  

Sin embargo, existen problemas ...

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 25/126

25  www.dsic.upv.es/~uml

“...Los conceptos básicos de la OO se conocen desde hace dos décadas, pero su aceptación todavía no está tan extendida como los beneficios que esta tecnología puede 

sugerir”  

“...La mayoría de los usuarios de la OO no utilizan los conceptos de la OO de forma purista, como inicialmente 

se pretendía. Esta práctica ha sido promovida por muchas herramientas y lenguajes que intentan utilizar los conceptos en diversos grados”  

--Wolfgang Strigel 

Problemas en OO

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 26/126

26  www.dsic.upv.es/~uml

Objetos

Objeto = unidad atómica que integra estado ycomportamiento

La encapsulación en un objeto permite una altacohesión y un bajo acoplamiento 

Un objeto puede caracterizar una entidad física

(coche) o concepto (ecuación matemática)

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 27/126

27  www.dsic.upv.es/~uml

… Objetos 

El Modelado de Objetos permite representar elciclo de vida de los objetos a través de susinteracciones

En UML, un objeto se representa por unrectángulo con un nombre subrayado

OtroObjeto 

Un Objeto 

OtroObjeto

más 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 28/126

28  www.dsic.upv.es/~uml

… Objetos 

Ejemplo de varios objetos relacionados:

Juan

Felipe

Libreta deahorro a

plazo

Dos clientes

del banco

Cuenta

corriente

Libreta deahorro

Cuenta

corriente

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 29/126

29  www.dsic.upv.es/~uml

… Objetos 

Objeto = Identidad + Estado + Comportamiento

El estado está representado por los valores de losatributos

Un atributo toma un valor en un dominio concreto

Un coche

Azul979 Kg

70 CV

...

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 30/126

30  www.dsic.upv.es/~uml

Identidad

Oid (Object Identifier)

Cada objeto posee un oid. El oid establece laidentidad del objeto y tiene las siguientescaracterísticas:

Constituye un identificador único y global para cada objetodentro del sistema

Es determinado en el momento de la creación del objeto

Es independiente de la localización física del objeto, es decir,provee completa independencia de localización

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 31/126

31  www.dsic.upv.es/~uml

… Identidad 

Es independiente de las propiedades del objeto, lo cual implicaindependencia de valor y de estructura

No cambia durante toda la vida del objeto. Además, un oid nose reutiliza aunque el objeto deje de existir

No se tiene ningún control sobre los oids y su manipulaciónresulta transparente

Sin embargo, es preciso contar con algún mediopara hacer referencia a un objeto utilizandoreferencias del dominio (valores de atributos)

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 32/126

32  www.dsic.upv.es/~uml

Estado

El estado evoluciona con el tiempo

 Algunos atributos pueden ser constantes

El comportamiento agrupa las competencias de unobjeto y describe las acciones y reacciones de eseobjeto

Las operaciones de un objeto son consecuencia deun estímulo externo representado como mensajeenviado desde otro objeto

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 33/126

33  www.dsic.upv.es/~uml

Comportamiento

Ejemplo de interacción:

Otro objeto

Un objeto

Un mensaje

Operacion 1

Operacion 2

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 34/126

34  www.dsic.upv.es/~uml

… Comportamiento 

Los mensajes navegan por los enlaces, apriori en ambas direcciones

Estado y comportamiento están relacionadosEjemplo: no es posible aterrizar un avión sino está volando. Está volando como

consecuencia de haber despegado del suelo

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 35/126

35  www.dsic.upv.es/~uml

Persistencia

La persistencia de los objetos designa la capacidadde un objeto trascender en el espacio/tiempo

Un objeto persistente conserva su estado en unsistema de almacenamiento permanente(usualmente memoria secundaria)

Podremos después reconstruirlo, es decir, cogerlo de

memoria secundaria para utilizarlo en la ejecución(materialización del objeto)

Los lenguajes OO no proponen soporte adecuado

para la persistencia, pues ésta debería sertransparente, un objeto existe desde su creación

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 36/126

36  www.dsic.upv.es/~uml

Comunicación

Un sistema informático puede verse como unconjunto de objetos autónomos y concurrentesque trabajan de manera coordinada en la

consecución de un fin específico

El comportamiento global se basa pues en lacomunicación entre los objetos que la

componen

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 37/126

37  www.dsic.upv.es/~uml

… Comunicación 

Categorías de objetos: Activos – Pasivos

Clientes – Servidores

Objeto Activo: posee un hilo de ejecución (thread)propio y puede iniciar una actividad

Objeto Pasivo: no puede iniciar una actividad peropuede enviar estímulos una vez que se le solicita unservicio

Cliente es el objeto que solicita un servicio. Servidores el objeto que provee el servicio solicitado

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 38/126

38  www.dsic.upv.es/~uml

El Concepto de Mensaje

La unidad de comunicación entre objetos se llamamensaje.

El mensaje es el soporte de una comunicación quevincula dinámicamente los objetos que fueronseparados previamente en el proceso dedescomposición.

Una operación es la especificación y laimplementación de una función efectuada por unobjeto.

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 39/126

39  www.dsic.upv.es/~uml

El Concepto de Operación

Las operaciones menipulan los atributos delobjeto.

Pueden tener parámetros de entrada y/osalida.

Un mensaje de un objeto a otro involucra laejecución de una operación.

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 40/126

40  www.dsic.upv.es/~uml

El Concepto de Operación

El nombre del mensaje es el de la operación.

Los parámetros del mensaje son losparámetros de la operación.

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 41/126

41  www.dsic.upv.es/~uml

Casos de Uso

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 42/126

42  www.dsic.upv.es/~uml

Casos de Uso

Los Casos de Uso (Ivar Jacobson) describen bajo laforma de acciones y reacciones el comportamientode un sistema desde el p.d.v. del usuario

Permiten definir los límites del sistema y lasrelaciones entre el sistema y el entorno

Los Casos de Uso son descripciones de la

funcionalidad del sistema independientes de laimplementación

Comparación con respecto a los Diagramas de Flujode Datos del Enfoque Estructurado

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 43/126

43  www.dsic.upv.es/~uml

… Casos de Uso 

Los Casos de Uso particionan el conjuntode necesidades atendiendo a la categoría

de usuarios que participan en el mismoEstán basado en el lenguaje natural, esdecir, es accesible por los usuarios

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 44/126

44  www.dsic.upv.es/~uml

Ejemplo de Casos de Uso

Caso de Uso: Comprar productos

 Actores: Cliente, Cajero

Tipo: PrimarioDescripción: Un cliente llega a la cajaregistradora con los artículos quecomprará. El cajero registra los artículos y

cobra el importe. Al terminar la operaciónel cliente se marcha con los productos.

comprar productos

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 45/126

45  www.dsic.upv.es/~uml

… Casos de Uso 

Ejemplo:

Sistema

Actor A

Caso de uso X

Actor B

Caso de uso Y

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 46/126

46  www.dsic.upv.es/~uml

… Casos de Uso 

 Actores:Principales: personas que usan el sistema

Secundarios: personas que mantienen o administran el sistema

Material externo: dispositivos materiales imprescindibles que

forman parte del ámbito de la aplicación y deben ser utilizadosOtros sistemas: sistemas con los que el sistema interactúa

La misma persona física puede interpretar variospapeles como actores distintos

El nombre del actor describe el papel desempeñado

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 47/126

47  www.dsic.upv.es/~uml

… Casos de Uso 

Los Casos de Uso se determinan observando yprecisando, actor por actor, las secuencias deinteracción, los escenarios, desde el punto de vista delusuario

Un escenario es una instancia de un caso de uso

Los casos de uso intervienen durante todo el ciclo devida. El proceso de desarrollo estará dirigido por loscasos de uso

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 48/126

48  www.dsic.upv.es/~uml

Casos de Uso: Relaciones

UML define cuatro tipos de relación en losDiagramas de Casos de Uso:

Comunicación: 

Caso de Uso

 Actor

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 49/126

49  www.dsic.upv.es/~uml

… Casos de Uso: Relaciones 

Inclusión : una instancia del Caso de Uso origenincluye también el comportamiento descrito por elCaso de Uso destino

En UML se estereotipa como <<include>>

Caso de uso origen

Caso de uso destino

<<include>>

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 50/126

50  www.dsic.upv.es/~uml

… Casos de Uso: Relaciones 

Extensión : el Caso de Uso origen extiende elcomportamiento del Caso de Uso destino

Caso de uso origen

Caso de uso destino

<<extend>>

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 51/126

51  www.dsic.upv.es/~uml

… Casos de Uso: Relaciones 

Herencia : el Caso de Uso origen hereda laespecificación del Caso de Uso destino yposiblemente la modifica y/o amplía

Caso de uso origen

Caso de uso destino

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 52/126

52  www.dsic.upv.es/~uml

… Casos de Uso: Relaciones 

Ejemplo:

Identificación

Giro por Internet

Cliente

Giro

<<extends>>

<<includes>>

<<extend>>

<<include>>

Transferencia por Internet

Transferencia

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 53/126

53  www.dsic.upv.es/~uml

Casos de Uso: Construcción

Un caso de uso debe ser simple, inteligible,claro y conciso

Generalmente hay pocos actores asociados a

cada Caso de UsoPreguntas clave:

¿cuáles son las tareas del actor?

¿qué información crea, guarda, modifica, destruye o lee elactor?

¿debe el actor notificar al sistema los cambios externos?¿debe el sistema informar al actor de los cambiosinternos?

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 54/126

54  www.dsic.upv.es/~uml

… Casos de Uso: Construcción 

La descripción del Caso de Uso comprende:el inicio: cuándo y qué actor lo produce?

el fin: cuándo se produce y qué valor devuelve?

la interacción actor-caso de uso: qué mensajesintercambian ambos?

objetivo del caso de uso: ¿qué lleva a cabo o intenta?

cronología y origen de las interacciones

repeticiones de comportamiento: ¿qué operaciones son

iteradas?situaciones opcionales: ¿qué ejecuciones alternativas sepresentan en el caso de uso?

RF- <id del requisito> <nombre del requisito funcional>V ió d ió f h

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 55/126

55  www.dsic.upv.es/~uml

Versión <numero de versión y fecha>Autores <autor>Fuentes <fuente de la versión actual>Objetivos asociados <nombre del objetivo>Descripción El sistema deberá comportarse tal como se describe en

el siguiente caso de uso { concreto cuando <evento deactivación> , abstracto durante la realización de los

casos de uso <lista de casos de uso>}Precondición <precondición del caso de uso>

Paso Acción1 {El <actor> , El sistema} <acción realizada por el

actor o sistema>, se realiza el caso de uso< caso de uso RF-x>

2 Si <condición>, {el <actor> , el sistema} <acciónrealizada por el actor o sistema>>, se realiza elcaso de uso < caso de uso RF-x>

3456

SecuenciaNormal

nPostcondición <postcondición del caso de uso>

Paso Acción1 Si <condición de excepción>,{el <actor> , el

sistema} }<acción realizada por el actor osistema>>, se realiza el caso de uso

< caso de uso RF-x>, a continuación este casode uso {continua, aborta}

2

Excepciones

3Rendimiento Paso Cota de tiempo

1 n segundos2 n segundos

Frecuencia esperada <nº de veces> veces / <unidad de tiempo>Importancia {sin importancia, importante, vital}Urgencia {puede esperar, hay presión, inmediatamente}Comentarios <comentarios adicionales>

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 56/126

56  www.dsic.upv.es/~uml

Modelado de Interacciones

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 57/126

57  www.dsic.upv.es/~uml

Interacción

Los objetos interactúan para realizarcolectivamente los servicios ofrecidos por lasaplicaciones. Los diagramas de interacción

muestran cómo se comunican los objetos enuna interacción

Existen dos tipos de diagramas de

interacción: los Diagramas de Colaboración ylos Diagramas de Secuencia. 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 58/126

58  www.dsic.upv.es/~uml

Diagramas de interacción

Los Diagramas de Secuencia son más adecuadosestán para observar la perspectiva cronológica delas interacciones

Los Diagramas de Colaboración ofrecen una mejorvisión espacial mostrando los enlaces decomunicación entre objetos

Normalmente el D. de Colaboración se obtiene apartir del correspondiente D. de Secuencia

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 59/126

59  www.dsic.upv.es/~uml

Diagramas de Secuencia

Muestra la secuencia de mensajes entreobjetos durante un escenario concreto.

Cada objeto viene dado por una barra

vertical.

El tiempo transcurre de arriba abajo.

Cuando existe demora entre el envío y laatención se puede indicar usando una líneaoblicua.

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 60/126

60  www.dsic.upv.es/~uml

… Diagramas de Secuencia 

Un ejemplo:

CBA

m1

m2

m3

m4

m5

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 61/126

61  www.dsic.upv.es/~uml

… Diagramas de Secuencia 

Ejemplo Quien llama Línea telefónica Llamado

descuelga

tono

marcar

indicación de llamada timbre

descuelga

diga?

Las bandasrectangularesrepresentan los

periodos deactividad de losobjetos

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 62/126

62  www.dsic.upv.es/~uml

… Estructuras de control 

Podemos representar iteraciones en el envío demensajes, p.e., mientras se cumpla unacondición:

While X

Loop

end Loop

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 63/126

63  www.dsic.upv.es/~uml

… Estructuras de control 

La iteración puede expresarse también comoparte del mensaje:

*[condición] Mensaje

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 64/126

64  www.dsic.upv.es/~uml

… Estructuras de control 

Las bifurcaciones condicionales puedenrepresentarse de esta forma:

If condición

else

end if

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 65/126

65  www.dsic.upv.es/~uml

Diagramas de Colaboración

Son útiles en la fase exploratoria para identificarobjetos

La distribución de los objetos en el diagramapermite observar adecuadamente la interacción deun objeto con respecto de los demás

La estructura estática viene dada por los enlaces; ladinámica por el envío de mensajes por los enlaces

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 66/126

66  www.dsic.upv.es/~uml

Mensajes

Un mensaje desencadena una acción en elobjeto destinatario

Un mensaje se envía si han sido enviados losmensajes de una lista (sincronización):

B A.1, B.3 / 1:Mensaje 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 67/126

67  www.dsic.upv.es/~uml

… Mensajes 

Un mensaje se envía iterada y secuencialmentea un conjunto de instancias:

1 *[i:=1..n] : Mensaje 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 68/126

68  www.dsic.upv.es/~uml

… Mensajes 

Un mensaje se envía iterada yconcurrentemente a un conjunto de instancias:

1 *| | [i:=1..n] : Mensaje 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 69/126

69  www.dsic.upv.es/~uml

… Mensajes 

Un mensaje se envía de manera condicionada:

B [x>y] 1: Mensaje 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 70/126

70  www.dsic.upv.es/~uml

… Mensajes 

Un mensaje que devuelve un resultado:

B 1: distancia:= mover(x,y) 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 71/126

71  www.dsic.upv.es/~uml

… Mensajes 

Los argumentos de un mensaje pueden ser valoresobtenidos como consecuencia de las llamadasanteriores

Los argumentos pueden ser también expresiones denavegación construidas a partir del objeto cliente

Los argumentos pueden omitirse en el diagrama

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 72/126

72  www.dsic.upv.es/~uml

Modelado Conceptual

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 73/126

73  www.dsic.upv.es/~uml

Clases

Modelado Conceptual:

Organización del conocimiento del dominio del problema

en un conjunto de abstracciones ordenadas de forma quese obtiene un conocimiento más profundo del problema

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 74/126

74  www.dsic.upv.es/~uml

Clases

La clase define el ámbito de definición de unconjunto de objetos

Cada objeto pertenece a una clase

Los objetos se crean por instanciación de lasclases

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 75/126

75  www.dsic.upv.es/~uml

Clases: Notación Gráfica

Cada clase se representa en un rectángulocon tres compartimientos:

nombre de la clase

atributos de la clase

operaciones de la clase

motocicleta

colorcilindradavelocidad maxima

arrancaracelerarfrenar

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 76/126

76  www.dsic.upv.es/~uml

Clases: Encapsulación

La encapsulación presenta dos ventajasbásicas:

Se protegen los datos de accesos indebidos

El acoplamiento entre las clases se disminuye

Favorece la modularidad y el mantenimiento

Los atributos de una clase no deberían ser

manipulables directamente por el resto deobjetos

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 77/126

77  www.dsic.upv.es/~uml

Relaciones entre Clases

Los enlaces entre de objetos pueden representarseentre las respectivas clases

Formas de relación entre clases:

 Asociación y Agregación (vista como un caso particular deasociación)

Generalización/Especialización

Las relaciones de Agregación y Generalizaciónforman jerarquías de clases

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 78/126

78  www.dsic.upv.es/~uml

 Asociación

La asociación expresa una conexión bidireccionalentre objetos

Una asociación es una abstracción de la relación

existente en los enlaces entre los objetos

Universidad Estudiante

Univ. de Murcia:Universidad Antonio:Estudiante

Una asociación 

Un enlace

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 79/126

79  www.dsic.upv.es/~uml

Ejemplo:

… Asociación 

Persona Compañíatrabaja-para

nombre

s. s.nombre

dirección jefe

Administra

empleado

* *emplea-a

0.. 10.. 1

0.. 1

*

marido

casado-con

mujer 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 80/126

80  www.dsic.upv.es/~uml

… Asociación 

Especificación de multiplicidad (mínima...máxima)

1 Uno y sólo uno

0..1 Cero o uno

M..N Desde M hasta N (enteros naturales)* Cero o muchos

0..* Cero o muchos

1..* Uno o muchos (al menos uno)

La multiplicidad mínima >= 1 establece unarestricción de existencia

A i ió C lifi d

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 81/126

81  www.dsic.upv.es/~uml

 Asociación Cualificada 

Aerolínea Viajeronro_billete* 0..1

TableroAjedrez

filacolumna

1 1 Cuadro

Reduce la multiplicidad del rol opuesto al considerar el valordel cualificador

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 82/126

82  www.dsic.upv.es/~uml

 Agregación

La agregación representa una relación parte_deentre objetos

En UML se proporciona una escasa caracterizaciónde la agregación

Puede ser caracterizada con precisión determinando

las relaciones de comportamiento y estructura queexisten entre el objeto agregado y cada uno de susobjetos componentes

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 83/126

83  www.dsic.upv.es/~uml

Ejemplos

motor

coche

1

1

1

1

Persona

0..2*

+Padre

0..2

+Hijos

*

Ej l

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 84/126

84  www.dsic.upv.es/~uml

… Ejemplos 

Cuenta

Persona

1

*

or  Asociación excluyente

Empresa

*

*

Usuario Estación

está-autorizado-en

prioridad

privilegios

camb_privil

Autorización

* *

Clase de asociación

Polígono Puntocontiene 3.. *1

{ordenado}

 Agregación

Jerarquías de

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 85/126

85  www.dsic.upv.es/~uml

qGeneralización/Especialización

Permiten gestionar la complejidad mediante unordenamiento taxonómico

Se obtiene usando los mecanismos de

abstracción de Generalización y/o Especialización

La Generalización consiste en factorizar laspropiedades comunes de un conjunto de clases

en una clase más general

... Jerarquías de

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 86/126

86  www.dsic.upv.es/~uml

Nombres usados: clase padre - clase hija,superclase - subclase, clase base - clasederivada

Las subclases heredan características de sussuperclases, es decir, atributos y operaciones(y asociaciones) de la superclase están

disponibles en sus subclases

qGeneralización/Especialización

... Jerarquías de

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 87/126

87  www.dsic.upv.es/~uml

Abstracciones más generales.

vehiculo

vehiculo terrestre vehiculo aéreo

camion coche avion helicoptero

qGeneralización/Especialización

... Jerarquías de

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 88/126

88  www.dsic.upv.es/~uml

qGeneralización/Especialización

La especialización es una técnica muy eficaz para laextensión y reutilización

Caracterización de la generalización en UML:disjunta - no disjunta

total (completa) - parcial (incompleta)

coche

funcionando estropeado

... Jerarquías de

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 89/126

89  www.dsic.upv.es/~uml

Un ejemplo combinado:vehiculo

vehiculo terrestre

camion

coche

funcionando estropeado

vehiculo aéreo

avion helicoptero

comercial

militar

de menos de 1000kms

de más de 1000 kms

estática

estáticaestática

dinámica

dinámica

Generalización/Especialización

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 90/126

90  www.dsic.upv.es/~uml

Herencia Múltiple

Se presenta cuando una subclase tiene más deuna superclase

La herencia múltiple debe manejarse conprecaución. Algunos problemas son el conflictode nombre y el conflicto de precedencia

Se recomienda un uso restringido y disciplinadode la herencia. Java y Ada 95 simplemente noofrecen herencia múltiple

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 91/126

91  www.dsic.upv.es/~uml

Polimorfismo

El término polimorfismo se refiere a que unacaracterística de una clase puede tomar variasformas

El polimorfismo representa la posibilidad dedesencadenar operaciones distintas en respuesta aun mismo mensaje

Cada subclase hereda las operaciones pero tiene laposibilidad de modificar localmente elcomportamiento de estas operaciones

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 92/126

92  www.dsic.upv.es/~uml

Polimorfismo

Dormir() { en un árbol } 

Dormir() { sobrela espalda 

Dormir() { sobre el vientre 

Zoo  Animal 

León  Tigre Oso 

Dormir() { 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 93/126

93  www.dsic.upv.es/~uml

… Polimorfismo 

La búsqueda automática del código que encada momento se va a ejecutar es fruto delenlace dinámico

El cumplimiento del Principio de Sustituciónpermite obtener un comportamiento y diseñocoherente

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 94/126

94  www.dsic.upv.es/~uml

Diagramas de Estados

d d

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 95/126

95  www.dsic.upv.es/~uml

Diagramas de Estados

Los Diagramas de Estados representanautómatas de estados finitos, desde el p.d.v.de los estados y las transiciones

Son útiles sólo para los objetos con uncomportamiento significativo

El resto de objetos se puede considerar quetienen un único estado

El formalismo utilizado proviene de losStatecharts (Harel)

i d d

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 96/126

96  www.dsic.upv.es/~uml

… Diagramas de Estados 

Cada objeto está en un estado en cierto instante

El estado está caracterizado parcialmente por losvalores de los atributos del objeto

El estado en el que se encuentra un objetodetermina su comportamiento

Cada objeto sigue el comportamiento descrito en elD. de Estados asociado a su clase

Los D. De Estados y escenarios soncomplementarios

Di d E d

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 97/126

97  www.dsic.upv.es/~uml

… Diagramas de Estados 

Los D. de Estados son autómatas jerárquicos quepermiten expresar concurrencia, sincronización y jerarquías de objetos

Los Diagramas de Estados son grafos dirigidos

Los D. De Estados de UML son deterministas

Los estados inicial y final están diferenciados delresto

La transición entre estados es instantánea y se debea la ocurrencia de un evento

Di d E t d

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 98/126

98  www.dsic.upv.es/~uml

Ejemplo de un Diagrama de Estados para laclase persona:

en el paro en activo

 jubilado

contratar

perder empleo

 jubilarse

 jubilarse

… Diagramas de Estados 

Di d E t d

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 99/126

99  www.dsic.upv.es/~uml

Las guardas permiten condicionar latransición:

a bEvento[ condición ]

… Diagramas de Estados 

A i

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 100/126

100  www.dsic.upv.es/~uml

 Acciones

Podemos especificar la ejecución de unaacción como consecuencia de la transición:

a bEvento[ condición ] / acción

Dicha acción también seconsidera instantánea

A i

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 101/126

101  www.dsic.upv.es/~uml

Podemos especificar el envío de un evento aotro objeto como consecuencia de latransición:

Evento( arg1, arg2 )[ condición ] / ^otro_objeto.evento(arg2) 

… Acciones 

A i

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 102/126

102  www.dsic.upv.es/~uml

Se puede especificar el hacer una accióncomo consecuencia de entrar, salir o estaren un estado:

estado A

entry: acción por entrar

exit: acción por salir

do: acción mientras en estado

… Acciones 

A i

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 103/126

103  www.dsic.upv.es/~uml

Se puede especificar el hacer una accióncuando ocurre en dicho estado un eventoque no conlleva salir del estado:

estado A

on evento_activador( arg1 )[ condición ]: acción por evento

.. Acciones

A ti id d

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 104/126

104  www.dsic.upv.es/~uml

 Actividades

Las actividades son similares a las accionespero tienen duración y se ejecutan dentro deun estado del objeto

Las actividades pueden interrumpirse entodo momento, cuando se desencadena laoperación de salida del estado

A ti id d

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 105/126

105  www.dsic.upv.es/~uml

Cuando una actividad finaliza se produce unatransición automática de salida del estado

do: actividad 

b [ not condición ]

[ condición ] 

… Actividades 

G li ió d E t d

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 106/126

106  www.dsic.upv.es/~uml

Generalización de Estados

Podemos reducir la complejidad de estosdiagramas usando la generalización deestados

Distinguimos así entre superestado ysubestados

Un estado puede contener varios subestadosdisjuntos

Los subestados heredan las variables deestado y las transiciones externas

Gene li ión de E t do

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 107/126

107  www.dsic.upv.es/~uml

Generalización de Estados

Ejemplo:

a b

c

e1

e2

e2

Generalización de Estados

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 108/126

108  www.dsic.upv.es/~uml

Quedaría como:

c

a ba be1

e2

Generalización de Estados

Generalización de Estados

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 109/126

109  www.dsic.upv.es/~uml

Es preferible tener estados iniciales deentrada a un nivel de manera que desde losniveles superiores no se sepa a qué

subestado se entra:

c

a ba b

e1

e2

e1

e0

… Generalización de Estados 

Generalización de Estados

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 110/126

110  www.dsic.upv.es/~uml

La agregación de estados es la composiciónde un estado a partir de varios estadosindependientes

La composición es concurrente por lo que elobjeto estará en alguno de los estados decada uno de los subestados concurrentes

… Generalización de Estados 

Generalización de Estados

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 111/126

111  www.dsic.upv.es/~uml

Ejemplo:

e1e1

… Generalización de Estados 

Destrucción del Objeto

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 112/126

112  www.dsic.upv.es/~uml

Destrucción del Objeto

La destrucción de un objeto es efectivacuando el flujo de control del autómataalcanza un estado final no anidado

La llegada a un estado final anidado implicala “subida” al superestado asociado, no el findel objeto

Destrucción de Objeto

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 113/126

113  www.dsic.upv.es/~uml

… Destrucción de Objeto 

Ejemplo:

En tierraCrear(matricula)

En vuelo

aterrizardespegar

crash

Transiciones temporizadas

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 114/126

114  www.dsic.upv.es/~uml

Transiciones temporizadas

Las esperas son actividades que tienenasociada cierta duración

La actividad de espera se interrumpe cuandoel evento esperado tiene lugar

Este evento desencadena una transición quepermite salir del estado que alberga la

actividad de espera. El flujo de control setransmite entonces a otro estado

Transiciones temporizadas

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 115/126

115  www.dsic.upv.es/~uml

Ejemplo:a 

esperar dinero 

entry: Mostrar mensaje 

do: Esperar 30 segundos 

exit: cerrar ranura 

anular transacción 

 / Abrir ranura 

Depósito efectuado 

Si en 30 segundos no se

introduce el dinero setermina la actividadpasando a anular latransacción. Encualquier caso se cierra

la ranura.

… Transiciones temporizadas 

Transiciones temporizadas

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 116/126

116  www.dsic.upv.es/~uml

Ejemplo v.2:

… Transiciones temporizadas 

esperar dinero 

entry: Mostrar mensaje 

exit: cerrar ranura 

anular transacción 

 / Abrir ranura 

Depósito efectuado 

Temporizador(30 segundos) 

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 117/126

117  www.dsic.upv.es/~uml

Modelado de Componentes

Diagrama de Componentes

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 118/126

118  www.dsic.upv.es/~uml

Diagrama de Componentes

Los diagramas de componentes describen loselementos físicos del sistema y sus relaciones

Muestran las opciones de realización

incluyendo código fuente, binario y ejecutable

Diagramas de Componentes

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 119/126

119  www.dsic.upv.es/~uml

...Diagramas de Componentes

Los componentes representan todos los tiposde elementos software que entran en lafabricación de aplicaciones informáticas.

Pueden ser simples archivos, paquetes de Ada, bibliotecas cargadas dinámicamente,etc.

Cada clase del modelo lógico se realiza en

dos componentes: la especificación y elcuerpo

Diagramas de Componentes

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 120/126

120  www.dsic.upv.es/~uml

La representación gráfica es la siguiente:

Genérico Cuerpo Especificación 

Package

specification 

Package

body 

Generic

package 

… Diagramas de Componentes 

Dependencias entre Componentes

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 121/126

121  www.dsic.upv.es/~uml

Dependencias entre Componentes

Las relaciones de dependencia se utilizan enlos diagramas de componentes para indicarque un componente utiliza los servicios

ofrecidos por otro componente

Subsistemas

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 122/126

122  www.dsic.upv.es/~uml

Subsistemas

Los distintos componentes pueden agruparse enpaquetes según un criterio lógico y con vistas asimplificar la implementación

Son paquetes estereotipados en <<subsistemas>>

NewPackage4

<<subsistema>>

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 123/126

123  www.dsic.upv.es/~uml

Modelado de Distribución

Diagramas de Distribución

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 124/126

124  www.dsic.upv.es/~uml

Diagramas de Distribución

Los Diagramas de Distribución muestran ladisposición física de los distintos nodos quecomponen un sistema y el reparto de los

componentes sobre dichos nodos

Nodo

Diagramas de Distribución

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 125/126

125  www.dsic.upv.es/~uml

Los estereotipos permiten precisar lanaturaleza del equipo:

Dispositivos

ProcesadoresMemoria

Los nodos se interconectan mediante

soportes bidireccionales (en principio) quepueden a su vez estereotiparse

… Diagramas de Distribución 

Diagramas de Distribución

5/17/2018 Curso UML Reducido - slidepdf.com

http://slidepdf.com/reader/full/curso-uml-reducido 126/126

Ejemplo de conexión entre nodos:

Nodo

<<Procesador>nodo2

<<dispositivo>>

dispositivo

conexión7

conexión1

<<<<TCP/IP>>>>

<<RDSI>>

En Rational Rose podemosdistinguir entre el dispositivo porestereotipado y el dispositivo con

… Diagramas de Distribución