poder expresivo de uml 2.0 para especificar arquitecturas de software cristian wilckens prof. guía:...
TRANSCRIPT
![Page 1: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/1.jpg)
Poder Expresivo de UML 2.0 para
especificar arquitecturas de
Software
Cristian WilckensProf. Guía: Cecilia Bastarrica
![Page 2: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/2.jpg)
UML Lenguaje de modelado visual que se usa
para especificar, visualizar, construir y documentar un sistema de software
Familia de diagramas que permiten especificar la estructura y el comportamiento del sistema a construir
![Page 3: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/3.jpg)
¿Qué es una Arquitectura de SW? Descripción de los elementos de un
sistema, sus interacciones, patrones que guían su composición y las restricciones a esos patrones.
Conjunto de decisiones respecto de la organización de un sistema de software
![Page 4: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/4.jpg)
¿Qué es un ADL? Notaciones para especificar formalmente
una Arquitectura de Software Modelan componentes, conectores y sus
configuraciones. Sintáxis simple, entendible y gráfica Semántica entendible
![Page 5: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/5.jpg)
Características de un ADL Componentes
Entidades computacionales Puertos (relación entre componentes y
ambiente) Características
Interfaces, tipos, semántica, restricciones, evolución y propiedades no-funcionales
![Page 6: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/6.jpg)
Características de un ADL (cont) Conectores
Interacción entre componentes Define el protocolo de interacción Poseen interfaces que definen roles para
comportamiento de los participantes Características
Interfaces, tipos, semántica, restricciones, evolución y propiedades no-funcionales
![Page 7: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/7.jpg)
Características de un ADL (cont) Configuraciones (Topología)
Colección de instancias de componentes que interactúan mediante instancias de conectores
Grafo de componentes y conectores que describen la arquitectura
Características Calida de descripción de configuración Calidad de descripción del sistema Propiedades de descripción del sistema
![Page 8: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/8.jpg)
UML 2.0 Componentes Interfaces Puertos Clasificadores estructurados Conectores
![Page 9: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/9.jpg)
UML 2.0 Componentes
Vista externa
Vista interna
![Page 10: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/10.jpg)
Interfaces Provistas Requeridas
![Page 11: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/11.jpg)
Puertos Asociado a interfaces Asociados a descripciones de comportamiento
![Page 12: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/12.jpg)
UML 2.0 Clasificadores estructurados
Representar estructura interna
![Page 13: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/13.jpg)
Conectores Enlace para comunicar dos o más instancias Enlace entre puertos o interfaces No se pueden asociar a descripciones de
comportamiento o atributos 2 tipos
Delegación Montaje
![Page 14: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/14.jpg)
![Page 15: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/15.jpg)
Resultados ComponentesCaracterística Implementación en UML 2.0 Interfaz Interfaces requeridas y provistas. Puntos interacción puertos. Tipos Sistema de tipos. Semántica Diagramas de estructuras y estados. Restricciones Número de puertos de una componente. Atributos y
descripciones de comportamiento (protocol state machines) de interfaces.
Evolución Mediante clasificadores estructurados y subtipos Propiedades no funcionales
No
![Page 16: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/16.jpg)
Resultados ConectoresCaracterística Implementación en UML 2.0 Interfaz Parcialmente, ligado al tipo de interfaz de las componentes. Tipos Dados por el tipo de conector Semántica No explícitamente, conectores de montaje o delegación. Restricciones Tipo de conector. Evolución No permite evolución. Propiedades no funcionales
No permite especificar propiedades no funcionales.
![Page 17: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/17.jpg)
Resultados ConfiguracionesCaracterística Implementación en UML 2.0 Comprensibilidad Información estructural. Sintaxis entendible Composición jerárquica
Clasificadores estructurados. Vistas internas y externas se puede obtener mayor encapsulamiento.
Refinamiento y seguimiento
El refinamiento se puede lograr utilizando las diferentes vistas provistas por UML.
Heterogeneidad Permite desarrollo (generación de código) en C++ y Java. Escalabilidad Permite mediante uso de composición y refinamiento. Evolucionabilidad Refinamiento de componentes. Dinamismo Diagramas de secuencias Restricciones Conectores asociados a puertos o interfaces, no pueden
asociarse a descripciones de comportamiento o atributos. Propiedades no funcionales
No, salvo uso de anotaciones (sin validez en el modelo)
![Page 18: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/18.jpg)
Conclusiones UML 2.0 mejor que sus antecesores UML 2.0 cumple con casi todas las
características para ser un ADL Se comporta mejor que la mayoría de los
ADLs conocidos La especificación de una Arquitectura se
puede hacer mediante la conexión de los diferentes niveles de especificación de UML
![Page 19: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/19.jpg)
Preguntas?
![Page 20: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/20.jpg)
Resultados ComponentesCaracterística Implementación en UML 2.0 Interfaz Están especificadas por los clasificadores de Interfaz
(provistas y requeridas), y los puntos de interacción están dados por los puertos.
Tipos Las componentes pueden manejar distintos tipos. Se pueden instanciar elementos de los distintos tipos para especificar una arquitectura.
Semántica Se puede especificar mediante el comportamiento que tendrá ante diversos eventos. Esto se especifica mediante diagramas de estructuras y estados.
Restricciones Se puede restringuir el número de puertos de una componente. Las interfaces pueden incluir atributos y descripciones de comportamiento (protocol state machines).
Evolución La incorporación de clasificadores estructurados permite refinar las características y tipos de las componentes.
Propiedades no funcionales
UML no posee un mecanismo para modelar propiedades no funcionales.
![Page 21: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/21.jpg)
ConectoresCaracterística Implementación en UML 2.0 Interfaz No se puede definir interfaz explícitamente, está ligado al
tipo de interfaz de las componentes. Si se utiliza asociaciones o clases se puede especificar la interfaz de un conector.
Tipos Dados explícitamente por el tipo de conector (no se puede especificar). Para que un conector tenga un tipo distintivo es necesario utilizar clases para modelarlos.
Semántica Está dada por los conectores de montaje o delegación. La semántica está dada por el despacho de las señales entre los puertos.
Restricciones Restricciones dadas por el tipo de conector. Un conector de delegación tiene que ser utilizado entre el mismo tipo de puertos o interfaces. Un conector de montaje puede ser definido sólo entre interfaces requeridas y provistas compatibles.
Evolución No permite evolución. Propiedades no funcionales
No permite especificar propiedades no funcionales.
![Page 22: Poder Expresivo de UML 2.0 para especificar arquitecturas de Software Cristian Wilckens Prof. Guía: Cecilia Bastarrica](https://reader036.vdocuments.pub/reader036/viewer/2022062322/5665b45d1a28abb57c90e1bf/html5/thumbnails/22.jpg)
ConfiguracionesCaracterística Implementación en UML 2.0 Comprensibilidad La sintáxis de UML 2.0 es entendible para modelar
información estructural. Permite componer componentes y conectores para formar configuraciones más sofisticadas en forma sencilla.
Composición jerárquica
Mediante los clasificadores estructurados se puede representar la estructura interna de un clasificador. Utilizando las vistas internas y externas se puede obtener mayor encapsulamiento.
Refinamiento y seguimiento
El refinamiento se puede lograr utilizando las diferentes vistas provistas por UML.
Heterogeneidad Permite desarrollo (generación de código) en C++ y Java. Escalabilidad UML 2.0 permite escalabilidad, ya que al permitir
encapsulamiento y composición jerárquica podemos añadir nuevos elementos a una arquitectura a través de las interfaces.
Evolucionabilidad Tiene relación con permitir el refinamiento de componentes y agregar nuevas componentes. Además permite especificar familias de aplicaciones al separar los tipos de componentes de las instancias de ellas.
Dinamismo Hasta UML 1.5 diagramas de secuencias permiten interacciones de instancias de componentes o clases. (Trabajo futuro)
Restricciones Conectores asociados a puertos o interfaces, no pueden asociarse a descripciones de comportamiento o atributos.
Propiedades no funcionales
Se pueden utilizar las anotaciones, pero no se verifican en el modelo.