34
Desenvolvimento de Desenvolvimento de Software Dirigido a Software Dirigido a Modelos Modelos Monique Soares

Desenvolvimento de Software Dirigido a Modelos Monique Soares

Embed Size (px)

Citation preview

Page 1: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Desenvolvimento de Software Desenvolvimento de Software Dirigido a ModelosDirigido a Modelos

Monique Soares

Page 2: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Agenda

o Introduçãoo Arquitetura Dirigida a Modeloso Abordagens MDDo Problemas e Desafios dos Processos

MDDo Considerações Finais

Page 3: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Objetivo Geral do Capítuloo Apresentar o processo MDD padronizado pela MDA

do OMG e sua relevância para a elevação da qualidade do processo de Engenharia de Software e do produto.

Page 4: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Introduçãoo Modelar é uma atividade essencial da Engenharia de

Software

o Na década de 1970 os métodos formais difundiram o desenvolvimento de software a partir de modelos formais matemáticos

o Em 2001 o OMG especificou a MDA, definindo assim uma nova instância do processo MDD

Page 5: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Introduçãoo Principais argumentos para a utilização de MDD:

– Maior produtividade;– Portabilidade;– Interoperabilidade;– Menor custo;– Mais facilidade na evolução do software

Maior qualidade do produto

Page 6: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Introduçãoo Isso ocorre pelas seguintes razões:

– Principal idéia em MDD: transformação de modelos de maiores níveis de abstração em modelos mais concretos, até se obter o código do sistema

– Desenvolvimento inicial e modificações futuras devem ser efetuados apenas no modelo mais abstrato

Page 7: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Introduçãoo Indústrias de software e empresas de ferramentas

CASE transmitem as falsas idéias de que:– em MDD com um “click” obtém-se todas as

transformações de modelos até se chegar ao produto final de software

– Gerar código é o principal objetivo MDDo Quando de fato o principal objetivo MDD é

transformar modelos.

Page 8: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Introdução

o Não há um consenso na comunidade acadêmica sobre qual modelo de maior nível de abstração é mais adequado para se modelar um sistema

Page 9: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Arquitetura Dirigida a Modelos

o Conceitos Básicos:– Modelo: representação funcional, estrutural e

comportamental– Dirigido a Modelos: Provê meios de usar modelos

para direcionar o curso de entendimento– Arquitetura: Especificação de partes e conectores

de um sistema– Ponto de Vista: Uma técnica de abstração

Page 10: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Arquitetura Dirigida a Modelos

o Conceitos Básicos:– Plataforma : Conjunto de subsistemas e

tecnologias que provê um conjunto coerente de funcionalidade

– Pontos de Vista (Modelos) MDA:• Modelo Independente de Computação (CIM)• Modelo Independente de Plataforma (PIM)• Modelo Específico de Plataforma (PSM)

– Transformações (Mapeamentos)– Transformações e Mapeamentos em MDA

Page 11: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Arquitetura Dirigida a Modelos

o Transformações em MDA

Page 12: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Arquitetura Dirigida a Modelos

o Metamodelo MDA

Page 13: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Arquitetura Dirigida a Modelos

o Transformações de Mapeamentos por Metamodelos

Page 14: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Arquitetura Dirigida a Modelos

o Padrões OMG e a Arquitetura MDA– MDA visa proporcionar benefícios como:

• Aumentar a produtividade;• Melhorar a portabilidade;• Interoperabilidade

– Para atingir esses objetivos e separar os níveis de abstração, MDA foi definida pela OMG em três camadas

Page 15: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Arquitetura Dirigida a Modelos

o Padrões OMG e a Arquitetura MDA

Page 16: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo OO-Method

– Primeira versão em 1992 na tese de PhD de Oscar Pastor, juntamente com OASIS

– Cobre todas as fases de desenvolvimento de software– O centro do desenvolvimento de sofware dirigido por

modelos é o Esquema Conceitual, fundamentado na seguinte afirmação do professor Antoni Olivé:

“Para desenvolver um sistema de informação é necessário e suficiente definir seu esquema conceitual”

Page 17: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo OO-Method

– O Processo Básico de Transformação• Distinção clara entre o espaço problema e solução

Page 18: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo OO-Method

– Comparação com MDA

– Propriedades do OO-Method ausentes na MDA• O processo de compilação de modelos;• Modelos do esquema conceitual computacionalmente

completos

Page 19: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo OO-Method

– O Modelo Conceitual• Quatro visões que representam os requisitos funcionais:

– modelo objeto, – modelo dinâmico, – modelo funcional e – modelo de apresentação

Page 20: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo OO-Method

– O Modelo Conceitual• Quatro visões que representam os requisitos funcionais:

– modelo objetoEspecifica as propriedades estáticas do

sistema, definido pelo diagrama de configuração de classe

Page 21: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo OO-Method

– O Modelo Conceitual• Quatro visões que representam os requisitos funcionais:

– modelo dinâmicoRepresenta o comportamento do sistema,

especificando suas propriedades dinâmicas através de dois diagramas:

» Diagrama de Transição de Estado» Diagrama de Interação de Objeto

Page 22: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo OO-Method

– O Modelo Conceitual• Quatro visões que representam os requisitos funcionais:

– modelo funcionalEspecifica o relacionamento estático e

dinâmico através de:» Definição semântica relacionada às transações

de estado» Descrição de como a execução dos eventos

muda o valor dos atributos das classes

Page 23: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo OO-Method

– O Modelo Conceitual• Quatro visões que representam os requisitos funcionais:

– modelo de apresentaçãoEspecifica os requisitos de interface de

usuário, modelando uma interface abstrata que é independente de plataforma

Page 24: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo OO-Method

– O Modelo Conceitual• Suporte a interoperabilidade e interface do sistema

modelado com outros sistemas externos

• Com os quatro modelos básicos do esquema conceitual tem-se toda a infra-estrutura necessária para representar o sistema no contexto do espaço problema

Page 25: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo OO-Method

– O Compilador de Modelos• O OO-Method segue o processo ideal MDD de

transformação de modelos

• Precisa transformar o modelo conceitual em um modelo de implementação

• Compilador de Esquema Conceitual => Máquina de virtual de programação

• O OO-Method trata de modo completo e preciso todos os aspectos da compilação de modelo

Page 26: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo OO-Method

– OLIVANOVA• É uma ferramenta de apoio ao OO-Method

• Care Technologies

• É composta de duas principais ferramentas: o modelador e a máquina de transformação

Page 27: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo AndroMDA

– É uma ferramenta MDA OpenSource;– Desenvolvida sobre o Eclipse;– Possibilita a definição de transformação de

modelos PIM para PSM para depois atingir a geração de código fonte

– É possível gerar componentes para várias linguagens

Page 28: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Abordagens MDDo AndroMDA

– Não provê recursos de definição abstrata de interface usuário

– Usa conceito de sincronização de modelos (PIM e PSM)

– Trata questões de rastreabilidade e validação de modelos de forma limitada

Page 29: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Problemas e Desafios dos Processos MDD

o Visão Geral– Nível de maturidade insuficiente para se ter um

produto final de software com qualidade e 100% gerado automaticamente a partir dos requisitos

– Muitos desafios devem ser superados– MDA é apenas uma referência, pode ser usada por

outro processo de desenvolvimento de software

Page 30: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Problemas e Desafios dos Processos MDD

o Lições Aprendidas na Adoção de Soluções MDA– Muitas organizações perceberam um conjunto de

práticas e passos consistentes:• Examinar os modelos atualmente usados na empresa;• Identificar as transformações candidatas para a

automação;• Especificar os requisitos dessas transformações;• Criar os UML Profiles necessários;• Desenvolver o código da transformação;• Esboçar documentos de uso, empacotar e distribuir

Page 31: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Problemas e Desafios dos Processos MDD

o O Programa FastStart da OMG– Foi lançado pelo OMG– Ajuda as organizações a aprender e aplicar MDA

• Na arquitetura de seus sistemas • Na integração dos sistemas• Nos seus processos de desenvolvimento de software

Page 32: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Considerações Finaiso MDD, conforme a arquitetura MDA, foi concebido

para alcançar os seguintes benefícios:– Produtividade– Qualidade– Interoperabilidade– Portabilidade– Redução de Custos

Page 33: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Considerações Finaiso Outros processos de desenvolvimento de software

também tem essas metaso Nenhum deles consegue alcançá-las com mais

efetividade do que o processo dirigido a modeloso Em MDD já está explícita a idéia de automatização

Page 34: Desenvolvimento de Software Dirigido a Modelos Monique Soares

Dúvidas