A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvimento de Software Dirigido a Modelos

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento de Software Dirigido a Modelos"— Transcrição da 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


Carregar ppt "Desenvolvimento de Software Dirigido a Modelos"

Apresentações semelhantes


Anúncios Google