Upload
camille-camejo
View
214
Download
0
Embed Size (px)
Citation preview
Desenvolvimento de Software Desenvolvimento de Software Dirigido a ModelosDirigido a Modelos
Monique Soares
Agenda
o Introduçãoo Arquitetura Dirigida a Modeloso Abordagens MDDo Problemas e Desafios dos Processos
MDDo Considerações Finais
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.
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
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
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
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.
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
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
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
Arquitetura Dirigida a Modelos
o Transformações em MDA
Arquitetura Dirigida a Modelos
o Metamodelo MDA
Arquitetura Dirigida a Modelos
o Transformações de Mapeamentos por Metamodelos
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
Arquitetura Dirigida a Modelos
o Padrões OMG e a Arquitetura MDA
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”
Abordagens MDDo OO-Method
– O Processo Básico de Transformação• Distinção clara entre o espaço problema e solução
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Dúvidas