Model Driven Architecture

Model Driven Architecture

MSOO 2008.2 Flexibilidade: Regras de Negcios Dinmicas Customizao de Aplicaes pelos Usurios Finais Agilidade: As solues devem atender a prazos cada vez mais agressivos com reduo do ciclo de desenvolvimento e aumento de produtividade. Interoperabilidade:

Intergrao de Sistemas Distribudos e Heterogneos Evoluo Rpida da Tecnologia da Computao Qualidade: As solues devem possuir um nvel de qualidade cada vezmais elevado para atender as expectativas Reduo de Custos

Como ns podemos construir e integrar aplicaes de modo eficiente? Chave para gerenciar a complexidade das aplicao atuais: Padres de Projeto Frameworks (Infraestruturas) Desenvolvimento Baseado em Componentes (DBC) MDA

Pontos Chave: Reutilizao de artefatos de software Facilitar a manuteno e evoluo Integrao Qualidade O simples uso da OO no garante que obtenhamos sistemas confiveis, robustos, extensveis e reutilizveis. O foco das metodologias de desenvolvimento est na soluo em si (o

que e como) e no em suas justificativas (porque). difcil compartilhar a experincia entre experts e novatos. Aumentar o nvel de reutilizao Padres capturam solues recorrentes e as

nomeiam o Projeto e comunicao em um nvel alto de abstrao Permitem compartilhar experincias bem sucedidas na resoluo de problemas recorrentes; Compem um vocabulrio de alto nvel para discusso de questes relativas ao projeto de sistemas de software; Permitem que os desenvolvedores concentrem seus esforos nos aspectos relacionados ao negcio. Sub-sistema semi-acabado feitos para serem estendidos Voltados para domnios particulares em termos de

conceitos especficos Projeto + Cdigo Projeto Pelo congelamento de certas decises de projeto Cdigo Pelo conjunto de classes abstratas e suas implementaes padro Significante acrscimo de produtividade para aplicaes especficas

Reutilizao Otimizao de utilizao de recursos Programadores experientes Desenvolvimento de frameworks Programadores novatos Fazem aplicativos a partir dos frameworks Impe um processo de desenvolvimento Decises de projeto embutidas nos frameworks

Complexidade de desenvolvimento Infraestrutura para desenvolvimento de software definido pela OMG Diferencial est no fato do desenvolvimento ser baseadonas atividades de modelagem Forma de desvincular a arquitetura do sistema da sua implementao. Separao entre a especificao das operaes do sistema e os detalhes das funcionalidades de uma plataforma especfica.

No ciclo de desenvolvimento tradicional h, de maneira geral, as fases: Levantamento de requisitos, anlise, design, codificao, testes e implementao Geralmente, no final de um projeto, a aplicao desenvolvida nem sempre reflete as definies da fase de anlise e design Existem alteraes que so feitas apenas na codificao Isto se deve ao fato de muitas vezes no haver uma ferramenta automatizada e integrada para acompanhar todo o ciclo e facilitar a anlise de impacto de uma alterao

Em cada fase so produzidos textos e documentos estticos No possuem nenhum recurso de atualizao de modo automtico das alteraes ou melhorias realizadas nas fases anteriores A produtividade cai durante o ciclo de desenvolvimento, principalmente no momento da manuteno da aplicao

As fase no diferem muito A grande diferena est nos artefatos/documentos gerados durante o processo de desenvolvimento Esses documentos so modelos que podem ser "entendidos pelos computadores" Estas informaes no so estticas e possuem uma ligao com a sua fonte Se uma alterao for definida em uma etapa, as demais etapas automaticamente recebero a referida alterao CIM (Modelo Independente de Computao)

PIM (Modelo Independente de Plataforma) Representa a futura aplicao independentemente da implementao tecnolgica No h a preucupao se o cdigo gerado ser Java ou C++, se a base de dados ser Oracle ou DB2 Modelagem do negcio PSM (Modelo Especfico de Plataforma) Modelo voltado para a tecnologia que ser utilizada para gerar o sistema O PIM transformado em um ou mais PSMs

Cdigo (Modelo de Cdigo) Passo final no desenvolvimento que envolve a transformao de cada PSM em cdigo Produtividade Maior prioridade ao PIM Maior produtivade pois o desenvolvedor no precisar se preocupar com detalhes da implementao Maior ateno aos problemas de negcio que a aplicao precisa resolver Portabilidade O PIM pode ser gerado para vrios PSMs

Interoperabilidade Os PSMs devem se comunicar Manuteno e Documentao Do custo total de uma aplicao, 20% est relacionado ao desenvolvimento e 80% a manuteno No adianta gerar cdigo, a ferramenta deve ajudar quando houver a necessidade de mudana

"Andar sobre a gua e desenvolver software a partir de uma especificao so fceis se ambos esto congelados!" Uma boa ferramenta deve manter a sincronia entre os modelos Alto nvel de abstrao (Revoluo MDA) Steretipos Representados com << > > Exemplo

Book uma classe steretipo herda de classe UML Book uma entidade Possui uma representao no banco de dados Entity um novo construtor Herda de classe UML Objetos livres podem ser persistidos Exemplo: tabela livro Steretipos/Tagged Values Interpretados por geradores de cdigo

Exemplo Gerador de modelo para EJB Steretipo entity objetos persistentes ~ Entity Beans Steretipo PK Marca atributos como Primary Key Open-source: http://team.andromda.org

Suporta XMI, OCL EJB, Hibernate, Spring, XML Schema, Java, Struts, OCL translations/queries

Em junho de 2003, EDS publicou um estudo de caso com o ttulo "Driving business agility with Model Driven Architecture" O objetivo era avaliar de que forma a MDA pode acelar o desenvolvimento O estudo utilizou a aplicao "Pet Store" desenvolvida pela Sun utilizada para demonstrar padres de projeto A Pet Store uma tpica aplicao de e-commerce Vrios fornecedores de servidores de aplicao a utilizam para ilustrar a compatibilidade de seus produtos com a arquitetura J2EE O estudo foi realizado comparando:

Aplicao gerada manualmente (J2EE Pet Store) Verso da Microsoft com a mesma funcionalidade (.Net Pet Shop) Verso gerada com MDA (J2EE Pet Store utilizando OptimalJ) O grfico mostra que MDA permite desenvolver aplicaes complexas com um esforo manual muito menor Para cada 200 linhas de cdigo JAVA geradas automaticamente foram escritas de 1 a 4 linhas de cdigo manualmente Quanto maior e mais complexo o projeto,

mais evidentes ficam os ganhos na aplicao do MDA A experincia com modelagem UML fundamental MDA deve ser adotado desde o incio do projeto

Toda quebra de paradigma causa polmica Toda evoluo vem acompanhada de ceticismo Ao mesmo tempo, esse processo exige uma reavaliao se o que fizemos e como fazemos pode ser melhorado Quando olhamos por esse ngulo, vemos que estamos evoluindo As empresas querem se concentrar no seu negcio e querem que a tecnologia seja uma ferramenta Ns queremos fazer as melhores aplicaes e da melhor forma O cdigo importante, mas ele o resultado de uma transformao

O cdigo uma traduo de negcio para determinado ambiente computacional Toda inteligncia est no PIM No futuro, no teremos que nos preocupar com a codificao de uma aplicao Teremos ferramentas capazes de gerar o cdigo quase na sua totalidade

Linha de Produtos de Software Variabilidade Desenvolvimento Baseado em Componentes Programao Orientada a Aspectos Fbricas de Software Linguagem Especfica de Domnio Programa Generativo Web Semntica Ontologias etc

Modelo no serve somente para documentao, mas tm papel fundamental na implementao. Integrao e Interoperabilidade como palavras chave da MDA. Reduo de prazo e custos no desenvolvimento de novas aplicaes

Necessidade de codificao manual reduzida MDA acelera o ciclo de desenvolvimento de aplicaes e padroniza o processo de desenvolvimento MDA tambm aumenta o nvel de reuso nos projetos de desenvolvimento. Ela permite que a soluo evolua independentemente das tecnologias envolvidas na implementao Com o MDA, a documentao do projeto, ou seja, os modelos UML tm maior valor, porque agora o modelo no serve apenas para documentar, e sim para a gerao do prprio sistema As ferramentas no esto totalmente maduras, porm j podem ser utilizadas. Com a evoluo das ferramentas, a tendncia que no futuro MDA seja altamente utilizado no desenvolvimento de sistemas de informao MDA ou XP? A convivncia entre os dois possvel?

Recently Viewed Presentations

  • Legislative Developments

    Legislative Developments

    Repeal of Section 197 Anti-Churning Rules. In enacting section 197 in 1993, Congress included a provision, section 197(f)(9), to "prevent taxpayers from converting existing goodwill, going concern value, or any other section 197 intangible for which a depreciation or amortization...
  • Multiple View Geometry in Computer Vision

    Multiple View Geometry in Computer Vision

    Multiple View Geometry Comp 290-089 ... images Obtain reliable matches using matching or tracking and 2/3-view relations Compute initial structure and motion sequential structure and motion recovery hierarchical structure and motion recovery Refine structure and motion bundle adjustment Auto ...
  • Freshwater Wetlands Ecosystem Module

    Freshwater Wetlands Ecosystem Module

    Formerly carol pahl. [email protected] . [email protected] [email protected] 95184 Mackinas Circle. 904-321-0210. [email protected] 352-726-7473. [email protected] Gill. 2908 N Rivers Edge Blvd. 352-795-6095. 352-795-4563. [email protected] 20738 Chestnut St. 352-489-3737. [email protected] 507 ...
  • Bild 1 - WordPress.com

    Bild 1 - WordPress.com

    I dag finns det en mängd olika tester att välja. Att kunna avgöra vilka tester som är bra för just min idrott kan vara skillnad mellan en lyckad idrottssatsning och fiaskot. * * Bild 2 Utan tester kan vi inte...
  • ECE 441 lecture 15 - Purdue Engineering

    ECE 441 lecture 15 - Purdue Engineering

    Simulations and Numerical computation inPhysics/Chemistry. Facilitated by. Faster processors. Accelerators. Cheaper storage and memory. Need for large-scale clusters. Challenges with large-scale system management. Challenges in balancing multiple factors.
  • Ernest Hemingway - Home - Scott County Schools

    Ernest Hemingway - Home - Scott County Schools

    Hemingway: To die. Alone. In the rain. ... Hemingway had the Iceberg Theory regarding writing. He gives you the facts—those hard facts are the tip of the iceberg floating above water. Everything else—the supporting structure—floats beneath the water, out of...
  • Singleton High School Year 11 Subject Selection 2019

    Singleton High School Year 11 Subject Selection 2019

    Students must include 2 units of English for the HSC in both Year 11 and Year 12. Choose from one of three courses: English Studies . English Standard. English Advanced. Warning: None of these courses are easy options. Assessment -...
  • NO PORTFOLIOS  Use the paper at your table.

    NO PORTFOLIOS Use the paper at your table.

    Picasso Character Mask Wall Hanging. Decide on the overall shape of your mask using a Paper Template. Cut out the shape from paper then your clay. Keep all extra pieces of clay. Cut Characteristic parts from the extra clay pieces....