21
1/21 Processo de Desenvolvimento MDA: Metodologias e Agilidade Mestrado em Sistemas e Computação MDA e Reengenharia de Software Profa. Laís Salvador Luiz Matos – luizmatos.eti.br Salvador, Abril de 2008

Processo de Desenvolvimento MDA: metodologias e agilidade

Embed Size (px)

DESCRIPTION

Aborda os princípios da MDA. Apresenta algumas metodologias de desenvolvimento, traçando seu paralelo com a abordagem ágil.

Citation preview

Page 1: Processo de Desenvolvimento MDA: metodologias e agilidade

1/21

Processo de Desenvolvimento

MDA:

Metodologias e Agilidade

Mestrado em Sistemas e Computação

MDA e Reengenharia de Software

Profa. Laís Salvador

Luiz Matos – luizmatos.eti.br

Salvador, Abril de 2008

Page 2: Processo de Desenvolvimento MDA: metodologias e agilidade

2/21

Introdução

Metodologias MDA

Desenvolvimento Ágil Dirigido a

Modelos

Considerações Finais

Referências

AGENDA

Page 3: Processo de Desenvolvimento MDA: metodologias e agilidade

3/21

O objetivo do trabalho é ...

Apresentar metodologias baseadas em MDA e o

desenvolvimento ágil dirigido a modelos;

INTRODUÇÃO

Page 4: Processo de Desenvolvimento MDA: metodologias e agilidade

4/21

INTRODUÇÃO

Motivação

Evolução e diversidade de tecnologias;

Complexidade das aplicações;

Problemas de produtividade, interoperabilidade, portabilidade, integração, manutenção e documentação.

.
ciclo de vida tradicional são várias etapas que precedem a fase de produção, sendo que, muitas vezes quando se começa a codificar a documentação já está desatualizada, quando vai realizar a manutenção, o código já foi 'esquecido'
.
diversidade de tecnologias, dificuldades de integração, os sistemas não existem isoladamente
.
múltiplas plataformas existentes, necessidade de execução
Page 5: Processo de Desenvolvimento MDA: metodologias e agilidade

5/21

Model Driven Architecture (MDA)

Separar a especificação dos aspectos técnicos;

Tudo é modelo;

Mapeamento entre modelos;

Mesmo modelo ser realizado em múltiplas plataformas.

INTRODUÇÃO

Page 6: Processo de Desenvolvimento MDA: metodologias e agilidade

6/21

• MDA – Processo de Desenvolvimento

INTRODUÇÃO

Ciclo de Vida Modelo Independente de Plataforma (PIM) Modelo Específico de Plataforma (PSM) Código

Passos de transformação automatizados

Ganhos de produtividade, portabilidade, interoperabili- dade, integração, documentação

.
alto nível de abstração e independente de implementação
.
tecnologia específica de implementação
Page 7: Processo de Desenvolvimento MDA: metodologias e agilidade

7/21

(KLEPPE e outros, 2003)

INTRODUÇÃO

Ciclo de vida MDA

Passos principais do processo

Page 8: Processo de Desenvolvimento MDA: metodologias e agilidade

8/21

Uma metodologia deve fornecer:

um conjunto de conceitos; as regras de uso destes conceitos,

organizando-as em várias etapas; o processo associado com estas etapas, e; uma notação.

Metodologias MDA

(GERVAIS, 2002)

Page 9: Processo de Desenvolvimento MDA: metodologias e agilidade

9/21

Desenvolvimento de aplicações distribuídas;

Conjunto de diretrizes para explicar a arquitetura de um sistema;

Independente do domínio da aplicação;

Baseada no Reference Model of Open Distributed Processing (RM-ODP) Framework arquitetural que define conceitos

para o desenvolvimento de sistemas distribuídos Não possui um processo que guie a fase de

modelagem

• ODAC

Metodologias MDA

(GERVAIS, 2002)

.
Qual o significado da sigla?
Page 10: Processo de Desenvolvimento MDA: metodologias e agilidade

10/21

Análise Especificação comportamental (PIM) RM-ODP: Enterprise, Information, Computational

Projeto Especificação de Engenharia (PDM) e

Especificação Operacional (PSM) RM-ODP: Engineering

Implementação Geração automática de código RM-ODP: Technology

• ODAC

Metodologias MDA

(GERVAIS, 2002)

Page 11: Processo de Desenvolvimento MDA: metodologias e agilidade

11/21

• ODAC

(GERVAIS, 2002)

Objetivo do sistema, contexto na organização, informações manipuladas e tarefas realizadas.

Corresponde a transformação do PIM, que é configurado de acordo com o PDM

Descrição do ambiente de execução (Platform-Description Model)

Page 12: Processo de Desenvolvimento MDA: metodologias e agilidade

12/21

Desenvolvimento de Sistemas de Informação Web;

Utiliza as tecnologias XML e objeto-relacional;

Propõe alguns PIMs, PSMs e regras de mapeamento entre os modelos;

Utiliza extensões da UML para modelar Web Services, XML Schemas, XLink e projeto de BD objeto-relacional.

• MIDAS

Metodologias MDA

(CÁCERES e outros, 2003)

.
Utiliza UML e algumas de suas extensões próprias para a Web, além de definir algumas novas quando necessário - como a para Web Services, para projeto de BD objeto-relacional, para representar schemas XML ou XLink.
.
Sigla?
Page 13: Processo de Desenvolvimento MDA: metodologias e agilidade

13/21

Considera 3 categorias para os requisitos de um Sistema Web:

• MIDAS

Metodologias MDA

Requirements of the modeling of a WIS

Levels Phases Aspects

content hypertext

presentation

analysis

implementation

structure behavior

(CÁCERES e outros, 2003)

Page 14: Processo de Desenvolvimento MDA: metodologias e agilidade

14/21

• MIDAS• Define PIMs e PSMs de acordo com a dimensão estrutural e comportamental;• Define regras de mapeamento entre diferentes modelos: entre PIMs e PSMs.

Metodologias MDA

(CÁCERES e outros, 2003)

Page 15: Processo de Desenvolvimento MDA: metodologias e agilidade

15/21

Gap de verificação Documentos não podem ser executados Tempo de entrega de uma solução

Métodos agéis propõem a entrega de pequenos pedaços de código, quanto possível.

• Processo Ágil

Metodologias MDA

Page 16: Processo de Desenvolvimento MDA: metodologias e agilidade

16/21

DESENVOLVIMENTO ÁGIL DIRIGIDO A MODELOS

Agile Model Driven Development (AMDD)

(AMBLER, 2008)

Ciclo de vida AMDD

Identificar o escopo e arquitetura do sistema 0

1

2

...

n-1

n

n+1

Page 17: Processo de Desenvolvimento MDA: metodologias e agilidade

17/21

Abordagens para aplicar AMDD

Manual - ferramentas simples: quadro branco, papel e modelos.

Ferramenta de Projeto: ferramentas sofisticadas para detalhar o projeto, gerar código dos modelos.

MDA Ágil – ferramentas baseadas em MDA sofisticadas, usadas para criar modelos extensivos.

DESENVOLVIMENTO ÁGIL DIRIGIDO A MODELOS

Page 18: Processo de Desenvolvimento MDA: metodologias e agilidade

18/21

Baseado em um processo ágil

i) Constrói casos de testeii) Escreve os modelos executáveisiii) Compila os modelosiv) Executa os casos de testev) Entrega fragmentos do sistema de maneira

incremental para o cliente

• MDA Ágil

Metodologias MDA

(MELLOR, 2004)

.
O que difere do Processo Agil tradicional, eh que no caso do MDA agil sao utilizados modelos, em vez de codigo. Ou seja, uma abstracao de alto nivel.
Page 19: Processo de Desenvolvimento MDA: metodologias e agilidade

19/21

Requer a construção de vários PIMs

Utiliza o perfil UML executável

A compilação do modelo executa funções de mapeamento para produzir o mais importante PSM: o código

• MDA Ágil

Metodologias MDA

(MELLOR, 2004)

.
PSM eh o codigo?
Page 20: Processo de Desenvolvimento MDA: metodologias e agilidade

20/21

Diversidade de metodologias, seguindo os princípios

básicos da MDA, variando conforme o domínio

MDA é vista com cautela por desenvolvedores

experientes

Uma metodologia aprovada pela comunidade

aumenta as chances de sucesso (se bem aplicada)

É ágil por ser dirigida a modelos?

CONSIDERAÇÕES FINAIS

Page 21: Processo de Desenvolvimento MDA: metodologias e agilidade

21/21

AMBLER, Scott W. Agile Model Driven Development (AMDD): the key to scaling agile software development. Disponível em: <http://www.agilemodeling.com/essays/amdd.htm>. Acesso em: 12 fev. 2008.

BÉZIVIN, Jean. On the Unification Power of Models. Software and Systems Modeling, v. 4, n. 2, pp. 171-188, May 2005.

BROWN, Alan W. Model Driven Architecture: principles and practice. Software and Systems Modeling, v. 3, n. 4, pp. 314-327, December 2004.

CÁCERES, Paloma; MARCOS, Esperanza; VELA, Belén. A MDA-Based Approach for Web Information System Development. In: Workshop in Software Model Engineering, 2003.

GERVAIS, Marie-Pierre. Towards na MDA-Oriented Methodology. In: Proceedings of the 26th Annual International Computer Software and Applications Conference (COMPSAC’02), 2002.

KENT, Stuart. Model Driven Engineering. In: Proceedings of the 3rd International Conference on Integrated Formal Methods (IFM’02), 2002.

KLEPPE, Anneke; WARMER, Jos; BAST, Wim. MDA Explained the Model Driven Architecture: practice and promise. Addison-Wesley, 2003.

MELLOR, Stephen J. Agile MDA: a white paper. The MDA Journal: Model Driven Architecture Straight from the Masters, 2004.

MILLER, Joaquin; MUKERJI, Jishnu. MDA Guide Version 1.0.1. Object Management Group Specification, 2003.

REFERÊNCIAS