Title: Arquitectura de software dirigida por modelos (Model-Driven Architecture)
1Arquitectura de software dirigida por
modelos(Model-Driven Architecture)
- Liliana Favre
- UNCPBA
- 2006
2- UML
- (Unified Modeling Language)
3UML
- UML es un lenguaje para
- Visualizar
- Especificar
- Construir
- Documentar
- artefactos de sistemas intensivos de software
4Lenguajes 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 representación abstracta de una
especificación, un diseño o un sistema desde un
punto de vista particular. - Un diagrama es una representación de (parte de)
un modelo de diseño - Un modelo se representa por uno o más diagramas
5Lenguaje de Modelado UML 2.0
- Elementos primitivos de modelado
- (estáticos, dinámicos,
agrupamiento, anotaciones) - Relaciones
- Dependencia
- Asociación
- Generalización
- Realización
- Diagramas UML (13 diagramas)
- Diagramas estáticos
- Diagramas de comportamiento
6RELACIONES
- Dependencia
- Una relación semántica 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
7RELACIONES
- Asociación
- Es una relación estructural que describe un
- conjunto de links, siendo un link una conexión
- entre objetos
- 0..1
- empleador empleado
8RELACIONES
- Generalización
- Una relación de generalización/especialización
- en la que el elemento especializado
- (descendiente) se construye sobre la
- especificación del elemento generalizado
- (ancestro)
9RELACIONES
- Realización
- Es una relación semántica 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
- colaboración, garantiza llevar a cabo.
10DIAGRAMAS UML
- Diagramas estáticos
- Diagrama de clases
- Diagrama de objetos
- Diagrama de componentes
- Diagrama de estructura compuesta
- Diagrama de paquetes
- Diagrama de despliegue
11Diagrama de clases
- Muestra un conjunto de
- clases, interfaces,
- colaboraciones y
- sus relaciones
12Diagrama de objetos
- Muestra una instantánea
- de un conjunto de
- objetos y sus relaciones
13Diagrama de componentes
- Muestra la organización y
- dependencias entre un
- conjunto de componentes, la
- vista de implementación de
- un sistema.
- Están relacionados a diagramas
- de clases en donde un
- componente se corresponde
- con una o más clases,interfaces
- o colaboraciones.
14Diagrama de estructura compuesta(Composite
Structural Diagram)
- Muestra la estructura
- interna (incluyendo
- partes y conectores) de
- un clasificador o una
- colaboración estructurada.
15Diagrama de paquetes
- Muestra la
- descomposición del
- modelo en unidades de
- organización y sus
- dependencias.
16Diagrama de despliegue
- Muestra los enlaces de
- comunicación física
- entre elementos de
- hardware y las relaciones
- entre máquinas físicas y
- procesos qué se ejecuta
- y dónde
17Diagramas UML
- Diagramas de comportamiento
- Diagramas de casos de uso
- Diagrama de secuencia
- Diagrama de colaboración
- Diagrama de estados
- Diagrama de actividades
- Diagrama cronológico
- Diagrama general de interacciones
18Diagrama de casos de uso
- Muestra un conjunto de casos de uso y actores y
sus - relaciones
19Diagrama de secuencia
- Es un diagrama de
- interacción que muestra los
- objetos y actores que
- participan en una
- colaboración poniendo el
- énfasis en el ordenamiento
- en el tiempo de los
- mensajes
20Diagrama de colaboración
- Un diagrama de interacción
- que pone el énfasis en la
- organización estructural de
- los objetos o roles que
- envían y reciben mensajes.
21Diagrama de estados
- Muestra un autómata
- que consiste de estados,
- transiciones, eventos y
- actividades
22Diagrama de actividades
- Muestra la estructura de
- un proceso u otro cálculo
- como el flujo de control
- y datos paso a paso en el
- cálculo.
23Diagrama cronológico(Timing Diagram)
- Es un diagrama de
- interacción que muestra
- tiempos a lo largo de
- diferentes objetos o
- roles, y no secuencias
- relativas de mensajes
24Diagrama de interacciones general(Interaction
Overview Diagram)
- Es un híbrido de
- diagramas de actividad
- y de secuencia.
25- Diagramas estáticos UML
- Diagrama de clases
26Diagrama de clases
- Es el diagrama más común en modelos orientados a
- objetos.
- Elementos de un diagrama de clases
- Clases
- Interfaz, clases abstractas, clases
parametrizadas - Relaciones de dependencia, generalización y
asociación - Colaboraciones
- Notas y constraints
27Diagrama de clases- Ejemplo
28Diagrama de claseClases
- Una clase es una descripción de un conjunto de
- objetos que comparten los mismos atributos,
- operaciones, relaciones y semántica.
nombre
atributos
operaciones
29Diagrama de clases Responsabilidades
- Una responsabilidad es un contrato o una
- obligación de una clase.
Shipment
Responsabilities --maintain the
information regarding products shipped
against an order --track the status and
location of the shipped products
30Diagrama de clasesVisibilidad
- UML permite diferentes formas de acceso a
- miembros de una clase
- Público
- Protegido
- - Privado
31Diagrama de clasesRelaciones
- Las relaciones más importantes entre clases son
- Dependencia
- Generalización
- Asociación
32Diagrama de clasesAsociaciones
- Una asociación es una relación estructural que
- especifica que objetos de una clase están
- conectados a objetos de otra
- Tipos de asociaciones
- Unaria
- Binaria
- N-aria
33Diagrama de clasesAsociaciones
- Multiplicidad
nombre - 0..1 Trabaja-para
-
- empleador
empleado - rol
-
34Diagrama de clasesAsociaciones
- Nombre
- Rol
- Cuando una clase participa en una asociación,
- tiene un rol específico que juega en tal
relación. - Multiplicidad
- Puede ser un rango de valores o un valor
explícito - Exactamente 1 1
- Cero 0..1
0..1 - Cero o más 0..
- Uno o más 1..
- Subrango m..n
- Navegabilidad
35Diagrama de clasesAgregación- Composición
- Relaciones es-parte-de, una clase representa al
todo - y otra a las partes.
- Agregación Diamante blanco
- Composición Diamante negro
- En una composición hay relación entre los ciclos
de - vida del todo y sus partes. La multiplicidad
en el - extremo del todo en una composición debe ser 1
ó - 0..1
- una parte no puede pertencer a más de un
todo
36Diagrama de clasesAsociaciones
37Diagrama de clasesInterfaz
- Una interfaz es una colección 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 podría incluir varias interfaces
diferentes
38Diagrama de clasesInterfaces
39Diagrama de clasesClases 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 implementación y no tiene
- atributos es lo mismo que una interfaz.
40Diagrama de clasesClases Abstractas
41Diagrama de clasesClases parametrizadas
42- Las gráficas fueron extraídas de los siguientes
- textos
- Booch, G., Rumbaugh, J., Jacobson, I. The Unified
Modeling Language. User Guide. Addison Wesley.
(2005) - Stevens, P. Pooley R. Utilización de UML en
Ingeniería del software con objetos y
componentes (2002)