A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Viabilidade de Construção de Software com MDD e MDA

Apresentações semelhantes


Apresentação em tema: "Viabilidade de Construção de Software com MDD e MDA"— Transcrição da apresentação:

1 Viabilidade de Construção de Software com MDD e MDA
André Sandri Pesquisa em Ciência da Computação UNILASALLE – Canoas – RS Novembro de 2005

2 Introdução MDD – Model Driven Development
MDA – Model Driven Architecture OMG - Object Management Group Estudo da viabilidade da construção de software com MDD e MDA

3 Principais Conceitos MDD MDA UML MOF XMI CWM PIM PSM
Processo e Transformações

4 MDD – Model Driven Development
Foco nos modelos Promete aumentar a produtividade, inclusive na fase de manutenção Pesquisa da Compuware: ganhos de 70% durante a fase de manutenção. A equipe MDD completou 5 recursos 37% mais rápido (165h contra 260h) Eclipse - Projeto MDDi - Model Driven Development Integration

5 OMG – Object Management Group
Em 1989, o foco era padrões middleware OO: CORBA; Em seguida, UML; Em 2001, concluiu que a heterogeneidade de tecnologias existentes no mercado era permanente; Interoperabilidade? Com um sistema padronizado e público de modelos e interfaces independentes de linguagem, sistema ou protocolo.

6 MDA – Model Driven Architecture

7 MDA – Model Driven Architecture
Novos modelos abstratos (padrões) Dependentes de tecnologia Independentes de tecnologia Contempla pelo menos um modelo independente e outro independente Reutilização do modelo independente e dependente Está ainda em sua infância

8 UML – Unified Modeling Language
É a especificação mais utilizada Recursos essenciais: Diagramas Estereótipos (stereotypes) Profiles (perfis) Constraints (restrições/regras) UML 2.0 Principal evolução: modelagem visual Mais apropriado para MDA e para SOA

9 MOF – Meta-object Facility
Define a linguagem utilizada para definir modelos padronizados! Meta-modelos de UML e de CWM Permite construção de ferramentas Transformações entre os modelos UML é uma das linguagens de modelagem definida com MOF

10 MOF – Meta-object Facility

11 MOF 2.0 – Meta-object Facility
QVT – Query/Views/Transformations Principais componentes: Uma linguagem para a criação de visões sobre os modelos; Uma linguagem para efetuar pesquisas sobre os modelos; Uma linguagem declarativa para descrever transformações; Uma linguagem visual para descrever transformações.

12 QVT – Query/Views/Transformations
/* mapear cada classe persistente em uma tabela */ relation ClassToTable { domain uml c:Class { namespace = p:Package {}, kind='Persistent', name=cn } domain rdbms t:Table { schema = s:Schema {}, name=cn, column = cl:Column { name=cn+'_tid', type='NUMBER'}, primaryKey = k:PrimaryKey { name=cn+'_pk', column=cl} when { PackageToSchema(p, s); where { AttributeToColumn(c, t);

13 XMI – XML Metadata Interchange
Recomendado desde 1999 Baseado no padrão XML da W3C XMI possibilita a transferência de modelos UML e meta-modelos baseados em MOF através do padrão XML DTD

14 CWM – Common Warehouse Metamodel
Aplicações de Data Warehousing Meta-classes especiais em UML Bancos de dados relacionais, registros e estruturas, OLAP, XML, transformações, visualização da informação, mineração de dados, banco de dados multidimensionais, processos e operações de data warehousing, entre outros.

15 PIM – Platform-independent Model
Um PIM descreve um sistema completo para uma determinada necessidade de negócio. Características principais: O PIM deve ser escrito para ser compreendido e corrigido por outros profissionais. Deve ser compreendida por seres humanos e por máquinas. O PIM deve ser independente de qualquer tecnologia de execução.

16 PSM – Platform-specific Model
Inversamente ao PIM, deve refletir conceitos e construções utilizados na tecnologia correspondente São automaticamente gerados Necessitam ser compreendidos apenas por ferramentas automatizadas de transformação e por peritos da tecnologia

17 Processo de Construção
Construir o PIM; Transformar o PIM em PSMs; Transformar os PSMs em código. Manutenção no PIM Manutenção no PSM Manutenção no código

18 Estudo da Viabilidade Viável principalmente para:
Projetos de médio a grande porte; Uma arquitetura com média ou alta complexidade; Muito trabalho repetitivo; Pelo menos um talentoso arquiteto de software.

19 Papéis em um processo MDA
Processo MDA x Tradicional PIM – Analista de Negócio PSM – Engenheiro de Software e Programadores (tecnologias) Código - Programadores

20 A escolha da ferramenta
Linguagens e ferramentas de transformação produtivas Geração de código para diferentes linguagens Geração de código para diferentes mecanismos de persistência, tecnologias e frameworks Importar e exportar arquivos XMI Possibilidade de modelar em UML 2.0 Mecanismos de controle de concorrência Mecanismos que não destruam os códigos-fonte

21 Oracle JDeveloper 10g Sincronização two-way XMI 1.1 com UML 1.3 a 1.5
Transformações feitas por tecnologia proprietária Integração com AndroMDA Interesse em adicionar futuramente mais recursos para MDA

22 AndroMDA Utiliza cartuchos (cartridges)
Utiliza um mecanismo de script com templates, extensível com implementações Java Permite acessar todos os elementos UML A entrada é um modelo PIM. A ferramenta transforma em PSM conforme a tecnologia escolhida. Suporta a noção de "plataforma destino"

23 IBM Rational IBM Rational Software Architect
UML 2.0 com meta-dados (MOF); Geração de código-fonte; Suporta OCL; Suporta a criação de meta-modelos. Rational Rose XDE Developer Plus Integração com diversas IDEs; Protótipo da linguagem QVT.

24 Borland Together Architect 2006
Distribuído com o Eclipse (e outros) Oferece todos os recursos necessários UML 2.0 Criação e utilização de profiles UML OCL 2.0 XMI 2.0 Recursos para trabalho em equipe Protótipo de QVT (depuração) Outros recursos

25 ArcStyler 5.1 Todos os diagramas do UML 1.4
XMI 1.1, MOF 1.4, JMI 1.0 e QVT Colaboração em equipe, inclusive dispersas geograficamente Recursos para gerência de projeto Utiliza Cartuchos, com um bom número de transformações pré-definidas Integra-se ao Borland CaliberRM e ferramentas da IBM Rational

26 Compuware OptimalJ 4.0 Especializada para J2EE, possibilidade de geração de código para outras linguagens/tecnologias Possui MOF, UML, CWM, XMI As transformações utilizam a Technology Patterns (escritos em Java) para transformações do PIM para PSM e TPL - Template Pattern Language, para geração de código a partir do PSM PIM (Domain Model), PSM (Application Model) e código (Code Model) Possui active synchronization e tecnologia Guarded/Free Blocks Integra-se ao Borland JBuilder e Macromedia Dreamweaver (compartilha códigos-fonte)

27 Comparação das Ferramentas
UML: Qual versão? XMI: Qual a versão? Transformações: Quais as linguagens? Re-geração sem destruir artefatos ou trechos de código introduzidos manualmente? Colaboração para trabalho em equipe?

28 Comparação das Ferramentas
UML XMI Transformações Re-geração Colaboração JDeveloper 1.5 1.1 Java Sim Não AndroMDA - Script, Java IBM Rational 2.0 QVT, Java Together ArcStyler 1.4 1.0 OptimalJ 1.2 Java, TPL

29 Conclusão A escolha da ferramenta normalmente é influenciada por questões culturais e técnicas Já existem ferramentas completas disponíveis para estabelecer um processo MDA Basta conhecer MDA, conhecer os papéis, escolher a ferramenta, e capacitar os profissionais.

30 Leiam o artigo! Muito obrigado! André Sandri


Carregar ppt "Viabilidade de Construção de Software com MDD e MDA"

Apresentações semelhantes


Anúncios Google