clase1 uml

45
Arquitectura de Arquitectura de software dirigida software dirigida por modelos por modelos (Model-Driven (Model-Driven Architecture) Architecture)

Upload: jhontello

Post on 05-Jan-2016

234 views

Category:

Documents


0 download

DESCRIPTION

UMLLL

TRANSCRIPT

Page 1: Clase1 Uml

Arquitectura de software Arquitectura de software dirigida por modelosdirigida por modelos(Model-Driven Architecture)(Model-Driven Architecture)

Page 2: Clase1 Uml

UMLUML

(Unified Modeling (Unified Modeling Language)Language)

Page 3: Clase1 Uml

UML UML

UML es un lenguaje paraUML es un lenguaje para

VisualizarVisualizar EspecificarEspecificar Construir Construir DocumentarDocumentar

artefactos de sistemas intensivos de softwareartefactos de sistemas intensivos de software

Page 4: Clase1 Uml

Lenguajes de modelado, Lenguajes de modelado, modelos y diagramas modelos y diagramas

Un Un lenguaje de modeladolenguaje de modelado permite expresar los permite expresar los distintos modelos que se producen en el proceso de distintos modelos que se producen en el proceso de desarrollo. desarrollo.

Un Un modelomodelo es una representación abstracta de una es una representación abstracta de una especificación, un diseño o un sistema desde un punto especificación, un diseño o un sistema desde un punto de vista particular.de vista particular.

Un Un diagramadiagrama es una representación de (parte de) un es una representación de (parte de) un modelo de diseñomodelo de diseño

Un modelo se representa por uno o más Un modelo se representa por uno o más diagramasdiagramas

Page 5: Clase1 Uml

Lenguaje de Modelado Lenguaje de Modelado UML 2.0UML 2.0

Elementos primitivos de modelado Elementos primitivos de modelado (estáticos, dinámicos, agrupamiento, anotaciones)(estáticos, dinámicos, agrupamiento, anotaciones)

RelacionesRelaciones DependenciaDependencia AsociaciónAsociación GeneralizaciónGeneralización RealizaciónRealización

Diagramas UML (13 diagramas)Diagramas UML (13 diagramas) Diagramas estáticosDiagramas estáticos Diagramas de comportamientoDiagramas de comportamiento

Page 6: Clase1 Uml

RELACIONESRELACIONES

DependenciaDependencia

Una relación semántica entre dos elementos, tal queUna relación semántica entre dos elementos, tal que

un cambio en una de ellos (el independiente) puedeun cambio en una de ellos (el independiente) puede

afectar al otro (el dependiente). afectar al otro (el dependiente).

A BA B

““B depende de A”B depende de A”

Page 7: Clase1 Uml

RELACIONESRELACIONES

AsociaciónAsociación

Es una relación estructural que describe unEs una relación estructural que describe un

conjunto de links, siendo un link una conexiónconjunto de links, siendo un link una conexión

entre objetosentre objetos

0..1 *0..1 *

empleador empleadoempleador empleado

Page 8: Clase1 Uml

RELACIONESRELACIONES

GeneralizaciónGeneralizació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)

Page 9: Clase1 Uml

RELACIONESRELACIONES

RealizaciónRealización

Es una relación semántica en la que unEs una relación semántica en la que un

clasificador, tal como una interfaz o un caso declasificador, tal como una interfaz o un caso de

uso, especifica un “contrato” que otrouso, especifica un “contrato” que otro

clasificador, tal como una clase o unaclasificador, tal como una clase o una

colaboración, garantiza llevar a cabo.colaboración, garantiza llevar a cabo.

Page 10: Clase1 Uml

RELACIONESRELACIONESAgregación

La agregación es un tipo de asociación que indica que una clase es parte de otra clase (composición débil). Los componentes pueden ser compartidos por varios compuestos (de la misma asociación de agregación o de varias asociaciones de agregación distintas). La destrucción del compuesto no conlleva la destrucción de los componentes. Habitualmente se da con mayor frecuencia que la composición.La agregación se representa en UML mediante un diamante de color blanco colocado en el extremo en el que está la clase que representa el “todo”.

Page 11: Clase1 Uml

ComposiciónComposición es una forma fuerte de composición 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 supresión del objeto compuesto conlleva la supresión de los componentes.El símbolo de composición es un diamante de color negro colocado en el extremo en el que está la clase que representa el “todo” (Compuesto).

RELACIONESRELACIONES

Page 12: Clase1 Uml

Diferencias entre Composición y Agregación

La siguiente tabla intenta resumir algunas diferencias entre agregación y composición.

Page 13: Clase1 Uml

DIAGRAMAS UMLDIAGRAMAS UML

Diagramas estáticosDiagramas estáticos Diagrama de clases

Diagrama de objetos

Diagrama de componentes

Diagrama de estructura compuesta

Diagrama de paquetes

Diagrama de despliegue

Page 14: Clase1 Uml

Diagrama de clasesDiagrama de clases

Muestra un Muestra un conjunto de conjunto de

clases, interfaces, clases, interfaces,

colaboraciones y colaboraciones y

sus relaciones sus relaciones

Page 15: Clase1 Uml

Diagrama de objetosDiagrama de objetos

Muestra una Muestra una instantánea instantánea

de un conjunto de de un conjunto de

objetos y sus objetos y sus relacionesrelaciones

Page 16: Clase1 Uml

Diagrama de componentesDiagrama de componentes

Muestra la organización yMuestra la organización y

dependencias entre undependencias entre un

conjunto de componentes, laconjunto de componentes, la

vista de implementación devista de implementación de

un sistema. un sistema.

Están relacionados a diagramasEstán relacionados a diagramas

de clases en donde unde clases en donde un

componente se correspondecomponente se corresponde

con una o más clases,interfacescon una o más clases,interfaces

o colaboraciones.o colaboraciones.

Page 17: Clase1 Uml

Diagrama de estructura compuestaDiagrama de estructura compuesta(Composite Structural Diagram)(Composite Structural Diagram)

Muestra la estructuraMuestra la estructura

interna (incluyendointerna (incluyendo

partes y conectores) departes y conectores) de

un clasificador o unaun clasificador o una

colaboración estructuradacolaboración estructurada. .

Page 18: Clase1 Uml

Diagrama de paquetesDiagrama de paquetes

Muestra laMuestra la

descomposición deldescomposición del

modelo en unidades modelo en unidades dede

organización y susorganización y sus

dependencias.dependencias.

Page 19: Clase1 Uml

Diagrama de despliegueDiagrama de despliegue

Muestra los enlaces deMuestra los enlaces de

comunicación físicacomunicación física

entre elementos deentre elementos de

hardware y las hardware y las relacionesrelaciones

entre máquinas físicas entre máquinas físicas yy

procesos: qué se procesos: qué se ejecutaejecuta

y dóndey dónde

Page 20: Clase1 Uml

Diagramas UMLDiagramas UML

Diagramas de comportamientoDiagramas 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

Page 21: Clase1 Uml

Diagrama de casos de usoDiagrama de casos de uso

Muestra un conjunto de casos de uso y Muestra un conjunto de casos de uso y actores y susactores y sus

relacionesrelaciones

Page 22: Clase1 Uml

Diagrama de secuenciaDiagrama de secuencia

Es un Es un diagrama dediagrama de

interaccióninteracción que muestra que muestra loslos

objetos y actores queobjetos y actores que

participan en unaparticipan en una

colaboración poniendo colaboración poniendo elel

énfasis en el énfasis en el ordenamientoordenamiento

en el tiempo de losen el tiempo de los

mensajes mensajes

Page 23: Clase1 Uml

Diagrama de colaboraciónDiagrama de colaboración

Un diagrama de Un diagrama de interaccióninteracción

que pone el énfasis que pone el énfasis en laen la

organización organización estructural deestructural de

los objetos o roles los objetos o roles queque

envían y reciben envían y reciben mensajes.mensajes.

Page 24: Clase1 Uml

Diagrama de estadosDiagrama de estados

Muestra un Muestra un autómataautómata

que consiste de que consiste de estados,estados,

transiciones, eventos transiciones, eventos yy

actividadesactividades

Page 25: Clase1 Uml

Diagrama de actividadesDiagrama de actividades

Muestra la Muestra la estructura deestructura de

un proceso u otro un proceso u otro cálculocálculo

como el flujo de como el flujo de controlcontrol

y datos paso a paso y datos paso a paso en elen el

cálculo.cálculo.

Page 26: Clase1 Uml

Diagrama cronológicoDiagrama cronológico(Timing Diagram)(Timing Diagram)

Es un diagrama deEs un diagrama de

interacción que interacción que muestramuestra

tiempos a lo largo detiempos a lo largo de

diferentes objetos odiferentes objetos o

roles, y no roles, y no secuenciassecuencias

relativas de relativas de mensajesmensajes

Page 27: Clase1 Uml

Diagrama de interacciones generalDiagrama de interacciones general(Interaction Overview Diagram)(Interaction Overview Diagram)

Es un híbrido de Es un híbrido de

diagramas de diagramas de actividadactividad

y de secuencia.y de secuencia.

Page 28: Clase1 Uml

Diagramas estáticos UMLDiagramas estáticos UML

Diagrama de clasesDiagrama de clases

Page 29: Clase1 Uml

Diagrama de clasesDiagrama de clases

Es el diagrama más común en modelos orientados aEs el diagrama más común en modelos orientados a

objetos.objetos.

Elementos de un diagrama de clasesElementos de un diagrama de clases ClasesClases

Interfaz, clases abstractas, clases parametrizadasInterfaz, clases abstractas, clases parametrizadas Relaciones de dependencia, generalización y Relaciones de dependencia, generalización y

asociaciónasociación ColaboracionesColaboraciones Notas y constraintsNotas y constraints

Page 30: Clase1 Uml

Diagrama de clases- Diagrama de clases- EjemploEjemplo

Page 31: Clase1 Uml

Diagrama de claseDiagrama de claseClasesClases

Una clase es una descripción de un conjunto deUna clase es una descripción de un conjunto de

objetos que comparten los mismos atributos,objetos que comparten los mismos atributos,

operaciones, relaciones y semántica.operaciones, relaciones y semántica.

nombrenombre

atributosatributos

operacionesoperaciones

Page 32: Clase1 Uml

Diagrama de clases Diagrama de clases ResponsabilidadesResponsabilidades

Una responsabilidad es un contrato o unaUna responsabilidad es un contrato o una

obligación de una clase.obligación de una clase. ShipmentShipment

ResponsabilitiesResponsabilities --maintain the information--maintain the information

regarding products shipped regarding products shipped

against an order against an order

--track the status and location of--track the status and location of

the shipped productsthe shipped products

Page 33: Clase1 Uml

Diagrama de clasesDiagrama de clasesVisibilidadVisibilidad

UML permite diferentes formas de acceso aUML permite diferentes formas de acceso a

miembros de una clase:miembros de una clase:

+ Público+ Público # Protegido# Protegido - Privado- Privado

Page 34: Clase1 Uml

Diagrama de clasesDiagrama de clasesRelacionesRelaciones

Las relaciones más importantes entre clases son:Las relaciones más importantes entre clases son:

Dependencia Dependencia GeneralizaciónGeneralización

AsociaciónAsociación

Page 35: Clase1 Uml

Diagrama de clasesDiagrama de clasesAsociacionesAsociaciones

Una Una asociaciónasociación es una relación estructural que es una relación estructural que

especifica que objetos de una clase estánespecifica que objetos de una clase están

conectados a objetos de otraconectados a objetos de otra

Tipos de asociacionesTipos de asociaciones UnariaUnaria BinariaBinaria N-ariaN-aria

Page 36: Clase1 Uml

Diagrama de clasesDiagrama de clasesAsociacionesAsociaciones

Multiplicidad Multiplicidad nombrenombre

0..1 Trabaja-para *0..1 Trabaja-para * empleador empleadoempleador empleado rol rol

Page 37: Clase1 Uml

Diagrama de clasesDiagrama de clasesAsociacionesAsociaciones

NombreNombreRolRolCuando una clase participa en una asociación,Cuando una clase participa en una asociación,tiene un rol específico que juega en tal relación.tiene un rol específico que juega en tal relación.MultiplicidadMultiplicidadPuede ser un rango de valores o un valor explícito:Puede ser un rango de valores o un valor explícito:

Exactamente 1Exactamente 1 11 Cero 0..1 Cero 0..1 0..10..1 Cero o másCero o más 0..*0..* Uno o más Uno o más 1..*1..* Subrango Subrango m..nm..n

NavegabilidadNavegabilidad

Page 38: Clase1 Uml

Diagrama de clasesDiagrama de clasesAgregación- ComposiciónAgregación- Composición

Relaciones “es-parte-de”, una clase representa al “todo”Relaciones “es-parte-de”, una clase representa al “todo”y otra a las “partes”.y otra a las “partes”.Agregación Diamante blancoAgregación Diamante blancoComposición Diamante negroComposición Diamante negroEn una composición hay relación entre los ciclos deEn una composición hay relación entre los ciclos devida del “todo” y sus “partes”. La multiplicidad en elvida del “todo” y sus “partes”. La multiplicidad en elextremo del “todo” en una composición debe ser 1 óextremo del “todo” en una composición debe ser 1 ó0..10..1

una “parte” no puede pertencer a más de un una “parte” no puede pertencer a más de un “todo”“todo”

Page 39: Clase1 Uml

Diagrama de clasesDiagrama de clasesAsociacionesAsociaciones

Page 40: Clase1 Uml

Diagrama de clasesDiagrama de clasesInterfazInterfaz

Una interfaz es una colección de operaciones queUna interfaz es una colección de operaciones que

son usadas para especificar un servicio de unason usadas para especificar un servicio de una

claseclase No especifican estructura ( no tiene atributos)No especifican estructura ( no tiene atributos) No tiene asociadas implementaciones con ninguna de No tiene asociadas implementaciones con ninguna de

las operacioneslas operaciones

No necesita especificar todas las operacionesNo necesita especificar todas las operaciones Una clase podría incluir varias interfaces diferentes Una clase podría incluir varias interfaces diferentes

Page 41: Clase1 Uml

Diagrama de clasesDiagrama de clasesInterfacesInterfaces

Page 42: Clase1 Uml

Diagrama de clasesDiagrama de clasesClases AbstractasClases Abstractas

Pueden tener implementaciones definidas paraPueden tener implementaciones definidas para

algunas de sus operaciones ( al menos una noalgunas de sus operaciones ( al menos una no

está definida)está definida)

Una clase abstracta en la que ninguna de lasUna clase abstracta en la que ninguna de las

operaciones tiene implementación y no tieneoperaciones tiene implementación y no tiene

atributos es lo mismo que una interfaz.atributos es lo mismo que una interfaz.

Page 43: Clase1 Uml

Diagrama de clasesDiagrama de clasesClases AbstractasClases Abstractas

Page 44: Clase1 Uml

Diagrama de clasesDiagrama de clasesClases parametrizadasClases parametrizadas

Page 45: Clase1 Uml

Las gráficas fueron extraídas de Las gráficas fueron extraídas de los siguienteslos siguientes

textos:textos:

Booch, G., Rumbaugh, J., Jacobson, I. The Unified Modeling Booch, G., Rumbaugh, J., Jacobson, I. The Unified Modeling Language. User Guide. Addison Wesley. (2005)Language. User Guide. Addison Wesley. (2005)

Stevens, P. Pooley R. Utilización de UML en Ingeniería del Stevens, P. Pooley R. Utilización de UML en Ingeniería del software con objetos y componentes (2002)software con objetos y componentes (2002)