Model Driven Architecture. Centro de Informática/UFPE Fernando Trinta
|
|
|
- Leonardo de Paiva de Oliveira
- 7 Há anos
- Visualizações:
Transcrição
1 Model Driven Architecture Centro de Informática/UFPE Fernando Trinta
2 Roteiro Contexto Introdução Conceitos MDA Platform Independent Model Platform Specific Model Transformations Consequências Promessas Conclusões
3 Engenharia de Software Hoje Problema da produtividade Sistemas cada vez mais complexos Grande número de tecnologias envolvidas Equipes médias/grandes Ênfase na codificação Problema de Portabilidade Portar sistemas entre diferentes tecnologias é uma tarefa árdua Padrões de Projeto, Componentes, Middleware ajudam, mas não são suficientes para resolver o problema!!!
4 Engenharia de Software Hoje Problema de Interoperabilidade Sistemas legados, fusões entre empresas implicam na necessidade de interoperabilidade entre diferentes sistemas Problema da Documentação Modelos utilizados apenas na fase inicial de concepção dos sistemas Unified Modeling Language Padrão de facto para modelagens de sistemas Durante implementação, ênfase no código produzido Possíveis mudanças de requisitos são realizadas diretamente sobre código
5 Engenharia de Software Tradicional
6 Model Driven Architecture Proposta do Object Managment Group: Objetivo: Portabilidade e Interoperabilidade de aplicações através do uso de modelos que utilizem linguagens formaisf Design once, build it on any platform Segundo MDA Guide: Abordagem para especificação de sistemas de TI que busca separar a especificação da funcionalidade do sistema, da especificação da implementação desta funcionalidade sobre alguma plataforma específica
7 MDA Pattern Um modelo independente de plataforma (PIM) é criado, e partindo de suas definições são gerados modelos para plataformas específicas(psm), através da definição de transformação entre estes modelos. O PSM por sua vez é transformado em código.
8 Outra visão da MDA Pattern
9 Engenharia de Software - MDA
10 Conceitos chaves: Model Driven Architecture Um modelo é a especificação formal da função, estrutura e/ou comportamento sistema Exemplos: Codigo Fonte Uma especificação UML
11 Model Driven Architecture PIM - Platform Independent Model: Modelos que representam a funcionalidade do sistema, sem representações inerentes a qual plataforma onde o sistema será desenvolvido. Possivelmente UML como linguagem
12 Model Driven Architecture PSM - Platform Specific Model: Representam um PIM, voltado para alguma plataforma específica CORBA, Enteprise JavaBeans, Microsoft.NET Usode UML Profiles Profiles Extensões UML para representar uma plataforma específica CCM Profile EJB Profile
13 Exemplo PSM Model Driven Architecture
14 Model Driven Architecture Código Java, C#, SQL Transformações: geração automática de um modelo a partir de outro modelo, baseado em uma definição de transformações PIM! PSM PIM! PIM PIM! PSM PIM! PSM Aplicações: Refactoring, Normalização
15 Model Driven Architecture Refactoring mapeia mapeia mapeia MODELO CORBA MODELO EJB OUTROS
16 Transformações Definição de transformação : conjunto de regras que descrevem como um modelo original é transformado em outro modelo Regra de transformação : descrição de como um ou mais construtores na linguagem do modelo original deve(m) ser transformado(s) em um ou mais construtores na linguagem do modelo destino Linguagem de definição de transformação : A linguagem na qual as definições das transformações são descritas.
17 Exemplo Transformação PIM PSM Regras de Transformação (1) Para cada atributo público attributename : Type da classe classname no PIM, devem ser gerados atributos e operações no modelo destino seguindo a regras abaixo:: Um atributo privado com o mesmo do nome/tipo original: attributename : Type Uma operação pública cujo nome deve ser precedido pela palavra get, seguido pelo nome do atributo com a primeira letra maiscula. Esta operação deve ter tipo de retorno igual ao tipo do atributo original getattributename() : Type
18 Outro Exemplo PIM PSM Regras de Transformação: (1) Para cada associação, há um atributo privado com o mesmo nome na classe destino (2) Se a multiplicidade da associação for igual a zero ou um, o tipo deste atributo é igual a classe do lado original da associação. Se a multiplicidade for igual a zero ou mais, o tipo do atributo deve ser igual ao tipo Set. (3)
19 Exemplo Linguagem de Transformação Transformation PublicToPrivateAttributes (UML, UML) { params setterprefix: String = 'set'; getterprefix: String = 'get'; source sourceattribute : UML::Attribute; target targetattribute : UML::Attribute; getter : UML::Operation; setter : UML::Operation; source condition sourceattribute.visibility = VisibilityKind::public; target condition targetattribute.visibility = VisibilityKind::private and setter.name = setterprefix.concat(targetattribute.name) and setter.parameters->exists( p p.name = targetattribute.name and p.type = targetattribute.type) and setter.type = OclVoid and getter.name = getterprefix.concat(targetattribute.name) and getter.parameters->isempty() and getter.type = targetattribute.type and targetattribute.class = setter.class and targetattribute.class = getter.class; bidirectional; mapping sourceattribute.name <~> targetattribute.name; sourceattribute.type <~> targetattribute.type; }
20 Características desejáveis para Transformações MDA 1. Tunability (Controle) Controle manual, condições sobre as transformações, parâmetros sobre transformações 2. Rastreabilidade 3. Consistência Incremental 4. Bidirecionalidade (difícil!) Apenas uma transformação. Duas transformações, sendo uma a inversa da outra. Tranformações podem ocorrer ambos sentidos, mas é necessário manter os modelos origem e destino consistentes
21 Modelos MDA Uso de linguagens bem-definidas Forma (sintaxe) e significado (semântica) bem definidas. Requisitos necessários para interpretação automática por computadores, ie, sem ambiguidades MDA não é restrita apenas à UML Segundo OMG, UML + OCL é a melhor opção para definição de modelos Opções como só UML ou semântica de ações seriam alternativas, porém apresentam problemas
22 Produtividade A maior parte do código pode ser gerado Benefícios - MDA Portabilidade (Preservaçã ção o do conhecimento) Transformaçã ção o para diversos PSM Manutenção e Documentaçã ção Modelos não n o abandonados (rastreabilidade 100%) Separação de interesse Foco no desenvolvimento de um PIM Transformações guardam detalhes técnicos Interoperabilidade Geraçã ção o de bridges entre os modelos
23 Interoperabilidade Classes Entidades Class Pessoa Tabelas em Bancos de Dados Relacionais Tabela PESSOA
24 MDA & Processos de Desenvolvimento MDA não específica um processo específico para seu uso OMG não se preocupa com padronização de processos Modelos já possuem um importante papel no RUP Extremme Programming poderia se tornar Extremme Modelling
25 Novos papeis Analista PIM Necessidades do negócio Modelo de negócio Construtor PSM Detalhes da plataformas Arquiteturas Desenvolvedor de definição de transformações Escrita e compra
26 MDA hoje Uso de Padrões OMG para implementação MDA UML (Definições de Modelos) OCL Object Constraint Language Linguagem para melhoria da definição de modelos UML através de restrições MOF Meta Object Facility Definições de linguagens OMG está num processo para definição de uma linguagem padrão para definição de transformações
27 Ferramentas MDA Nenhuma implementa MDA por completo IO Software ArcStyler Disponível para download (Trial) Uso de Cartridges ComponentX Versão Full & Free OptimalJ VersãoTrial MDA Metanology Plugin para uso com Eclipse
28 Referências - Livros MDA Explained: The Pratice and Promise of Model Driven Architecture Convergent Architecture Building Model- Driven J2EE Systems with UML The Object Constraint Language 2 nd Edition Executable UML A Foundation for Model-Driven Architecture
29 Referências Artigose Sites MDA website Artigos MDA Guide (Versão Maio 2003)
Model Driven Development (MDD)
Model Driven Development (MDD) Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros [email protected] Sumário Introdução Desenvolvimento de Software
Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:
Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas
Desenvolvimento Dirigido por Modelos: Ferramentas
DCC / ICEx / UFMG Desenvolvimento Dirigido por Modelos: Ferramentas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Existe MDD na prática? Poucos sistemas ainda são desenvolvidos usando a filosofia
Introdução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Modelagem/Arquitetura de Software
Modelagem/Arquitetura de Software Thaís Vasconcelos Batista Objetivo do Curso Apresentar as tendências atuais para desenvolvimento de aplicações baseadas em componentes, oferecendo uma visão conjunta das
Desenvolvimento Dirigido por Modelos: Conceitos, Aplicações, e Perspectivas. Prof. Valdemar Neto INF-UFG
Desenvolvimento Dirigido por Modelos: Conceitos, Aplicações, e Perspectivas Prof. Valdemar Neto INF-UFG Agenda Introdução Conceitos Ferramentas Aplicações Perspectivas Engenharia de Software Convencional
INF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho [email protected] Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa
Aplicação da Técnica de Tecelagem de Modelos na Transformação de Modelos na MDA
Alexandre dos Santos Mignon Aplicação da Técnica de Tecelagem de Modelos na Transformação de Modelos na MDA Dissertação apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do Título
Notas de Aula 03: Introdução a Orientação a Objetos e a UML
Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas
EMMANUEL DA COSTA GALO MODEL DRIVEN ARCHITECTURE-MDA E UM ESTUDO DE CASO
EMMANUEL DA COSTA GALO MODEL DRIVEN ARCHITECTURE-MDA E UM ESTUDO DE CASO LONDRINA PR 2015 EMMANUEL DA COSTA GALO MODEL DRIVEN ARCHITECTURE-MDA E UM ESTUDO DE CASO Trabalho de Conclusão de Curso apresentado
Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução
UML: introdução Prof.: Clarindo Isaías Pereira da Silva e Pádua Synergia / Gestus Departamento de Ciência da Computação - UFMG UML: introdução 2 Bibliografia Rumbaugh, J.; Jacobson, I.; Booch, G., The
Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML
Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael E. N. Maia, Ana Paula B. Blois, Cláudia M. Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68.511
Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012
Visão Geral da UML SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Introdução Ferramentas de Apoio Diagramas da UML Elementos Genéricos Material sobre UML
UML - Unified Modeling Language
UML - Unified Modeling Language Marcelle Mussalli Cordeiro {[email protected]} Cordeiro Objetivo do Curso Fornecer ao profissional que pretende utilizar as técnicas da linguagem UML Uma visão clara de
Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Desenvolvimento Java com ferramentas IBM
Desenvolvimento Java com ferramentas IBM Camilo Lopes IT Specialist/Analyst Java Programmer [email protected] Iniciando em Java 19/06/09 Agenda Por que Java?! Ferramentas IBM para desenvolvimento Demonstração
Engenharia de Software
Universidade São Judas Tadeu Prof. André Luiz Ribeiro Prof. Jorge Luis Pirolla Introdução à Computação Engenharia de Software Tópicos O que é Engenharia de Software? Engenharia de Software em camadas Processo
Prof. Me. Sérgio Carlos Portari Júnior
Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade
UML Unified Modeling Language Linguagem de Modelagem Unificada
UML Unified Modeling Language Linguagem de Modelagem Unificada Prof. Gilberto Porto e-mail: [email protected] A linguagem UML n UML (Unified Modeling Language) Linguagem de Modelagem Unificada
Capítulo 5 Modelação do Sistema 1
Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos
Modelagem de Processos de Negócio Aula 4 Projeto de Modelagem Andréa Magalhães Magdaleno
Modelagem de Processos de Negócio Aula 4 Projeto de Modelagem Andréa Magalhães Magdaleno [email protected] 2018.02 Agenda Projeto de Modelagem Método Meta-Modelo Notação Ferramenta Estudo de Caso Exercício
Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo
Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de
CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner
CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS Tereza Gonçalves Kirner Apresentação elaborada com base em: Hoffer, Jeffrey A., George, Joey F. Modern Systems Analysis and Design (Capítulo 1), Pearson,
Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes
Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: [email protected] Resumo Este artigo apresenta a ferramenta CASE
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana
Requisitos de Software e UML Básico. Janaína Horácio
Requisitos de Software e UML Básico Janaína Horácio [email protected] Agenda Requisitos O que é? Objetivos? Atividades?... UML O que é? Modelos... Casos de Uso O que é? Componentes 2 Requisitos
Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota
Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução à UML Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM Introdução
Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus
Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis
Revisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/ v0.1
Revisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/2013 - v0.1 Orientação a objetos Classe Métodos Visibilidade Tipo de retorno Tipo dos parâmetros Atributos Tipo Visibilidade
Arquitetura e Objetos Distribuídos em CORBA. Aula 3. Especificações OMA Object Web
Arquitetura e Objetos Distribuídos em CORBA Aula 3 Especificações OMA Object Web The Client/Server Evolution O que é a tecnologia CORBA? CORBA Common Object Request Broker Architecture Uma camada de software
Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )
ELEMENTOS BÁSICOS DA LINGUAGEM JAVA Patricia Della Méa Plentz INE-CTC-UFSC E-Mail: [email protected] URL: http://moodle.ufsc.br INE5605-Turma 0238B Sumário 2.1 Classes e Objetos na POO 2.2 2 Revisão da
Modelagem de dados geográficos utilizando um perfil UML alinhado a padrões internacionais e à abordagem MDA
Modelagem de dados geográficos utilizando um perfil UML alinhado a padrões internacionais e à abordagem MDA Filipe Ribeiro Nalon 1, Jugurta Lisboa Filho 1, Douglas Alves Peixoto 1 1 Departamento de Informática
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Nome: 1. A figura abaixo representa, simplificadamente, as fases do Modelo de Ciclo de Vida Cascata.
RUP RATIONAL UNIFIED PROCESS
O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos
Análise de Sistemas. Aula 5
Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles
Rui Miguel Silva Couto
Departamento de Informática Rui Miguel Silva Couto Inferência de PSM/PIM e padrões de concepção a partir de código Java Dissertação de Mestrado Mestrado em Engenharia Informática Trabalho realizado sob
Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003
Arquitetura de Aplicações J2EE Jorge Fernandes Outubro de 2003 J2EE O que é Como se organiza Como funciona Elementos Arquitetura Típica Componentes de Software Reuso é um processo Publicar interfaces Distribuir
RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN
RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa
Rational Unified Process (RUP)
Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que
Transformando Modelos da MDA com o apoio de Componentes de Software
Transformando Modelos da MDA com o apoio de Componentes de Software Fapesp-PIPE Autores: Marco Antonio Pereira Antonio Francisco do Prado Mauro Biajiz Valdirene Fontanette Daniel Lucrédio Campinas-SP,
UML. Adriano J. Holanda 21/3/
UML Adriano J. Holanda 21/3/2016 UML Introdução UML - Unified Modeling Language Linguagem Unificada de Modelagem. Adquiriu maturidade na segunda década de 1990 pela fusão dos métodos e diagramas de Grady
Viabilidade de Construção de Software com MDD e MDA
Viabilidade de Construção de Software com MDD e MDA André Sandri Ciência da Computação Centro Universitário La Salle (UNILASALLE) Av. Victor Barreto, 2288 92.010-000 Canoas RS Brazil [email protected]
Transforms: Um Ambiente de Apoio a Modelagem e Execução de Processos de Software Dirigido por Modelos
Transforms: Um Ambiente de Apoio a Modelagem e Execução de Processos de Software Dirigido por Modelos Bruno C. da Silva 1,2, Ana Patrícia F. Magalhães 2, Rita Suzana P. Maciel 3, Narciso Martins 2, Leandro
Introdução à Gestão de Processos de Negócios
Introdução à Gestão de Processos de Negócios Profa. Dra. Elisa Yumi Nakagawa 2. Semestre de 2016 SSC0531 - Gestão de Sistemas de Informação Slides inicialmente preparados por Roberto Rocha e Prof. João
Model Driven Architecture-MDA e um estudo de caso.
Model Driven Architecture-MDA e um estudo de caso. Emmanuel da Costa Galo 1, Jandira Guenka Palma 1 1 Departamento de Computação Universidade Estadual de Londrina (UEL) Caixa Postal 10.011 CEP 86057-970
Transformação de modelos em processos de desenvolvimento de software
1068 X Salão de Iniciação Científica PUCRS Transformação de modelos em processos de desenvolvimento de software Vinycio de Correa Lunelli 1, Profa. Dra. Ana Paula Terra Bacelo 1 1 Faculdade de Informática,
