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

Arquitectura de software dirigida por modelos

(Model-Driven Architecture)
Liliana Favre UNCPBA 2006

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 estticos Diagramas de comportamiento

Diagramas UML (13 diagramas)


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.

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 0..1 nombre Trabaja-para * empleado

empleador

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 Cero 0..1 Cero o ms Uno o ms Subrango

1 0..1 0..* 1..* 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)

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