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

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

Processo de Desenvolvimento baseado em MDA

Apresentações semelhantes


Apresentação em tema: "Processo de Desenvolvimento baseado em MDA"— Transcrição da apresentação:

1 Processo de Desenvolvimento baseado em MDA
Rodrigo Teixeira Ramos

2 1. Motivação e Introdução
1.1. Desenvolvimento Tradicional 1.2. MDA 1.3. Ciclo de Vida 1.4. Benefícios MDA Jos Warmer. MDA Explained MDA, OMG Architecture board MDA Tutorial, OOPSLA 2003

3 The Object Management Group (OMG)
“The OMG’s mission is to help computer users solve integration problems by supplying open, vendor-neutral interoperability specifications.” OMG é fundada UML, MOF, XMI, CWM MDA Model Driven Architecture specification, OMG Architecture board 1989 1991 1996 1997 2001 CORBA 1.0, IDL CORBA 2.0

4 O que é MDA? “An approach to IT system specification that separates the specification of system functionality from the specification of the implementation of that functionality on a particular technology platform” “Design once, build it on any platform” MDA specification, OMG Architecture board Mantra de Java : “write once, run anywhere”

5 Desenvolvimento de Software Tradicionais
Problema de Produtividade Artefatos produzidos nas fases iniciais são deixados de lado (descontinuidade) Solução parcial: Extreme Programming Problema de Portabilidade Mudanças constantes na tecnologia Manutenção da Documentação Documentação desatualizadas e má escritas Em código (solução p/ problemas em baixo nível) Capitulo 1.1 do livro MDA Explained de Jos Warmer

6 Model Driven Architecture
Ciclo de Vida Modelo Independente de Plataforma (PIM) Modelo especifico de Plataforma (PSM) Código Automação dos passos de transformação Capitulo 1.2 do livro MDA Explained de Jos Warmer

7 Beneficios de MDA Produtividade
A maior parte do código pode ser gerado Portabilidade (Preservação do conhecimento) Transformação para diversos PSM Interoperabilidade Geração de bridges entre os modelos Manutenção e Documentação Modelos não abandonados (rastreabilidade 100%) Separação de interesse Foco no desenvolvimento de um PIM Transformações guardam detalhes técnicos Portabilidade Independente de plataforma e exposição explicita do conhecimento tacito

8 Interoperabilidade: Uso de Bridges
PIM First transformation First transformation PSM PSM PSM Bridge Second transformation Second transformation code code code Bridge

9 2. Conceitos básicos de MDA
2.1 Modelos 2.2 Transformações 2.3 Pontos de Vista e Visões MDA, OMG Architecture board Jos Warmer. MDA Explained

10 Plataformas de destino
Visão Geral de MDA dominios verticais Tecnologias centrais Snapshot or Overview? Serviços pervasivos Plataformas de destino

11 Modelo Um modelo é a especificação formal da função, estrutura e/ou comportamento sistema Exemplos: Codigo Fonte Uma especificação UML Sintaxe semântica Modelo Sistema Linguagem E escrito em descreve A model is a description of (part of) a system written in a well-defined language. A well-defined language is a language with well-defined form (syntax), and meaning (semantics), which is suitable for automated interpretation by a computer.

12 Modelo Independente de Plataforma (PIM)
Expressado em UML Representa as funcionalidades e o comportamento do negócio Pode utilizar serviços pervasivos e facilidades do domínio Exemplo de um PIM

13 Modelo Especifico de Plataforma (PSM)
Expressado com extensões de UML (UML profiles) Possuem decisões estratégica e restrições escopo Dimensões de Modelagem PIM (abstrato)  PSM (Concreto) Pode ser aplicado várias vezes (PIMPSM) concreto

14 Exemplo de PSM PSM

15 Transformações Transformações Definição de Transformação e Regras
de modelo (ex.: Refactoring, Normalização) de linguagem (ex.: Traduções de Meta-model) Pode-se usar XSLT. Definição de Transformação e Regras Questões: São processáveis? Isomórficos? Transformação PIM PSM PSM Info. adicionais

16 Exemplo simples de Regras de Transformação
PSM PIM Transformation Rules: (1) For each public attribute named attributeName : Type of class className in the PIM the following attributes and operations are part of class className in the target model: A private attribute with the same name: attributeName : Type A public operation named with the attribute name preceded with "get" and the attribute type as return type: getAttributeName() : Type

17 Exemplo de Regras de Transformação
PIM PSM Transformation Rules: (1) For each association end there is a private attribute of the same name in the opposite class. (2) The type of this attribute is the class at the side of the association end if the multiplicity is zero or one, or the type is a Set if the multiplicity is larger than one. (3) ....

18 Desenvolvimento em MDA
Refactoring PIM Mapea p/ Mapea p/ Mapea p/ Modelo CORBA Modelo Java/EJB Outros Modelos Mapea p/ Mapea p/ Mapea p/ CORBA Java/EJB Outros

19 Pontos de vista e Visões
Organização dos modelos Níveis de abstração Diferentes aspectos Pontos de vista visões em alguma notação Necessidades do stakeholder

20 Metamodelo MDA UML PIM MOF PSM Metamodel PIM Mapping techniques
Infrastructure <<depends on>> <<independant of>> PIM Mapping techniques <<based on>> 1..n UML Mapping from PIM to PIM 1..n <<expressed with>> PIM <<described with>> 1..n Metamodel MOF <<expressed with>> <<expressed with>> <<described with>> 1..n Mapping from PIM to PSM 1..n Refactoring from PSM to PIM <<based on>> 1..n Other languages PSM PSM Mapping techniques Mapping from PSM to PSM 1..n

21 3. Processo de desenvolvimento baseado em MDA
3.1 Processo Baseado em MDA 3.2 RUP e Metodologias Ágeis 3.3 ODAC 3.4 Críticas a MDA Jos Warmer. MDA Explained Agile Modeling, Scott Ambler Model Driven Engineering, Stuart Kent

22 Processo Baseado em MDA
Ferramentas MDA pode ser aplicado a qualquer processo Indicando quais modelos serão usados, como serão coordenados, e como serão produzidos (guidelines) Mudanças: Analise, projeto e codificação Modelos e transformações são artefatos relevantes Processo e Modelos (Relação intrínseca) Não válidos para todos os domínios, organizações e projetos (Famílias de Processos)

23 Novos papeis Analista PIM Construtor PSM
Necessidades do negócio Modelo de negócio Construtor PSM Detalhes da plataformas Arquiteturas Desenvolvedor de definição de transformações Escrita e compra MDA não requer um processo especifico para ser utilizado em um processo de desenvolvimento O ponto central de modelos e transformações podem ser refletidos em qualquer processo Em XP pode-se construir somente os modelos necessarios para a obtenção do código.

24 RUP e Metodologias Ágeis
Já centrado na utilização de modelos - UML Metodologias Ágeis Conceitos ainda válidos: Keep it simple Código  alto nível de abstração “Extreme Modeling“ Model-based testing Pode facilitar a comunicação com o cliente Linguagens de modelagem de domínio especifico Feedback (Simulações/ geração de código)

25 Metodologia orientada a MDA: ODAC
Utilização dos conceitos de RM-ODP Análise Especificação comportamental (PIM) ODP: Enterprise, Information, Computational Projeto Especificação de Engenharia (PDM) Especificação Operacional (PSM) ODP: Engineering Implementação Geração automática de código

26 Princípios de ODAC ODP Visions

27 Críticas a MDA por Scott W. Ambler
Generative x Agile Model Driven Development Questões ? Qual nível de educação é necessário? Os fornecedores seguirão os padrões? As linguagens de modelagens são expressivas o suficiente? MDA não é uma repetição de I-CASE (1980)? Como realizar Gerência de configuração e Testes?

28 Processo de desenvolvimento [Ferramentas]
Devem se apoiar em ferramentas que: Verifiquem consistências de regras sobre o modelo Gerem instancias do modelo Suportem a transformações entre modelos Sejam Bidirecionais, e ofereçam controle Suportem Model Driven Testing Suportem controle de versão e trabalho distribuído E adicionalmente sejam configuráveis: linguagem e def. das transformações como entrada Integrem MOF e SPEM em ferramentas de coordenação do processo e modelagem

29 Referências MDA Specification Livros Artigos
Model Driven Architecture specification, OMG Architecture board, July 2001 Livros MDA Explained: The Model Driven Architecture™: Practice and Promise. Anneke Kleppe, Jos Warmer, Wim Bast Artigos Examining the Model Driven Architecture (MDA), Scott W. Ambler. Model-Driven Architecture Tutorial, Krzysztof Czarnecki and Petter Graff. OOPSLA 2003 Model Driven Engenineering, Stuart Kent Model-Based Testing in Practice, S. R. Dalal et al. Towards an MDA-Oriented Methodology, Marie-Pierre Gervais Inserire link a documenti?


Carregar ppt "Processo de Desenvolvimento baseado em MDA"

Apresentações semelhantes


Anúncios Google