Desenvolvimento de Software Dirigido a Modelos

Slides:



Advertisements
Apresentações semelhantes
Engenharia de Software
Advertisements

Engenharia de Software
Raphael Gatti Thomás Bryan
O Processo Praxis 3.0 Processos de Software 25/03/2017
Identificando requisitos
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Análise e Projeto de Sistemas I
Engenharia de Software
Centrado na arquitetura
Metodologias Equipe do Curso de ES para SMA
Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 7 de abril de.
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
Professora: Aline Vasconcelos
Análise e Projeto de Sistemas
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Introdução Visão Geral do Método.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Como Desenvolver Sistemas de Informação
Principios e Conceitos de Projeto
Engenharia de Software
Classes e objetos Modelagem
CONCEITOS Modelo de Dados
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Universidade Federal de Lavras - UFLA
Arquitetura de software
Fase de Elaboração: Fluxo de Requisitos
Processo Praxis – Fase de Concepção
Análise e Projeto de Sistemas
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Arquitetura do Software
Engenharia de Software
Projeto de Banco de Dados
Heron Vieira Aguiar “Seminário da disciplina MDA” Julho de 2006
PSBD II Projeto de Sistemas de Banco de Dados II
Bruno Silva Desenvolvido a partir de
Modelagem Arquitetural e a Visão 4+1
O Processo Unificado (UP)
Banco de Dados Aplicado ao Desenvolvimento de Software
Padrão- MVC Model, View, Controller
Engenharia de Software
RUP - Cap. 4 – Processo Centrado na Arquitetura
METODOLOGIA, MÉTODOS E FERRAMENTAS
Processos de Software.
Técnicas e Projeto de Sistemas
Ferramentas de Suporte a MDD: Um Quadro Comparativo
Integração de Ferramentas CASE
Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael Maia Ana Paula Blois Cláudia Werner Grupo de Reutilização de Software Outubro/2005.
UML e a Ferramenta Astah
Caso de Sucesso: Lockheed Martin Aeronautics  Usou MDA para desenvolver o software de missão modular do F-16. Objetivo:  Obter compatibilidade cross-platform;
MDA – Model Driven Architecture Jean Elder – RARCS (2013-1)
Modelo de Análise e Projeto
Objetos Distribuídos Frameworks Orientados a Objetos.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Analisar Serviços Vítor Braga – Computation Independent Model (CIM) Platform Independent Model (PIM) Platform Specific Model (PSM) MDA.
Profa. Reane Franco Goulart. É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro.
Qualidade de Produtos de Software
Projeto de Banco de Dados
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
PADROES DE PROJETO PROF. OSIEL MARLON. PADRÕES DE PROJETO INTRODUÇÃO Padrões de projeto têm emergido como uma das mais promissoras abordagens para a melhoria.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/38 Análise e Projeto de Sistemas Introdução à Análise e ao Projeto de Software.
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
MDA na Prática Flávia Durans Pitta Marinho
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
CMMI Capability Maturity Model Integration
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Desenvolvimento de Software Dirigido a Modelos Monique Soares

Agenda Introdução Arquitetura Dirigida a Modelos Abordagens MDD Problemas e Desafios dos Processos MDD Considerações Finais

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.

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

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

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

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.

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

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

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

Arquitetura Dirigida a Modelos Transformações em MDA

Arquitetura Dirigida a Modelos Metamodelo MDA

Arquitetura Dirigida a Modelos Transformações de Mapeamentos por Metamodelos

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

Arquitetura Dirigida a Modelos Padrões OMG e a Arquitetura MDA

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”

Abordagens MDD OO-Method O Processo Básico de Transformação Distinção clara entre o espaço problema e solução

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dúvidas