Arquitectura de software dirigida por modelos



Descargar 13,25 Kb.
Fecha de conversión01.07.2017
Tamaño13,25 Kb.

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

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)

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”

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

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)

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.

DIAGRAMAS UML

  • Diagramas estáticos
  • 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 instantánea
  • de un conjunto de
  • objetos y sus relaciones

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.

Diagrama de estructura compuesta (Composite Structural Diagram)

  • Muestra la estructura
  • interna (incluyendo
  • partes y conectores) de
  • un clasificador o una
  • colaboración estructurada.

Diagrama de paquetes

  • Muestra la
  • descomposición del
  • modelo en unidades de
  • organización y sus
  • dependencias.

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

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

Diagrama de casos de uso

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

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.

Diagrama de estados

  • Muestra un autómata
  • que consiste de estados,
  • transiciones, eventos y
  • actividades

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.

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

Diagrama de interacciones general (Interaction Overview Diagram)

  • Es un híbrido de
  • diagramas de actividad
  • y de secuencia.
  • Diagramas estáticos UML
  • Diagrama de clases

Diagrama de clases

  • Es el diagrama más común en modelos orientados a
  • objetos.
  • Elementos de un diagrama de clases
  • Clases
  • Relaciones de dependencia, generalización y asociación
  • Colaboraciones
  • Notas y constraints

Diagrama de clases- Ejemplo

Diagrama de clase Clases

  • Una clase es una descripción de un conjunto de
  • objetos que comparten los mismos atributos,
  • operaciones, relaciones y semántica.
  • nombre
  • operaciones

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

Diagrama de clases Visibilidad

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

Diagrama de clases Relaciones

  • Las relaciones más importantes entre clases son:
  • Dependencia
  • Generalización
  • Asociación

Diagrama de clases Asociaciones

  • 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

Diagrama de clases Asociaciones

  • Multiplicidad nombre
  • 0..1 Trabaja-para *
  • empleador empleado
  • rol

Diagrama de clases Asociaciones

  • 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

Diagrama de clases Agregació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”

Diagrama de clases Asociaciones

Diagrama de clases Interfaz

  • 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

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 implementación y no tiene
  • atributos es lo mismo que una interfaz.

Diagrama de clases Clases Abstractas

Diagrama de clases Clases parametrizadas

  • 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)


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal