73
Orígenes “La arquitectura descansa en tres principios: la Belleza (Venustas), la Firmeza (Firmitas) y la Utilidad (Utilitas)” (Vitruvio, siglo I a de C) Templo de Artemisa en Efeso Siglo IV a de C. 127 columnas de 20 metros de altura El coloso de rodas 277 a de C. 32 metros de altura Placas de bronce sobre armazón de hierro Fuente: http://sietemaravillas.tripod.com/

La Arquitectura Del Software

Embed Size (px)

Citation preview

  • Orgenes La arquitectura descansa en tres principios: la Belleza (Venustas), la

    Firmeza (Firmitas) y la Utilidad (Utilitas)

    (Vitruvio, siglo I a de C)

    Templo de Artemisa en Efeso Siglo IV a de C.

    127 columnas de 20 metros de altura

    El coloso de rodas 277 a de C.

    32 metros de altura Placas de bronce sobre armazn de hierro

    Fuente: http://sietemaravillas.tripod.com/

  • Orgenes (2) Es arquitecto aquel que con mtodo y procedimiento seguro y perfecto

    sepa proyectar racionalmente y realizar en la prctica obras que se

    acomoden perfectamente a las ms importantes necesidades humanas.

    Len Batista Alberti ( 1485)

    El faro de Alejandra. Ao 280 a de C.

    Altura 120 metros. Cima equipada con espejos metlicos

    que reflejaban la luz del sol; y por las noches,

    a falta de luz, se enciende una hoguera.

    Las pirmides de Egipto.

    Ao 2750 a de C.

    146.59 m de altura, 230 m de ancho

    Alineadas hacia el norte con una inclinacin de

    51 grados

  • Arquitectura de Software

    Que es una arquitectura?

    No estamos seguros, pero la reconocemos cuando vemos una

    IEEE-1471-FAQ

  • IEEE 1471 El nivel conceptual ms alto de un sistema en su ambiente.

    Arquitectura es la organizacin fundamental de un sistema descrita en: Sus componentes.

    Relacin entre ellos y con el ambiente.

    Principios que guan su diseo y evolucin.

    Arquitectura de Software + Software Architecture in

    Practice - Kazman La estructura de estructuras de un sistema, la cual abarca componentes de software, propiedades externas visibles de estos componentes y sus relaciones.

  • La arquitectura del software define el sistema en trminos de sus componentes computacionales y de las relaciones entre ellos (Shaw & Garlan, 1996)

    Estructura o estructuras del sistema que comprende componentes de software, propiedades visibles de esos componentes y las relaciones entre ellos.

    Otras Definiciones de Arquitectura

  • Dos factores primarios en la ingeniera de software que han incrementado la importancia de la arquitectura:

    Evolucin de Arquitecturas

  • Evolucin de Arquitecturas Aplicaciones Monolticas

    Interfaces grficas de usuario (GUI).

    Servicios de presentacin, negocios y persistencia en la misma mquina.

    No hay concurrencia de usuarios.

    Alto acoplamiento entre tiers.

    Arquitectura Cliente-Servidor

    + Clientes pesados, no estndar

    + Conexiones dedicadas a BD

    + Protocolos pesados

    + Ejecucin remota de SQLs

    + Alta administracin

    + Bajo rendimiento

    + Alto trfico de red

    + Baja accesibilidad

  • Evolucin de Arquitecturas

    Arquitectura Cliente-Servidor Mejorada

    Lgica de negocios en BD

    Clientes pesados, no estndar.

    Conexiones dedicadas a la BD.

    Mejora en rendimiento

    Alta administracin

    Baja escalabilidad

    Baja flexibilidad

    Baja portabilidad

    Arquitectura de 3 niveles

    + Reutilizacin de lgica de negocio para

    diferentes clientes o sistemas.

    + Mejora la escalabilidad.

    + Mejora la flexibilidad.

    + Independencia de la base de datos.

  • Evolucin de Arquitecturas

    Arquitectura de N-niveles

    100.000+

    + Bajo costo de administracin de clientes. + Alta accesibilidad. + Alta flexibilidad. + Alta disponibilidad y tolerancia a fallos. + Alta escalabilidad. + Independencia de DB

  • Evolucin de Arquitecturas

    Visin de Arquitectura Orientada a Servicios (SOA)

    Cluster de Servidores de Aplicaciones

    Aplicaciones Legadas

    Servidor de Procesos

    (BPM)

    Base de Datos

    Sistema Batch

    Portal de Servicios Integrados

    + Requerimientos

    Arquitectnicos

    + Heterogeneidad

    + Escalabilidad

    + Disponibilidad

    + Distribucin

    + Manejabilidad de Procesos

    + Administracin y monitoreo de procesos,

    servicios e infraestructura

  • Que es un Arquitecto de Software?

    Rational Unified Process Arquitecto es un rol en un proyecto de desarrollo de software el cual es responsable de:

    Liderar el proceso de arquitectura.

    Producir los artefactos necesarios: Documento de descripcin de arquitectura

    Modelos y prototipos de arquitectura.

    SUN SL-425:

    El arquitecto:

    Visualiza el comportamiento

    del sistema.

    Crea los planos del sistema.

    Define la forma en la cual los

    elementos del sistema

    trabajan en conjunto.

    Responsable de integrar los

    requerimientos no-funcionales

    (NRFs) en el sistema.

  • Discusin

    Existe alguna diferencia entre arquitectura

    y diseo de software?

  • Arquitectura Vs. Diseo + La arquitectura y el diseo difieren en tres reas:

    Arquitectura Diseo

    Nivel de

    Abstraccin

    Alto nivel Bajo nivel. Enfoque

    especfico en detalles

    Entregables Planear subsistemas, interfaces

    con sistemas externos,

    servicios horizontales,

    frameworks, componentes

    reutilizables, prototipo

    arquitectnico

    Diseo detallado

    componentes.

    Especificaciones de

    codificacin

    reas de

    Enfoque

    Seleccin de tecnologas,

    Requerimientos no funcionales

    (QoS),

    Manejo de riesgos

    Requerimientos

    funcionales

  • Arquitectura Vs. Diseo

    La arquitectura envuelve un conjunto de decisiones estratgicas de diseo, lineamientos, reglas y patrones que restringen el diseo y la implementacin de un software.

    Las decisiones de arquitectura causan un alto impacto en los proyectos de IT

    Arquitectura

    Diseo

    Implementacin

    Cdigo

  • Discusin

    Cules son los principios fundamentales

    en los mtodos de desarrollo de software

    modernos?

  • Arquitectura y Procesos de Desarrollo

    Principios Fundamentales de Procesos Modernos

    + Desarrollo iterativo e incremental.

    + Conducido por las calidades sistmicas.

    + Centrado en la arquitectura.

    + Dirigido por los casos de uso.

    + Basada en Modelos.

    + Mejores prcticas de diseo.

  • EL PROCESO DE DESARROLLO BASADO

    EN LA ARQUITECTURA

  • PASOS GENERALES DE UN PROCESO DE DESARROLLO BASADO EN LA ARQUITECTURA

    1. Evaluar la necesidad empresarial del sistema

    Asegurar que la organizacin requiere el sistema

    Cunto costar el producto?

    Cul es el mercado objetivo?

    Cul es el tiempo de puesta en el mercado?

    Qu interacciones se requieren con otros sistemas?

    2. Entender los requerimientos

    Tcnicas de elicitacin de requisitos (casos de uso, escenarios)

    Para sistemas de seguridad crtica utilizar aproximaciones rigurosas como

    mquinas de estado finito o lenguajes formales

    Cules son las caractersticas particulares del sistema con respecto a otros

    sistemas (por ejemplo lneas de producto)?

  • ..\Pasos generales de un proceso basado en la arquitectura

    3. Crear o seleccionar la Arquitectura

    Cules son los estilos de arquitectura adecuados?

    Layer, MVC, Blackboard, Tuberias y Filtros, etc.

    Qu papel juegan las aplicaciones legado?

    Cules son las tcticas de arquitectura para cumplir un atributo de calidad?

    4. Representar y comunicar la arquitectura

    Uso de modelos y de documentos de definicin de arquitecturas

    Sesiones para comunicacin y discusin de la arquitectura con todos los

    stakeholders

    5. Analizar o evaluar la arquitectura

    Definir varias alternativas de arquitectura

    Utilizar mtodos de evaluacin de arquitectura

  • 6. Implementar el sistema basado en la arquitectura

    Implementar las interfaces definidas en la arquitectura

    Tener un ambiente o infraestructura que asista activamente a los

    desarrolladores en la creacin y mantenimiento de la arquitectura

    7. Asegurar que la implementacin corresponde a la

    arquitectura

    Establecer un proceso de monitoreo permanente para asegurar que la

    arquitectura actual y su representacin se mantienen consistentes

    durante su operacin y evolucin

    ..\Pasos generales de un proceso basado en la arquitectura

  • La arquitectura y la propuesta del Proceso Unificado

    Phases Process Workflows

    Supporting Workflows

    Management Environment

    Business Modeling

    Implementation

    Test

    Analysis & Design

    Preliminary Iteration(s)

    Iter. #1

    Iter. #2

    Iter. #n

    Iter. #n+1

    Iter. #n+2

    Iter. #n

    Iter. #n+1

    Deployment

    Configuration Mgmt

    Requirements

    Elaboration Transition Inception Construction

    Especificacin precisa de requisitos no funcionales Pruebas de concepto de la arquitectura Definicin de la lnea base de la arquitectura Procesos formales de anlisis y evaluacin de la arquitectura

    Enfatiza la importancia de:

  • Definicin de Arquitectura en RUP

    Fase de Inicio

    + Con respecto a la arquitectura, en la

    fase de inicio de los proyectos se

    establece:

    Requerimientos no-funcionales

    Lista de riesgos y restricciones

    Arquitectura inicial

  • Definicin de Arquitectura en RUP

    Fase de Elaboracin

    + Con respecto a la arquitectura, en la

    fase de elaboracin se establece:

    Arquitectura lnea base.

    + Entregables:

    Documento de Definicin de

    Arquitectura.

    Prototipo evolutivo de arquitectura.

    Guas y Estndares de Diseo.

  • IMPACTOS DEL DESARROLLO BASADO EN LA ARQUITECTURA

    Desarrollo

    Basado en

    la Arquitectura

    Importancia de modelos de alto nivel que luego se refinan Desarrollo basado en interfaces antes que clases Uso de patrones y tcticas de arquitectura

    Estimar esfuerzo de construccin Plan de construccin de los CU segn su impacto en la arquitectura

    Nuevos esquemas de negociacin del proyecto Nuevos esquemas de interaccin cliente/proveedor La arquitectura como elemento para evaluar riesgos

    Medicin de la calidad sobre planos Adopcin de frameworks de atributos de calidad

    En la ingeniera

    En la gestin del proyecto En la calidad del producto

  • EVALUACIN DE LA ARQUITECTURA

  • Escenarios de atributos de calidad

    Utilizados para:

    Precisar los atributos de calidad en la fase de definicin de

    requisitos

    Verificar el cumplimiento del contrato en las fases de diseo e

    implantacin

  • TCNICAS DE APOYO AL ANLISIS Y EVALUACIN DE ARQUITECTURAS PROPUESTAS POR EL SEI

    Para obtener los casos de negocio y entender los

    requerimientos

    Quality Attribute Workshop (QAW)

    Para crear o seleccionar la arquitectura

    Attribute Driven Desing (ADD)

    Para documentar y comunicar la arquitectura

    View and Beyond Approach

    Para analizar y evaluar la arquitectura

    Architecture Tradeoff Analysis Method (ATAM)

    Cost Benefit Analysis Method (CBAM)

    Software Architecture Analysis Method (SAAM)

  • RBOL DE CALIDAD (ATAM)

    Utilizado para articular

    las metas esperadas del

    sistema con respecto a

    los atributos de calidad

    Las hojas del rbol

    presentan los escenarios

    considerados relevantes a

    la arquitectura

    Se asignan peso a cada

    rama del rbol segn su

    importancia y dificultad

    de implementacin

  • LENGUAJES PARA REPRESENTACIN DE LA

    ARQUITECTURA

  • Qu es un ADL (Architecture Definition Language)?

    Un ADL enfoca en la descripcin de la estructura de la aplicacin a alto

    nivel, en lugar de la descripcin de la implementacin de cualquier

    mdulo especfico.

    ADL es un lenguaje que provee elementos para modelar la arquitectura

    conceptual de un sistema software, distinguindola de la

    implementacin del sistema (Medvidovic&Taylor)

    Constructores bsicos de un ADL: Componentes, Conectores,

    Configuraciones y Restricciones (Tracz, 1993).

    El problema: Los lenguajes formales son difciles de entender y manejar

    en aplicaciones industriales

    Reto: Convertir a UML en un lenguaje suficientemente preciso para especificar una arquitectura

  • Relacin de ADLs con otras notaciones y herramientas

  • Principales lenguajes ADL ACME: Architectural interchange, predominantly at the structural level

    Aesop: Specification of architectures in specific styles

    C2: Architectures of highly-distributed, evolvable, and dynamic systems

    Darwin: Architectures of highly-distributed systems whose dynamism is guided by strict

    formal underpinnings

    MetaH: Architectures in the guidance, navigation, and control (GN&C) domain

    Rapide: Modelling and simulation of the dynamic behaviour described by an architecture

    SADL: Formal refinement of architectures across levels of detail

    UniCon: Glue code generation for interconnecting existing components using common

    interaction protocols

    Weaves: Data-flow architectures, characterized by high volume of data and real-time

    requirements on its processing

    Wright: Modelling and analysis (specifically, deadlock analysis) of the dynamic behaviour of

    concurrent systemsx

    XADL: Extensible XML-based ADL based on xArch

  • Ejemplo de un ADL: Acme Studio

    Editor grfico

    para diseo de

    arquitecturas

    Diseo de

    estilos o

    familias de

    arquitectura

    Implementado

    como plug-in

    de Eclipse

  • Alternativas de integracin de UML con ADLs

    Alternativa 1. Buscar correspondencia entre ADLs existentes y

    UML

    ADL : Para el diseo de alto nivel

    UML : Para el diseo detallado

  • Correspondencia ADL & UML - Ejemplo en C2

  • Correspondencia ADL & UML - Ejemplo en C2 (2)

  • Alternativas de utilizacin de UML como ADL

    Esta estrategia ha sido aplicada en lenguajes como C2 , Wright y Rapide Ventajas:

    Representa de manera explcita las restricciones arquitecturales a travs de OCL

    Entendible por los desarrolladores y soportado por herramientas CASE Las tareas de ingeniera inversa a travs de estereotipos podran

    simplificarse

    Desventajas: Dificultad para establecer los lmites entre el diseo de la arquitectura y el

    diseo detallado Incapacidad de las herramientas CASE para forzar el cumplimiento de

    restricciones escritas en OCL Dificultad para representar en UML la semntica particular de algunos

    lenguajes de ADL

    Alternativa 2. Adecuar UML por medio de estereotipos

  • Alternativas de utilizacin de UML como ADL

    Extender el metamodelo de UML para soportar directamente los constructores de arquitectura

    Incorporar formalmente en UML nuevas capacidades de modelado

    Se puede simplificar las tareas de generar la arquitectura a partir del diseo

    Reto: Estandarizar el lenguaje sin incrementar demasiado la complejidad de la especificacin (?)

    Alternativa 3. Extender UML

  • Caractersticas de las extensiones de UML 2.0

    Mayor riqueza semntica en la definicin del comportamiento del sistema

    Facilidad para definir composicin de elementos

    Composicin estructural

    Composicin del comportamiento

    Conectores y puertos como constructores asociados a los clasificadores (clases y componentes)

  • UML2.0: Extensiones en la definicin del comportamiento en diagrama de secuencias

    Variaciones para expresar

    Paralelismo y alternativas

    Iteraciones y opcionalidad

    Excepciones

    Este cambio reduce el nmero de

    diagramas requeridos para

    expresar la funcionalidad

    sd ValidateCoin

    :VendingMachine :User

    Insert(coin)

    Display(price)

    RejectCoin()

    alt

    else

    Operador

    De la interaccin

  • UML2.0: Facilidad para especificar el comportamiento en diferentes niveles de detalle

    La lnea de vida de un objeto

    puede ser expandida con el

    propsito de proveer diferentes

    niveles de abstraccin

    sd Overview

    :VendingMachine

    ref Decomposition

    Insert(coin)

    RejectCoin()

    :User

    sd Decomposition

    :Detector

    :Controller

    RejectCoin()

    create

    Insert(coin)

    ValidateCoin()

  • UML2.0: Facilidad para factorizar comportamientos comunes / alternativos

    Evita duplicacin de

    secuencias repetitivas

    Mayor consistencia con la

    definicin de flujos

    obligatorios y opcionales

    declarados en el caso de uso

    sd BuyScenario

    :VendingMachine :User

    Display(price)

    ref

    ChooseProduct

    ref

    ValidateCoin

  • UML2.0: Facilidad para composicin estructural

    La clase como una entidad stand-alone con interfaces requeridas y provistas

    VendingMachine

    Display

    InsertCoin

    Interface

    Requerida

    Interface

    Provista

  • UML2.0: Facilidad para composicin estructural

    Una misma clase con diferentes comportamientos

    Cada comportamiento representa un puerto de acceso a la clase

    El puerto actua como un nico punto de interaccin de la clase

    Detector InsertCoin

    CoinControl,

    Counter

    Maintenance

    port composite port

    pCtrl

  • UML2.0: Facilidad para composicin estructural

    Permite descomposicin jerrquica de la clase

    Los conectores son utilizados como asociaciones contextuales

    VendingMachine

    InsertCoin

    Display

    :Detector

    Connector

    Part Class

    :Counter

    :Controller

    InsertCoin

    pCtrl Counter

    CoinControl

    Display

  • Framework para Descripcin de Arquitectura, basado en vistas lgicas y fsicas UML y una vista funcional de casos de uso.

    Process View Deployment View

    Logical View

    Use-Case View

    Implementation View

    End-user

    Functionality

    Programmers

    Software management

    Performance

    Scalability

    Throughput

    System integrators

    System topology

    Delivery, installation

    communication

    System engineering

    Analysts/Designers

    Structure

    El modelo de arquitectura de UML: 4+1 vistas

  • MDA UNA PROPUESTA DE

    ARQUITECTURA

    ALREDEDOR

    DE LOS MODELOS

  • La promesa de MDA (Model Driven Architecture)

    Del desarrollo basado en cdigo a desarrollo basado en modelos

    From: Automating Software Development with UML 2.0, Cris Cobryn

  • Vista general de MDA

  • Quin lidera la iniciativa de MDA?

    El grupo OMG (Object Management Group)

    MDA: The new OMG baby

    Nueva orientacin de las actividades de la OMG

    Ms all de las propuestas de middleware (CORBA)

    Influenciado por la amplia aceptacin de UML

    Estndares que ha impulsado la OMG Meta Object FacilityTM (MOF)

    Unified Modeling LanguageTM (UML)

    Common Warehouse MetamodelTM (CWM)

    XML Metadata InterchangeTM (XMI)

  • ARQUITECTURA DE UML DE CUATRO NIVELES (OMG)

    the MOFMMM

    the UMLMM

    a UMLmodel m

    a particularuse of m

    the SPEMMM

    the CWMMM

    another UMLmodel m

    anotheruse of m

    Level M3

    Level M2

    Level M1

    Level M0

    EBNF

    the Pascalgram

    mar

    a Pascalprogram

    Pan execution

    X of

    program P

  • Arquitectura de UML de cuatro niveles (OMG): Ejemplo

  • Estructura de extensin de los lenguajes

  • El proceso de transformacion

    La transformacin es la generacin automtica de un modelo fuente en un modelo objetivo, de acuerdo a unas definiciones de transformacin

    Una definicin de transformacin esta conformada por un conjunto de reglas que describen como el modelo en el lenguaje fuente puede ser transformado en un modelo en el lenguaje destino

    Una regla de transformacin es una descripcin de uno o ms constructores en el lenguaje fuente que pueden ser transformados en uno o mas constructores en el lenguaje destino

  • El proceso de transformacin

  • El proceso MDA: 1. Construccin del CIM

    Modelo

    Independiente

    de

    la Computacin

    Modelo que representa

    la semntica del

    negocio

  • El proceso MDA: 2. Transformacin de CIM a PIM

    El modelo representa funcionalidad y comportamiento sin detalles de la tecnologa,

    Modelo

    Independiente

    De

    Plataforma

    Modelo detallado con

    Pre y Post en (OCL) y

    con semantica de

    comportamiento

    (Action Semantic)

    CIM

  • El proceso MDA: 3. Probar PIM

    Modelo

    Independiente

    De

    Plataforma

    Entorno de

    Animacin del

    Modelo

    CIM

  • El proceso MDA: 4. Definir reglas de transformacin

    Modelo

    Independiente

    De

    Plataforma

    Entorno de

    Animacin del

    Modelo

    CIM

    Reglas de

    Transformacin

    PIM - PSM

  • El proceso MDA: 5. Marcar el modelo

    Modelo

    Independiente

    De

    Plataforma

    Entorno de

    Animacin del

    Modelo

    CIM

    Reglas de

    Transformacin

    PIM - PSM

    + Marcas para

    transformacin

  • El proceso MDA: 6. Generar PSM (Platform-Specific Model)

    Platform-

    Independent

    Model

    Mapear PIM a

    tecnologa de

    middleware especfica CORBA

    Model

    Entorno de

    Animacin del

    Modelo

    CIM

    + Marcas para

    transformacin

  • El proceso MDA: 6. Mapear a mltiples tecnologas

    Platform-

    Independent

    Model

    CORBA

    Model

    MDA tool applies an standard mapping to generate Platform-Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written.

    Java/EJB

    Model

    XML/SOAP

    Model

    Other

    Model

    Map a PIM to Many

    Middleware

    Technologies via OMG

    Standard Mappings

  • El proceso MDA: 7. Generacin de cdigo

    Platform-

    Independent

    Model

    CORBA

    Model

    Las herramientas MDA generar la mayor parte del cdigo en la tecnologa especfica

    Java/EJB

    Model

    CORBA

    XML/SOAP

    Model

    Java/EJB XML/SOAP Other

    Other

    Model

    Map PSM to application

    interfaces, code, GUI

    descriptors, SQL

    queries, etc.

  • El proceso MDA: 8. Integrar aplicaciones legado y COTS

    Platform-

    Independent

    Model

    Legacy

    App

    Las herramientas MDA para ingeniera reversa apoyan el proceso de integracin de aplicaciones legado

    COTS

    App

    Other

    Other

    Model

    Reverse-engineer

    existing application

    into a model and

    redeploy.

  • El proceso MDA: 9. Generacin de adaptadores (bridges)

    CORBA

    Model

    XML/SOAP

    Model

    Platform-

    Independent

    Model

    CORBA

    System

    XML/SOAP

    System Interop

    Bridge

    MDA Tools

    combine

    application and

    platform

    knowledge to

    generate bridges

  • Herramientas MDA

  • Herramientas MDA (Libres)

    UMT - (UML Model Transformation Tool

    Model Transformation Framework (MTF)

    open Architectureware Eclipse plugin

    iQgen 2.0

    Metadata Transformer/Generator (MTG)

    Motion Modeling

    The ATL Engine

    MTL Engine

    ModFact

    Generative Model Transformer (GMT) (Surge OMELET)

    Kent Modelling Framework (KMF)

    AndroMDA

    OpenMDX

    JunoMDA

  • Herramientas MDA (Comerciales)

    ArcStyler

    MCC (Model Component Compiler)

    Codagen Architect

    OptimalJ

    Xactium XMF Mosiac

    SosyInc Modeler and Transformation Engine

    Model-in-Action

  • Clasificacin de soluciones existentes

    De modelo a cdigo Visitor based: mecanismo para recorrer la representacin interna del modelo y generar el

    cdigo (Ej. Jamda) Template based: (Ej: b+m Generator Framework, JET, FUUT-je, Codagen Architect,

    AndroMDA, ArcStyler, OptimalJ and XDE)

    De modelo a modelo direct-manipulation: Generalmente implementadas como framework OO como una

    estructura para organizar las transformaciones (Ej: jamda, jmi) Relational:Aproximaciones declarativas basadas en relaciones matemticas utilizando

    lenguajes lgicos (ej: F-Logic) graph-transformation-based: Se utilizan grafos para expresar en un nico formalismo los

    diferentes modelos (Ej:VIATRA, ATOM, GreAT, UMLX, and BOTL) structure-driven: Realiza la transformacin en dos fases: en la primera fase se crea la

    estructura jerrquica del modelo destino y en la segunda fase se actualizan las propiedades y referencias en el modelo destino (ej: OptimaJ, IOPT). Practica para transformacin a plataformas como J2EE

    hybrid approaches. Combinan diferentes tcnicas de las categoras anteriores (Ej: TRL combina aproximacion declarativa e imperativa; ATL puede ser completamente declarativa, hbidra o totalmente imperativa)

    transformacin utilizando XSLT. Dificultades: baja escalabilidad, dificultad para escribir las reglas de transformacin

    Jamda, XDE, OptimalJ permite ambas transformaciones

  • Conclusiones Finales

  • Conclusiones

    La arquitectura como estrategia para enfrentar la complejidad de los sistemas actuales

    Las actividades alrededor de la arquitectura deben integrarse al proceso de desarrollo

    UML2.0 provee facilidades para definicin de la arquitectura

    MDA como enfoque de desarrollo donde los modelos son los constructores de primera clase

  • Preguntas

  • Para la Prxima Clase

    Tema a Tratar: - Evaluacin Final