Вы находитесь на странице: 1из 45

Arquitectura de software

dirigida por modelos


(Model-Driven Architecture)
UML
(Unified Modeling Language)
UML

UML es un lenguaje para

Visualizar
Especificar

Construir

Documentar

artefactos de sistemas intensivos de software


Lenguajes de modelado,
modelos y diagramas
Un lenguaje de modelado permite expresar los
distintos modelos que se producen en el proceso de
desarrollo.
Un modelo es una representacin abstracta de una
especificacin, un diseo o un sistema desde un punto
de vista particular.
Un diagrama es una representacin de (parte de) un
modelo de diseo
Un modelo se representa por uno o ms diagramas
Lenguaje de Modelado UML 2.0
Elementos primitivos de modelado
(estticos, dinmicos, agrupamiento, anotaciones)

Relaciones
Dependencia
Asociacin
Generalizacin
Realizacin
Diagramas UML (13 diagramas)
Diagramas estticos
Diagramas de comportamiento
RELACIONES
Dependencia
Una relacin semntica entre dos elementos, tal que
un cambio en una de ellos (el independiente) puede
afectar al otro (el dependiente).
A B
B depende de A
RELACIONES
Asociacin
Es una relacin estructural que describe un
conjunto de links, siendo un link una conexin
entre objetos
0..1 *
empleador empleado
RELACIONES
Generalizacin
Una relacin de generalizacin/especializacin
en la que el elemento especializado
(descendiente) se construye sobre la
especificacin del elemento generalizado
(ancestro)
RELACIONES
Realizacin
Es una relacin semntica en la que un
clasificador, tal como una interfaz o un caso de
uso, especifica un contrato que otro
clasificador, tal como una clase o una
colaboracin, garantiza llevar a cabo.
RELACIONES
Agregacin
La agregacin es un tipo de asociacin que indica que una clase es parte de
otra clase (composicin dbil). Los componentes pueden ser compartidos por
varios compuestos (de la misma asociacin de agregacin o de varias
asociaciones de agregacin distintas). La destruccin del compuesto no
conlleva la destruccin de los componentes. Habitualmente se da con mayor
frecuencia que la composicin.
La agregacin se representa en UML mediante un diamante de color blanco
colocado en el extremo en el que est la clase que representa el todo.
RELACIONES
Composicin
Composicin es una forma fuerte de composicin donde la vida de la clase contenida
debe coincidir con la vida de la clase contenedor. Los componentes constituyen una
parte del objeto compuesto. De esta forma, los componentes no pueden ser
compartidos por varios objetos compuestos. La supresin del objeto compuesto
conlleva la supresin de los componentes.
El smbolo de composicin es un diamante de color negro colocado en el extremo en
el que est la clase que representa el todo (Compuesto).
Diferencias entre Composicin y
Agregacin

La siguiente tabla intenta resumir


algunas diferencias entre agregacin y
composicin.
DIAGRAMAS UML
Diagramas estticos
Diagrama de clases
Diagrama de objetos
Diagrama de componentes
Diagrama de estructura compuesta
Diagrama de paquetes
Diagrama de despliegue
Diagrama de clases

Muestra un conjunto de
clases, interfaces,
colaboraciones y
sus relaciones
Diagrama de objetos

Muestra una instantnea


de un conjunto de
objetos y sus relaciones
Diagrama de componentes
Muestra la organizacin y
dependencias entre un
conjunto de componentes, la
vista de implementacin de
un sistema.
Estn relacionados a diagramas
de clases en donde un
componente se corresponde
con una o ms clases,interfaces
o colaboraciones.
Diagrama de estructura compuesta
(Composite Structural Diagram)
Muestra la estructura
interna (incluyendo
partes y conectores) de
un clasificador o una
colaboracin estructurada.
Diagrama de paquetes
Muestra la
descomposicin del
modelo en unidades de
organizacin y sus
dependencias.
Diagrama de despliegue
Muestra los enlaces de
comunicacin fsica
entre elementos de
hardware y las relaciones
entre mquinas fsicas y
procesos: qu se ejecuta
y dnde
Diagramas UML
Diagramas de comportamiento
Diagramas de casos de uso
Diagrama de secuencia
Diagrama de colaboracin
Diagrama de estados
Diagrama de actividades
Diagrama cronolgico
Diagrama general de interacciones
Diagrama de casos de uso
Muestra un conjunto de casos de uso y actores y sus
relaciones
Diagrama de secuencia
Es un diagrama de
interaccin que muestra los
objetos y actores que
participan en una
colaboracin poniendo el
nfasis en el ordenamiento
en el tiempo de los
mensajes
Diagrama de colaboracin
Un diagrama de interaccin
que pone el nfasis en la
organizacin estructural de
los objetos o roles que
envan y reciben mensajes.
Diagrama de estados
Muestra un autmata
que consiste de estados,
transiciones, eventos y
actividades
Diagrama de actividades
Muestra la estructura de
un proceso u otro clculo
como el flujo de control
y datos paso a paso en el
clculo.
Diagrama cronolgico
(Timing Diagram)
Es un diagrama de
interaccin que muestra
tiempos a lo largo de
diferentes objetos o
roles, y no secuencias
relativas de mensajes
Diagrama de interacciones general
(Interaction Overview Diagram)
Es un hbrido de
diagramas de actividad
y de secuencia.
Diagramas estticos UML
Diagrama de clases
Diagrama de clases
Es el diagrama ms comn en modelos orientados a
objetos.
Elementos de un diagrama de clases
Clases
Interfaz, clases abstractas, clases parametrizadas
Relaciones de dependencia, generalizacin y
asociacin
Colaboraciones
Notas y constraints
Diagrama de clases- Ejemplo
Diagrama de clase
Clases
Una clase es una descripcin de un conjunto de
objetos que comparten los mismos atributos,
operaciones, relaciones y semntica.

nombre

atributos

operaciones
Diagrama de clases
Responsabilidades
Una responsabilidad es un contrato o una
obligacin de una clase.
Shipment

Responsabilities
--maintain the information
regarding products shipped
against an order
--track the status and location of
the shipped products
Diagrama de clases
Visibilidad
UML permite diferentes formas de acceso a
miembros de una clase:

+ Pblico
# Protegido
- Privado
Diagrama de clases
Relaciones
Las relaciones ms importantes entre clases son:

Dependencia
Generalizacin

Asociacin
Diagrama de clases
Asociaciones
Una asociacin es una relacin estructural que
especifica que objetos de una clase estn
conectados a objetos de otra
Tipos de asociaciones
Unaria

Binaria

N-aria
Diagrama de clases
Asociaciones

Multiplicidad nombre
0..1 Trabaja-para *

empleador empleado
rol
Diagrama de clases
Asociaciones
Nombre
Rol
Cuando una clase participa en una asociacin,
tiene un rol especfico que juega en tal relacin.
Multiplicidad
Puede ser un rango de valores o un valor explcito:
Exactamente 1 1
Cero 0..1 0..1
Cero o ms 0..*
Uno o ms 1..*
Subrango m..n
Navegabilidad
Diagrama de clases
Agregacin- Composicin
Relaciones es-parte-de, una clase representa al todo
y otra a las partes.
Agregacin Diamante blanco
Composicin Diamante negro
En una composicin hay relacin entre los ciclos de
vida del todo y sus partes. La multiplicidad en el
extremo del todo en una composicin debe ser 1
0..1
una parte no puede pertencer a ms de un todo
Diagrama de clases
Asociaciones
Diagrama de clases
Interfaz
Una interfaz es una coleccin de operaciones que
son usadas para especificar un servicio de una
clase
No especifican estructura ( no tiene atributos)

No tiene asociadas implementaciones con ninguna de


las operaciones
No necesita especificar todas las operaciones
Una clase podra incluir varias interfaces diferentes
Diagrama de clases
Interfaces
Diagrama de clases
Clases Abstractas
Pueden tener implementaciones definidas para
algunas de sus operaciones ( al menos una no
est definida)
Una clase abstracta en la que ninguna de las
operaciones tiene implementacin y no tiene
atributos es lo mismo que una interfaz.
Diagrama de clases
Clases Abstractas
Diagrama de clases
Clases parametrizadas
Las grficas fueron extradas de los siguientes
textos:

Booch, G., Rumbaugh, J., Jacobson, I. The Unified Modeling


Language. User Guide. Addison Wesley. (2005)

Stevens, P. Pooley R. Utilizacin de UML en Ingeniera del


software con objetos y componentes (2002)

Вам также может понравиться