1 / 42

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

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.

chiquita
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquitectura de software dirigida por modelos(Model-Driven Architecture) Liliana Favre UNCPBA 2006

  2. UML (Unified Modeling Language)

  3. UML UML es un lenguaje para • Visualizar • Especificar • Construir • Documentar artefactos de sistemas intensivos de software

  4. 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 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

  5. Lenguaje 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

  6. RELACIONES 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”

  7. RELACIONES 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

  8. RELACIONES 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)

  9. RELACIONES 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.

  10. DIAGRAMAS UML Diagramas estáticos • Diagrama de clases • Diagrama de objetos • Diagrama de componentes • Diagrama de estructura compuesta • Diagrama de paquetes • Diagrama de despliegue

  11. Diagrama de clases Muestra un conjunto de clases, interfaces, colaboraciones y sus relaciones

  12. Diagrama de objetos Muestra una instantánea de un conjunto de objetos y sus relaciones

  13. Diagrama 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.

  14. Diagrama de estructura compuesta(Composite Structural Diagram) Muestra la estructura interna (incluyendo partes y conectores) de un clasificador o una colaboración estructurada.

  15. Diagrama de paquetes Muestra la descomposición del modelo en unidades de organización y sus dependencias.

  16. Diagrama 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

  17. Diagramas 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

  18. Diagrama de casos de uso Muestra un conjunto de casos de uso y actores y sus relaciones

  19. Diagrama 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

  20. Diagrama 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.

  21. Diagrama de estados Muestra un autómata que consiste de estados, transiciones, eventos y actividades

  22. Diagrama 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.

  23. Diagrama 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

  24. Diagrama 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

  26. Diagrama 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

  27. Diagrama de clases- Ejemplo

  28. Diagrama 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

  29. Diagrama 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

  30. Diagrama de clasesVisibilidad UML permite diferentes formas de acceso a miembros de una clase: • + Público • # Protegido • - Privado

  31. Diagrama de clasesRelaciones Las relaciones más importantes entre clases son: • Dependencia • Generalización • Asociación

  32. Diagrama 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

  33. Diagrama de clasesAsociaciones Multiplicidad nombre 0..1 Trabaja-para * empleador empleado rol

  34. Diagrama 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

  35. Diagrama 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”

  36. Diagrama de clasesAsociaciones

  37. Diagrama 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

  38. Diagrama de clasesInterfaces

  39. Diagrama 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.

  40. Diagrama de clasesClases Abstractas

  41. Diagrama 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)

More Related