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

Slides:



Advertisements
Apresentações semelhantes
Model Driven Architecture
Advertisements

Análise e Projeto Orientado a Objetos
Uma Ferramenta Baseada em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 2 de setembro.
Engenharia de Software
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Raphael Gatti Thomás Bryan
Uma Ferramenta Baseada em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 28 de outubro.
Projeto de Sistemas de Software
Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 7 de abril de.
Introdução aos Serviços Web
Web Services Erika Hmeljevski Estefania Borm Leonardo Malagoli
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Objetos Distribuídos Padrão CORBA
Seminário de Andamento UNILASALLE André Sandri Maio 2006 PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS.
Curso de Bacharelado em Ciência da Computação
DAS Sistemas Distribuídos para Automação Industrial
Análise e Projeto de Sistemas
Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho
Introdução Visão Geral do Método.
Configuração de manutenção
Introdução a Arquitetura Orientada a serviços
Engenharia de Software e Sistemas de Informação e Gestão
Middleware e Sistemas Distribuídos
Projetar Serviços Vítor Braga –
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Rose A ferramenta Case Rational Rose
Universidade Federal de Lavras - UFLA
Projeto de Sistemas de Software
Análise e Projeto de Sistemas
Tópicos de Sistemas de Informação A
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Franklin Ramalho DSC – UFCG CIn - UFPE
1 1.
Heron Vieira Aguiar “Seminário da disciplina MDA” Julho de 2006
Validação de Diagrama de
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Análise e Projeto Orientados a Objetos
O Processo Unificado (UP)
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
RPC and Web Service André Pereira.
1 Fábrica de Software com UML Toacy C. Oliveira. 2 Agenda Motivação Contexto UML/MDA Exemplo Prático UML Profile Definições Exemplo Conclusão.
HyperDE Framework e Ambiente de Desenvolvimento dirigido por Ontologias para Aplicações Hipermídia Bom dia... Vou apresentar o HyperDE, que é o fruto desse.
Odyssey-MDA: Uma Abordagem para a Transformação de Modelos de Componentes Natanael Maia Ana Paula Blois Cláudia Werner Grupo de Reutilização de Software.
WDM Web Data Modeling UCB – Universidade Católica de Brasília
Ferramentas de Suporte a MDD: Um Quadro Comparativo
Desenvolvimento de Software Dirigido a Modelos
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  1.
Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael Maia Ana Paula Blois Cláudia Werner Grupo de Reutilização de Software Outubro/2005.
UML e a Ferramenta Astah
Linguagem de Modelagem Unificada
Caso de Sucesso: Lockheed Martin Aeronautics  Usou MDA para desenvolver o software de missão modular do F-16. Objetivo:  Obter compatibilidade cross-platform;
MDA – Model Driven Architecture Jean Elder – RARCS (2013-1)
Desenvolvimento Global de Software
Unified Modeling Language
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus.
MDA na Prática Flávia Durans Pitta Marinho
CIn/UFPE – in1008 – Projeto Conceitual de Banco de Dados - Rafael J. Carício da Fonsêca  1.
OCLE Object Constraint Language Environment Fábio Moura CIn-UFPE.
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
JBuilder Daniel Almeida, Dayene Mendes, Gustavo Ribeiro, Thiago Dias.
/ de Julho de UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados.
Projeto de Arquitetura de Software
/ de Abril de UFPE - Universidade Federal de Pernambuco Centro de Informática Pós-Graduação em Ciência da Computação Dissertação de Mestrado.
Aula Prática de Corba ® Aula de Monitoria: Bruno Pereira - bpe Davi Pires - dpr Guilherme Barros – gbs2 Thiago Cavalcanti - trc.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
IF718 Análise e Projeto de Sistemas Augusto Sampaio - acas Vitor Braga - vtb (Estágio docência) Diogo Peixoto - dcp (Monitor) Parte do material.
Transcrição da apresentação:

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

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

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

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

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.

MDA – Model Driven Architecture

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

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

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

MOF – Meta-object Facility

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.

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

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

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.

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.

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

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

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.

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

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

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

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"

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.

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

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

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)

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?

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

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.

Leiam o artigo! Muito obrigado! André Sandri www.sandri.cjb.net