processo de desenvolvimento mda: metodologias e agilidade
DESCRIPTION
Aborda os princípios da MDA. Apresenta algumas metodologias de desenvolvimento, traçando seu paralelo com a abordagem ágil.TRANSCRIPT
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
2/21
Introdução
Metodologias MDA
Desenvolvimento Ágil Dirigido a
Modelos
Considerações Finais
Referências
AGENDA
3/21
O objetivo do trabalho é ...
Apresentar metodologias baseadas em MDA e o
desenvolvimento ágil dirigido a modelos;
INTRODUÇÃO
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.
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
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
7/21
(KLEPPE e outros, 2003)
INTRODUÇÃO
Ciclo de vida MDA
Passos principais do processo
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)
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)
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)
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)
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)
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)
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)
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
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
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
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)
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)
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
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