Carregar apresentação
1
Desenvolvimento de Software Dirigido a Modelos
Monique Soares
2
Agenda Introdução Arquitetura Dirigida a Modelos Abordagens MDD
Problemas e Desafios dos Processos MDD Considerações Finais
3
Objetivo Geral do Capítulo
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.
4
Introdução Modelar é uma atividade essencial da Engenharia de Software
Na década de 1970 os métodos formais difundiram o desenvolvimento de software a partir de modelos formais matemáticos Em 2001 o OMG especificou a MDA, definindo assim uma nova instância do processo MDD
5
Maior qualidade do produto
Introdução 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
6
Introdução 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
7
Introdução 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 MDD Quando de fato o principal objetivo MDD é transformar modelos.
8
Introduçã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
9
Arquitetura Dirigida a Modelos
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
10
Arquitetura Dirigida a Modelos
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
11
Arquitetura Dirigida a Modelos
Transformações em MDA
12
Arquitetura Dirigida a Modelos
Metamodelo MDA
13
Arquitetura Dirigida a Modelos
Transformações de Mapeamentos por Metamodelos
14
Arquitetura Dirigida a Modelos
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
15
Arquitetura Dirigida a Modelos
Padrões OMG e a Arquitetura MDA
16
Abordagens MDD 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”
17
Abordagens MDD OO-Method O Processo Básico de Transformação
Distinção clara entre o espaço problema e solução
18
Abordagens MDD 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
19
Abordagens MDD OO-Method O Modelo Conceitual modelo objeto,
Quatro visões que representam os requisitos funcionais: modelo objeto, modelo dinâmico, modelo funcional e modelo de apresentação
20
Abordagens MDD OO-Method O Modelo Conceitual modelo objeto
Quatro visões que representam os requisitos funcionais: modelo objeto Especifica as propriedades estáticas do sistema, definido pelo diagrama de configuração de classe
21
Abordagens MDD OO-Method O Modelo Conceitual modelo dinâmico
Quatro visões que representam os requisitos funcionais: modelo dinâmico Representa 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
22
Abordagens MDD OO-Method O Modelo Conceitual modelo funcional
Quatro visões que representam os requisitos funcionais: modelo funcional Especifica 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
23
Abordagens MDD OO-Method O Modelo Conceitual modelo de apresentação
Quatro visões que representam os requisitos funcionais: modelo de apresentação Especifica os requisitos de interface de usuário, modelando uma interface abstrata que é independente de plataforma
24
Abordagens MDD 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
25
Abordagens MDD 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
26
Abordagens MDD 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
27
Abordagens MDD 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
28
Abordagens MDD 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
29
Problemas e Desafios dos Processos MDD
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
30
Problemas e Desafios dos Processos MDD
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
31
Problemas e Desafios dos Processos MDD
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
32
Considerações Finais MDD, conforme a arquitetura MDA, foi concebido para alcançar os seguintes benefícios: Produtividade Qualidade Interoperabilidade Portabilidade Redução de Custos
33
Considerações Finais Outros processos de desenvolvimento de software também tem essas metas Nenhum deles consegue alcançá-las com mais efetividade do que o processo dirigido a modelos Em MDD já está explícita a idéia de automatização
34
Dúvidas
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.