Professional Documents
Culture Documents
Puede hacerlo una sola persona Requiere : Modelado mnimo Proceso simple Herramientas simples
Construida eficientemente y en un tiempo razonable por un equipo Requiere : Modelado Proceso bien definido Herramientas ms sofisticadas
1 2
" www.d s i c.upv. e s / ~uml
Construccin de un rascacielos
Claves en Desarrollo de SI
Notacin
Herramientas
Proceso
3
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
envo
" www.dsic.upv.es/~uml
MV promueve la reutilizacin
Mltiples Sistemas
Componentes Reutilizados
7
" www.d s i c.upv. e s / ~uml
Qu es UML?
UML = Unified Modeling Language Un lenguaje de propsito general para el modelado orientado a objetos Documento OMG Unified Modeling Language Specification UML combina notaciones provenientes desde:
Modelado Orientado a Objetos Modelado de Datos Modelado de Componentes Modelado de Flujos de Trabajo ( Workflows)
9
" www.d s i c.upv. e s / ~uml
Situacin de Partida
Diversos mtodos y tcnicas OO, con muchos aspectos en comn pero utilizando distintas notaciones Inconvenientes para el aprendizaje, aplicacin, construccin y uso de herramientas, etc. Pugna entre distintos enfoques (y correspondientes gurs) => Necesidad de una notacin estndar
10
" www.d s i c.upv. e s / ~uml
Historia de UML
Comenz como el Mtodo Unificado, con la participacin de Grady Booch y Jim Rumbaugh. Se present en el OOPSLA95 El mismo ao se uni Ivar Jacobson. Los Tres Amigos son socios en la compaa Rational Software. Herramienta CASE Rational Rose
Historia de UML
2001 ? 2000 1999 1998 Nov 97
UML aprobado por el OMG
UML 1.2
11
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
12
" www.dsic.upv.es/~uml
MCI Systemhouse Microsoft ObjecTime Oracle Corp. Platinium Technology Sterling Software Taskon Texas Instruments Unisys
Jacobson Meyer
Pre- and Post-conditions
UML
Harel
State Charts
Embly
Singleton classes
Wirfs-Brock Fusion
Responsabilities Operation descriptions, message numbering
13
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
14
Inconvenientes en UML
Definicin del proceso de desarrollo usando UML. UML no es una metodologa Falta integracin con respecto de otras tcnicas tales como patrones de diseo, interfaces de usuario, documentacin, etc. Ejemplos aislados Monopolio de conceptos, tcnicas y mtodos entorno a UML
15
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
16
Perspectivas de UML
UML ser el lenguaje de modelado orientado a objetos estndar predominante los prximos aos Razones:
Participacin de metodlogos influyentes Participacin de importantes empresas Aceptacin del OMG como notacin estndar
Diagramas de UML
Use Case Use Case de Diagramas Diagrams Diagrams Secuencia Scenario Scenario Diagrams Diagramas Diagrams de Colaboracin Scenario Scenario de Diagrams Diagramas Diagrams Estados Use Case Use Case de Diagramas Diagrams Diagrams Casos de Uso State State de Diagramas Diagrams Diagrams Clases State State de Diagramas Diagrams Diagrams Objetos State State Diagrams Diagramas Diagrams de Componentes
Component Component Diagrams Diagramas Diagrams
Evidencias:
Herramientas que proveen la notacin UML Edicin de libros Congresos, cursos, camisetas, etc.
Modelo
Diagramas de Actividad
de Distribucin
18
" www.dsic.upv.es/~uml
Paquetes en UML
Los paquetes ofrecen un mecanismo general para la organizacin de los modelos agrupando elementos de modelado Se representan grficamente como:
Nombre de paquete
Paquetes en UML
Cada paquete corresponde a un subconjunto del modelo y contiene, segn el modelo, clases, objetos, relaciones, componentes y diagramas asociados U n p a q u e t e p u e d e c o n t e n e r o t r o s p a q u e t e s , sin lmite de anidamiento pero cada elemento pertenece a (est definido en) slo un paquete
19
" www.d s i c.upv. e s / ~uml " w w w .d s i c.u p v . e s / ~u m l
20
Paquetes en UML
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
22
24
" www.dsic.upv.es/~uml
Problemas en OO
...Los conceptos bsicos de la OO se conocen desde hace dos dcadas, pero su aceptacin todava no est tan extendida como los beneficios que esta tecnologa puede sugerir ...La mayora de los usuarios de la OO no utilizan los conceptos de la OO de forma purista, como inicialmente se pretenda. Esta prctica ha sido promovida por muchas herramientas y lenguajes que intentan utilizar los conceptos en diversos grados
--Wolfgang Strigel
25 " w w w .d s i c.u p v . e s / ~u m l
Objetos
Objeto = unidad atmica que integra estado y comportamiento La e n c a p s u l a c i n e n u n o b j e t o p e r m i t e una alta cohesin y un bajo acoplamiento Un objeto puede caracterizar una entidad fsica (coche) o concepto (ecuacin matemtica)
26 " w w w .d s i c.u p v . e s / ~u m l
Objetos
El Modelado de Objetos permite representar el ciclo de vida de los objetos a travs de sus interacciones En UML, un objeto se representa por un rectngulo con un nombre subrayado
Otro Objeto ms
Objetos
Ejemplo de varios objetos relacionados:
Dos clientes del banco Cuenta corriente
Felipe
Juan
Un Objeto
Otro Objeto
27 " w w w .d s i c.u p v . e s / ~u m l " w w w .d s i c.u p v . e s / ~u m l
Objetos
Objeto = Identidad + Estado + Comportamiento El estado est representado por los valores de los atributos Un atributo toma un valor en un dominio concreto
Identidad
O i d ( Object Identifier) Cada objeto posee un o i d. El o i d establece la identidad del objeto y tiene las siguientes caractersticas:
Constituye un identificador nico y global para cada objeto dentro del sistema Es determinado en el momento de la creacin del objeto Es independiente de la localizacin fsica del objeto, es decir, provee completa independencia de localizacin
29 30 " w w w .d s i c.u p v . e s / ~u m l
" w w w .d s i c.u p v . e s / ~u m l
Identidad
Es independiente de las propiedades del objeto, lo cual implica independencia de valor y de estructura No cambia durante toda la vida del objeto. Adems, un o i d no se reutiliza aunque el objeto deje de existir No se tiene ningn control sobre los oids y su manipulacin resulta transparente
Estado
El estado evoluciona con el tiempo Algunos atributos pueden ser constantes El comportamiento agrupa las competencias de un objeto y describe las acciones y reacciones de ese objeto Las operaciones de un objeto son consecuencia de un estmulo externo representado como mensaje enviado desde otro objeto
Sin embargo, es preciso contar con algn medio para hacer referencia a un objeto utilizando referencias del dominio (valores de atributos)
32
Comportamiento
Ejemplo de interaccin:
Otro objeto
Comportamiento
Los mensajes navegan por los enlaces, a priori en ambas direcciones Estado y comportamiento estn relacionados
Un mensaje
no est volando. Est volando como consecuencia de haber despegado del suelo
34
Persistencia
La persistencia de los objetos designa la capacidad de un objeto trascender en el espacio/tiempo Un objeto persistente conserva su estado en un si stema d e almac enam ient o permanent e (usualmente memoria secundaria) Podremos despus reconstruirlo, es decir, cogerlo de memoria secundaria para utilizarlo en la ejecucin (materializacin del objeto) Los lenguajes OO no proponen soporte adecuado para la persistencia, pues sta debera ser transparente, un objeto existe desde su creacin hasta que se destruya
Comunicacin
Un sistema informtico puede verse como un conjunto de objetos autnomos y concurrentes que trabajan de manera coordinada en la consecucin de un fin especfico El comportamiento global se basa pues en la comunicacin entre los objetos que la componen
35 " w w w .d s i c.u p v . e s / ~u m l
36
" w w w .d s i c.u p v . e s / ~u m l
Comunicacin
Categoras de objetos :
Act ivos Pasivos Clientes Servidores
El Concepto de Mensaje
La unidad de comunicacin entre objetos se llama mensaje.
Objeto Activo: po s e e un hilo de ejecucin (t h r e a d ) propio y puede iniciar una actividad Objeto Pasivo: no puede iniciar una actividad pero puede enviar estmulos una vez que se le solicita un servicio Cliente es el objeto que solicita un servicio. Servidor es el objeto que provee el servicio solicitado
37 " w w w .d s i c.u p v . e s / ~u m l
El mensaje es el soporte de una comunicacin que vincula dinmicamente los objetos que fueron separados previamente en el proceso de descomposicin. Una operacin es la especificacin y la implementacin de una funcin efectuada por un objeto.
38 " w w w .d s i c.u p v . e s / ~u m l
El Concepto de Operacin
Las operaciones menipulan los atributos del objeto. Pueden tener parmetros de entrada y/o salida. Un mensaje de un objeto a otro involucra la ejecucin de una operacin.
El Concepto de Operacin
El nombre del mensaje es el de la operacin. Los parmetros del mensaje son los parmetros de la operacin.
40
Casos de Uso
Los Casos de Uso (Ivar Jacobson) describen bajo la forma de acciones y reacciones el comportamiento de un sistema desde el p.d.v. del usuario
Casos de Uso
Permiten definir los lmites del sistema y las relaciones entre el sistema y el entorno Los Casos de Uso son descripciones de la funcionalidad del sistema independientes de la implementacin C omparacin con respecto a los Diagramas de Flujo de Datos del Enfoque Estructurado
" w w w .d s i c.u p v . e s / ~u m l
41 " w w w .d s i c.u p v . e s / ~u m l
42
Casos de Uso
Los Casos de Uso particionan el conjunto de necesidades atendiendo a la categora de usuarios que participan en el mismo Estn basado en el lenguaje natural, es decir, es accesible por los usuarios
Descripcin: Un cliente llega a la caja registradora con los artculos que comprar. El cajero registra los artculos y cobra el importe. Al terminar la operacin el cliente se marcha con los productos.
43 44 " w w w .d s i c.u p v . e s / ~u m l
" w w w .d s i c.u p v . e s / ~u m l
Casos de Uso
Ejemplo:
Sistema
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 aplicacin y deben ser utilizados Otros sistemas: sistemas con los que el sistema interacta
Caso de uso X
La misma persona fsica puede interpretar varios papeles como actores distintos
Actor A Actor B
Casos de Uso
Los Casos de Uso se determinan observando y precisando, actor por actor, las secuencias de interaccin, los escenarios, desde el punto de vista del usuario Un escenario es una instancia de un caso de uso Los casos de uso intervienen durante todo el ciclo de vida. El proceso de desarrollo estar dirigido por los casos de uso
48
<<include>>
Caso de uso destino
50
< < ee xx te nn d d> s>> << te > Giro por Transferen cia p o r Internet Internet Cliente <<includes>> < <i n c l u d e >>
Giro Transferencia
Identificacin
52
54
P o s t c on d i c i n Excepciones
Rendimiento
<nombre del requisito funcional> <numero de versin y fecha> <autor> <fuente de la versin actual> <nombre del objetivo> El sistema deber comportarse tal como se describe e n el siguiente caso de uso { concreto cuando <evento de activacin> , abstracto durante la realizacin de los casos de uso <lista de casos de uso>} <precondicin del caso de uso> Paso Accin 1 { E l < a c t o r > , E l s i s t e m a } < a ccin realizada por el actor o sistema>, se realiza el caso de uso < c a s o d e u s o R F -x > 2 Si <condicin>, {el <actor> , el sistema} <accin realizada por el actor o sistema>>, se realiza el c a s o d e u s o < c a s o d e u s o R F- x > 3 4 5 6 n <postcondicin del caso de uso> Paso Accin 1 Si <condicin de excepcin>,{el <actor> , el sistema} }<accin realizada por el actor o sistema>>, se realiza el caso de uso < c a s o d e u s o R F -x > , a c o n t i n u a c i n e s t e c a s o d e u s o { c o n t i n u a, aborta} 2 3 Paso Cota de tiempo 1 n segundos 2 n segundos <n de veces> veces / <unidad de tiempo> {sin importancia, importante, vital} {puede esperar, hay presin, inmediatamente} <comentarios adicionales>
Modelado de Interacciones
55 " w w w .d s i c.u p v . e s / ~u m l
56
Interaccin
L o s o b j e t o s i n t e r a c t a n para realizar colectivamente los servicios ofrecidos por las aplicaciones. Los diagramas de interaccin muestran cmo se comunican los objetos en una interaccin Existen dos tipos de diagramas de i n t e r a c c i n : l o s Di a g r a m a s d e Co l a b o r a c i n y los D i a g r a m a s d e S e c u e n c i a.
Diagramas de interaccin
Los Diagramas de Secuencia son ms adecuados estn para observar la perspectiva cronolgica de las interacciones Los Diagramas de Colaboracin ofrecen una mejor visin espacial mostrando los enlaces de comunicacin entre objetos Normalmente el D. de Colaboracin se obtiene a partir del correspondiente D. de Secuencia
58
Diagramas de Secuencia
Muestra la secuencia de mensajes entre objetos durante un escenario concreto. Cada objeto viene dado por una barra v e r t i c a l. E l t i e m p o t r a n s c u r r e d e a r r i b a a b a j o. Cuando existe demora entre el envo y la atencin se puede indicar usando una lnea oblicua.
Diagramas de Secuencia
Un ejemplo:
A B C
m1
m2
m3
m4
m5
60
10
Diagramas de Secuencia
Ejemplo
Quien llama Lnea telefnica Llamado descuelga
Estructuras de control
Podemos representar iteraciones en el envo de mensajes, p.e., mientras se cumpla una condicin:
tono
marcar
indicacin de llamada
timbre
descuelga
diga?
62
Estructuras de control
La iteracin puede expresarse tambin como parte del mensaje:
Estructuras de control
Las bifurcaciones condicionales pueden representarse de esta forma:
*[condicin] Mensaje
64
Diagramas de Colaboracin
Son tiles en la fase exploratoria para identificar objetos 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
Mensajes
Un mensaje desencadena una accin en el objeto destinatario Un mensaje se enva si han sido enviados los mensajes de una lista (sincronizacin):
A . 1 , B . 3 / 1 :M e n s a j e
66
11
Mensajes
Un mensaje se enva iterada y secuencialm ente a un conjunto de instancias :
Mensajes
Un mensaje se enva iterada y concurrentemente a un conjunto de instancias:
1 *[i:=1..n] : Mensaje B A A
1 *| | [i:=1..n] : Mensaje B
68
Mensajes
Un mensaje se enva de manera condicionada:
Mensajes
Un mensaje que devuelve un resultado:
[x>y] 1: Mensaje B A A
1: d i s t a n c i a:= m o v e r ( x , y ) B
70
Mensajes
Los argumentos de un mensaje pueden ser valores obtenidos como consecuencia de las llamadas anteriores Los argumentos pueden ser tambin expresiones de navegacin construidas a partir del objeto cliente Los argumentos pueden omitirse en el diagrama
Modelado Conceptual
72
12
Clases
Modelado Conceptual:
Organizacin del conocimiento del dominio del problema en un conjunto de abstracciones ordenadas de forma que se obtiene un conocimiento ms profundo del problema
Clases
La clase define el mbito de definicin de un conjunto de objetos Cada objeto pertenece a una clase Los objetos se crean por instanciacin de las clases
74
Clases: Encapsulacin
La e n c a p s u l a c i n p r e s e n t a d o s v e n t a j a s bsicas:
Se protegen los datos de accesos indebidos El acoplamiento entre las clases se disminuye Favorece la modularidad y el mantenimiento
76
Asociacin
La asociacin expresa una conexin bidireccional entre objetos Una asociacin es una abstraccin de la relacin existente en los enlaces entre los objetos
Univ. de Murcia:Universidad
Un enlace
Antonio:Estudiante
Estudiante
78
13
Asociacin
Ejemplo:
Asociacin
Especificacin de multiplicidad ( m n i m a . . . m x i m a )
1 Uno y slo uno Cero o uno D es d e M hasta N ( e n t e r o s n a t u r a l e s ) Cero o muchos Cero o muchos U no o muchos (al menos uno)
trabaja-para emplea-a
Administra
80
Asociacin Cualificada
Agregacin
Viajero
Aerolnea
nro_billete
0..1
L a agregacin representa una relacin parte_de entre objetos En UML se proporciona una escasa caracterizacin de la agregacin Puede ser caracterizada con precisin determinando las relaciones de comportamiento y estructura que existen entre el objeto agregado y cada uno de sus objetos componentes
Tablero Ajedrez
fila columna
Cuadro
82
Ejemplos
Ejemplos
Agregacin
coche 1 0..2 +Padre 1 motor Persona +Hijos * * *
Polgono
contiene
3.. *
Punto
{ordenado}
Persona Empresa
Cuenta
*
or
1
Asociacin excluyente
Usuario *
est-autorizado-en
Estacin
Clase de asociacin
83
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
14
Jerarquas de Generalizacin/Especializacin
Permiten gestionar la complejidad mediante un ordenamiento taxonmico Se obtiene usando los mecanismos de abstraccin de Generalizacin y/o Especializacin La Generalizacin consiste en factorizar l as propiedades comunes de un conjunto de clases en una clase ms general
85
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
86
vehiculo terrestre
vehiculo areo
funcionando
estropeado
coche
avion
helicoptero
87
Herencia Mltiple
Se presenta cuando una subclase tiene ms de una superclase
comercial
vehiculo terrestre
La herencia mltiple debe manejarse con precaucin. Algunos problemas son el conflicto de nombre y el conflicto de precedencia Se recomienda un uso restringido y disciplinado de la herencia. Java y Ada 95 simplemente no ofrecen herencia mltiple
89 90
" www.d s i c.upv. e s / ~uml
camion
avion
helicoptero
coche
dinmica
funcionando
estropeado
" www.dsic.upv.es/~uml
15
Polimorfismo
El trmino polimorfismo se refiere a que una caracterstica de una clase puede tomar varias formas El polimorfismo representa la posibilidad de desencadenar operaciones distintas en respuesta a un mismo mensaje
Polimorfismo
Zoo 1 * Animal Dormir() { }
Len
Oso
Tigre
Cada subclase hereda las operaciones pero tiene la posibilidad de modificar localmente el comportamiento de estas operaciones
91
" www.d s i c.upv. e s / ~uml
Dormir() { en un rbol }
92
Polimorfismo
La bsqueda automtica del cdigo que en cada momento se va a ejecutar es fruto del enlace dinmico El cumplimiento del Principio de Sustitucin permite obtener un comportamiento y diseo coherente
Diagramas de Estados
93
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
94
Diagramas de Estados
Los Diagramas de Estados representan autmatas de estados finitos, desde el p.d.v. de los estados y las transiciones Son tiles slo para los objetos con un comportamiento significativo El resto de objetos se puede considerar que tienen un nico estado El formalismo utilizado proviene de los Statecharts (Harel)
Diagramas de Estados
Cada objeto est en un estado en cierto instante El estado est caracterizado parcialmente por los valores de los atributos del objeto El estado en el que se encuentra un objeto determina su comportamiento Cada objeto sigue el comportamiento descrito en el D. de Estados asociado a su clase Los D. De Estados y escenarios son complementarios
95
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
96
" www.dsic.upv.es/~uml
16
Diagramas de Estados
Los D. de Estados son autmatas jerrquicos que permiten expresar concurrencia, sincronizacin y jerarquas de objetos Los Diagramas de Estados son grafos dirigidos Los D. De Estados de UML son deterministas Los estados inicial y final estn diferenciados del resto La transicin entre estados es instantnea y se debe a la ocurrencia de un evento
Diagramas de Estados
Ejemplo de un Diagrama de Estados para la clase persona:
contratar en el paro perder empleo jubilarse jubilarse en activo
jubilado
97
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
98
Diagramas de Estados
Las guardas permiten condicionar la transicin:
a Evento[ condicin ] b
Acciones
Podemos especificar la ejecucin de una accin como consecuencia de la transicin:
100
Acciones
Podemos especificar el envo de un evento a otro objeto como consecuencia de la transicin:
a
Acciones
Se puede especificar el hacer una accin como consecuencia de entrar, salir o estar en un estado:
estado A entry: accin por entrar
b
101
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
102
" www.dsic.upv.es/~uml
17
.. Acciones
Se puede especificar el hacer una accin cuando ocurre en dicho estado un evento que no conlleva salir del estado:
estado A on evento_activador( arg1 )[ condicin ]: accin por evento
Actividades
Las actividades son similares a las acciones pero tienen duracin y se ejecutan dentro de un estado del objeto Las actividades pueden interrumpirse en todo momento, cuando se desencadena la operacin de salida del estado
103
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
104
Actividades
Cuando una actividad finaliza se produce una transicin automtica de salida del estado
a do: actividad [ condicin ] [ not condicin ] b
Generalizacin de Estados
Podemos reducir la complejidad de estos diagramas usando la generalizacin de estados Distinguimos as entre superestado y subestados Un estado puede contener varios subestados disjuntos Los subestados heredan las variables de estado y las transiciones externas
105
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
106
Generalizacin de Estados
Ejemplo:
a e1 b
Generalizacin de Estados
Quedara como:
e1
e2 e2 c e2
c
107
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
108
" www.dsic.upv.es/~uml
18
Generalizacin de Estados
Es preferible tener estados iniciales de entrada a un nivel de manera que desde los niveles superiores no se sepa a qu subestado se entra:
e1 a e2 e0 b c
Generalizacin de Estados
La agregacin de estados es la composicin de un estado a partir de varios estados independientes La composicin es concurrente por lo que el objeto estar en alguno de los estados de cada uno de los subestados concurrentes
109
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
110
Generalizacin de Estados
Ejemplo:
e1 e1
111
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
112
Destruccin de Objeto
Ejemplo:
En vuelo crash
Transiciones temporizadas
Las esperas son actividades que tienen asociada cierta duracin La actividad de espera se interrumpe cuando el evento esperado tiene lugar Este evento desencadena una transicin que permite salir del estado que alberga la actividad de espera. El flujo de control se transmite entonces a otro estado
113 114
" www.d s i c.upv. e s / ~uml
aterrizar
" www.dsic.upv.es/~uml
19
Transiciones temporizadas
Ejemplo:
Si en 30 segundos no se introduce el dinero se termina la actividad pasando a anular la transaccin. En cualquier caso se cierra la ranura.
a
Transiciones temporizadas
Ejemplo v.2:
a
/ Abrir ranura esperar dinero entry : Mostrar mensaje do: Esperar 30 segundos exit: cerrar ranura
/ Abrir ranura esperar dinero anular transaccin entry : Mostrar mensaje exit: cerrar ranura Temporizador (30 segundos) anular transaccin
Depsito efectuado b
115
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
Depsito efectuado
b
116
Diagrama de Componentes
Los diagramas de componentes describen los elementos fsicos del sistema y sus relaciones
Modelado de Componentes
117
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
118
...Diagramas de Componentes
Los componentes representan todos los tipos de elementos software que entran en la fabricacin de aplicaciones informticas. Pueden ser simples archivos, paquetes de Ada, bibliotecas cargadas dinmicamente, etc. Cada clase del modelo lgico se realiza en dos componentes: la especificacin y el cuerpo
119
" www.d s i c.upv. e s / ~uml
Diagramas de Componentes
La representacin grfica es la siguiente:
Especificacin Cuerpo Genrico
Package specification
" www.d s i c.upv. e s / ~uml
Package body
Generic package
120
" www.dsic.upv.es/~uml
20
Subsistemas
Los distintos componentes pueden agruparse en paquetes segn un criterio lgico y con vistas a simplificar la implementacin Son paquetes estereotipados en <<subsistemas>>
<<subsistema>> NewPackage4
121
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
122
Diagramas de Distribucin
Los Diagramas de Distribucin muestran la disposicin fsica de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos
Modelado de Distribucin
Nodo
123
" www.d s i c.upv. e s / ~uml " www.d s i c.upv. e s / ~uml
124
Diagramas de Distribucin
Los estereotipos permiten precisar la naturaleza del equipo:
Dispositivos Procesadores Memoria
Diagramas de Distribucin
Ejemplo de conexin entre nodos:
<<Procesador> Nodo <<dispositivo>> nodo2
<<<<TCP/IP>>>> conexin1
Los nodos se interconectan mediante soportes bidireccionales (en principio) que pueden a su vez estereotiparse
125
" www.d s i c.upv. e s / ~uml
conexin7 <<RDSI>>
En Rational Rose podemos distinguir entre el dispositivo por estereotipado y el dispositivo con su propio smbolo
" www.d s i c.upv. e s / ~uml
dispositiv o
126
" www.dsic.upv.es/~uml
21