Upload
dan-villanueva-valerio
View
56
Download
2
Embed Size (px)
DESCRIPTION
dan
Citation preview
Arquitectura de software dirigida por modelos(Model-Driven Architecture)
Liliana FavreUNCPBA2006
UML(Unified Modeling Language)
UML
UML es un lenguaje para
VisualizarEspecificarConstruir Documentarartefactos 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 diseoUn modelo se representa por uno o ms diagramas
Lenguaje de Modelado UML 2.0Elementos primitivos de modelado (estticos, dinmicos, agrupamiento, anotaciones)
RelacionesDependenciaAsociacinGeneralizacin RealizacinDiagramas UML (13 diagramas)Diagramas estticosDiagramas de comportamiento
RELACIONESDependenciaUna relacin semntica entre dos elementos, tal queun cambio en una de ellos (el independiente) puedeafectar al otro (el dependiente). A B B depende de A
RELACIONESAsociacinEs una relacin estructural que describe unconjunto de links, siendo un link una conexinentre objetos 0..1 * empleador empleado
RELACIONESGeneralizacinUna relacin de generalizacin/especializacinen la que el elemento especializado(descendiente) se construye sobre laespecificacin del elemento generalizado(ancestro)
RELACIONESRealizacinEs una relacin semntica en la que unclasificador, tal como una interfaz o un caso deuso, especifica un contrato que otroclasificador, tal como una clase o unacolaboracin, garantiza llevar a cabo.
DIAGRAMAS UMLDiagramas estticosDiagrama de clasesDiagrama de objetosDiagrama de componentesDiagrama de estructura compuesta Diagrama de paquetesDiagrama de despliegue
Diagrama de clasesMuestra un conjunto de clases, interfaces, colaboraciones y sus relaciones
Diagrama de objetosMuestra una instantnea de un conjunto de objetos y sus relaciones
Diagrama de componentesMuestra la organizacin ydependencias entre unconjunto de componentes, lavista de implementacin deun sistema. Estn relacionados a diagramasde clases en donde uncomponente se correspondecon una o ms clases,interfaceso colaboraciones.
Diagrama de estructura compuesta(Composite Structural Diagram)Muestra la estructurainterna (incluyendopartes y conectores) deun clasificador o unacolaboracin estructurada.
Diagrama de paquetesMuestra ladescomposicin delmodelo en unidades deorganizacin y susdependencias.
Diagrama de despliegueMuestra los enlaces decomunicacin fsicaentre elementos dehardware y las relacionesentre mquinas fsicas yprocesos: qu se ejecutay dnde
Diagramas UMLDiagramas de comportamientoDiagramas de casos de usoDiagrama de secuenciaDiagrama de colaboracinDiagrama de estadosDiagrama de actividadesDiagrama cronolgico Diagrama general de interacciones
Diagrama de casos de usoMuestra un conjunto de casos de uso y actores y susrelaciones
Diagrama de secuenciaEs un diagrama deinteraccin que muestra losobjetos y actores queparticipan en unacolaboracin poniendo elnfasis en el ordenamientoen el tiempo de losmensajes
Diagrama de colaboracinUn diagrama de interaccinque pone el nfasis en laorganizacin estructural delos objetos o roles queenvan y reciben mensajes.
Diagrama de estadosMuestra un autmataque consiste de estados,transiciones, eventos yactividades
Diagrama de actividadesMuestra la estructura deun proceso u otro clculocomo el flujo de controly datos paso a paso en elclculo.
Diagrama cronolgico(Timing Diagram)Es un diagrama deinteraccin que muestratiempos a lo largo dediferentes objetos oroles, y no secuenciasrelativas de mensajes
Diagrama de interacciones general(Interaction Overview Diagram)Es un hbrido de diagramas de actividady de secuencia.
Diagramas estticos UMLDiagrama de clases
Diagrama de clasesEs el diagrama ms comn en modelos orientados aobjetos.Elementos de un diagrama de clasesClasesInterfaz, clases abstractas, clases parametrizadasRelaciones de dependencia, generalizacin y asociacinColaboracionesNotas y constraints
Diagrama de clases- Ejemplo
Diagrama de claseClasesUna clase es una descripcin de un conjunto deobjetos que comparten los mismos atributos,operaciones, relaciones y semntica. nombre atributosoperaciones
Diagrama de clases ResponsabilidadesUna responsabilidad es un contrato o unaobligacin 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 clasesVisibilidadUML permite diferentes formas de acceso amiembros de una clase:
+ Pblico# Protegido- Privado
Diagrama de clasesRelacionesLas relaciones ms importantes entre clases son:
Dependencia GeneralizacinAsociacin
Diagrama de clasesAsociacionesUna asociacin es una relacin estructural queespecifica que objetos de una clase estnconectados a objetos de otraTipos de asociacionesUnariaBinariaN-aria
Diagrama de clasesAsociaciones
Multiplicidad nombre 0..1 Trabaja-para * empleador empleado rol
Diagrama de clasesAsociacionesNombreRolCuando una clase participa en una asociacin,tiene un rol especfico que juega en tal relacin.MultiplicidadPuede ser un rango de valores o un valor explcito:Exactamente 11Cero 0..1 0..1Cero o ms0..*Uno o ms 1..*Subrango m..nNavegabilidad
Diagrama de clasesAgregacin- ComposicinRelaciones es-parte-de, una clase representa al todoy otra a las partes.Agregacin Diamante blancoComposicin Diamante negroEn una composicin hay relacin entre los ciclos devida del todo y sus partes. La multiplicidad en elextremo del todo en una composicin debe ser 1 0..1una parte no puede pertencer a ms de un todo
Diagrama de clasesAsociaciones
Diagrama de clasesInterfazUna interfaz es una coleccin de operaciones queson usadas para especificar un servicio de unaclaseNo especifican estructura ( no tiene atributos)No tiene asociadas implementaciones con ninguna de las operacionesNo necesita especificar todas las operaciones Una clase podra incluir varias interfaces diferentes
Diagrama de clasesInterfaces
Diagrama de clasesClases AbstractasPueden tener implementaciones definidas paraalgunas de sus operaciones ( al menos una noest definida)Una clase abstracta en la que ninguna de lasoperaciones tiene implementacin y no tieneatributos es lo mismo que una interfaz.
Diagrama de clasesClases Abstractas
Diagrama de clasesClases parametrizadas
Las grficas fueron extradas de los siguientestextos:
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)
******************************************