Desenvolvimento de Software Dirigido a Modelos - PowerPoint PPT Presentation

About This Presentation
Title:

Desenvolvimento de Software Dirigido a Modelos

Description:

... Jude UML, Visual UML, etc. Vers o 4.0 (Preview) do AndroMDA permite a cria o e utiliza o de metamodelos no padr o EMF (Eclipse Model Framework) , ... – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 36
Provided by: alm84
Category:

less

Transcript and Presenter's Notes

Title: Desenvolvimento de Software Dirigido a Modelos


1
Desenvolvimento de Software Dirigido a Modelos
  • Agenda
  • Benefícios
  • Conceitos
  • Pontos de Vistas MDA CIM,PIM, PSM
  • Transformações e Mapeamentos em MDA
  • Transformações por Metamodelos
  • Transformações com UML Profile
  • Metamodelo MDA
  • Padrões OMG e a Arquitetura MDA
  • Abordagens MDD OO-Method e AndroMDA
  • O Programa FastStart da OMG
  • Problemas e Desafios dos Processos MDD
  • Almir Buarque

2
Conceitos Iniciais
  • Modelo
  • Um modelo de um sistema é a sua representação
  • ( especificação) funcional, estrutural e
    comportamental.
  • Dirigido a Modelos
  • Porque provê meios de usar modelos para
    direcionar o curso de entendimento, projeto,
    construção, distribuição, operação, manutenção e
    modificação de um sistema.
  • Arquitetura
  • Arquitetura de um sistema é a especificação de
    suas partes e conectores, além das regras de
    interação dessas partes usando os conectores.

3
Conceitos Iniciais
  • Plataforma
  • Uma plataforma é um conjunto de subsistemas e
    tecnologias que provê um conjunto coerente de
    funcionalidade através de interfaces e padrões de
    uso especificados, que qualquer aplicação
    (sistema) suportada por essa plataforma pode
    usar, sem ter que saber detalhes de como essa
    funcionalidade provida pela plataforma é
    implementada.
  • Ponto de Vista
  • Um ponto de vista de um sistema é uma técnica de
    abstração, usando um conjunto selecionado de
    conceitos arquiteturais e regras de estruturação
    que visa focar ou representar um aspecto
    (característica) dentro desse sistema.

4
Conceitos Iniciais
  • Arquitetura Dirigida a Modelos (MDA)
  • Arquitetura anunciada pelo grupo OMG em 2001 com
    o propósito de especificar sistemas através de
    Modelos e atender, de modo satisfatório, a
    necessidade cada vez mais emergente de
  • realizar manutenções em aplicações
  • integrá-las com outros sistemas
  • mudar suas infra-estruturas
  • alterar seus requisitos
  • lidar com a frequente evolução e criação de novas
    tecnologias

5
Benefícios do Desenvolvimento de Software
Dirigido por Modelos
  • Interoperabilidade
  • Portabilidade
  • Produtividade - Automatização
  • Facilita Manutenção
  • Validação/Verificação
  • Melhor Qualidade do Produto
  • Redução de Custo e Esforço Desenvolvimento

6
Pontos de Vista MDA
  • CIM Modelo Independente de Computação
  • - É uma visão do sistema a partir de um ponto de
    vista (viewpoint) independente de computação. O
    CIM não mostra detalhes da estrutura dos
    sistemas, sendo usualmente chamado de modelo de
    domínio ou modelo de negócio e usa, em sua
    especificação, um vocabulário familiar aos
    usuários do domínio (problema) em questão.
  • PIM Modelo Independente de Plataforma
  • - Foca na operação do sistema (modelo
    computacional), mas escondendo os detalhes
    necessários para implantar esse modelo numa
    plataforma específica. O PIM é único para o
    sistema e não muda quando se varia de uma
    plataforma para outra.

7
Pontos de Vista MDA
  • PSM Modelo Específico de Plataforma
  • Este modelo é uma visão do sistema que agrega
    características e elementos constituintes de uma
    plataforma específica, contendo informações da
    tecnologia utilizada na aplicação como a
    linguagem de programação, os componentes de
    middleware, a arquitetura de hardware e de
    software.
  • Para que isso seja possível é necessário o
    suporte de ferramentas que façam o mapeamendo
    adequado de uma especificação abstrata (PIM) para
    uma determinada plataforma.

8
Transformações e Mapeamentos em MDA
  • Outras Transformações Possíveis
  • PSM gt PIM (Engenharia Reversa)
  • PIM gt PIM, PSM gt PSM (Modelos de mesmo nível )
  • Implementação gt PSM (Engenharia Reversa)
  • PIM gt Implementação
  • PIM gt CIM ( Eng. Reversa)

9
Transformações por metamodelos
  • Transformações podem usar diferentes técnicas
  • UML Profiles, uso de padrões (patterns), marcas
    (markings), metamodelos e transformações
    automáticas( algoritmos )
  • Numa transformação por Metamodelos, como
    ilustrado na figura, modelo 1 é transformado num
    modelo 2, usando como entrada do processo o
    metamodelo A do modelo 1 e produzindo o modelo 2
    expresso em seu metamodelo B
  • Regras de mapeamentos precisas devem ser de
    definidas para que essa transformação seja
    possível.

10
Transformações com UML Profile
  • Em 2001, o OMG publicou a UML 2.0
  • Action Semantics
  • Modelagem de processos de negócios, ,
    arquiteturas distribuídas e sistemas heterogêneos
  • UML Profiles
  • UML Profile é um mecanismo de extensão UML que
    auxilia a transformação de modelos , por exemplo
    , de PIM para PSM específicos

11
UML Profiles da OMG
  • Atualmente muitas extensões já estão padronizadas
    pela OMG, algumas estão em processo de
    padronização e outras ainda em discussão

12
O Metamodelo MDA
13
Padrões OMG e a Arquitetura MDA
14
Camada Núcleo MDA - PIM
  • Unified Modeling Language (UML) padrão que
    define uma linguagem de modelagem geral orientada
    a objetos para especificação, construção e
    documentação de artefatos de sistemas complexos
    de software.
  • Common Warehouse Metamodel (CWM) padrão para
    armazenamento de dados que permite fácil
    manipulação dos mesmos entre ferramentas e
    plataformas de armazenamento em ambientes
    heterogêneos distribuídos.
  • Meta Object Facility (MOF) padrão que define uma
    linguagem abstrata para definição de linguagens
    de modelagem (metamodelos). Ela é utilizada para
    descrever modelos da UML, CWM e do próprio MOF,
    além de definir o formato de intercâmbio para
    modelos, base do padrão XMI (XML Metadata
    Interchange).

15
2ª Camada MDA - PSM
  • XML Metadata Interchange (XMI) padrão para o
    intercâmbio de modelos através do mapeamento da
    linguagem definida pelo padrão MOF para o padrão
    XML do World Wide Web Consortium (W3C).
  • Common Object Request Broker Architecture
    (CORBA) arquitetura que estabelece e simplifica
    a troca de dados entre sistemas distribuídos.
  • Na camada PSM, pode-se ter também outros padrões
    como JAVA EJB, Microsoft . NET, etc.

16
3ª Camada MDA - Serviços
  • Na camada mais externa, são exibidos os serviços
    que a maioria dos domínios de aplicações
    necessitam
  • Sistemas críticos de segurança, E-commerce,
    Financeiro, Saúde, Educação,etc...
  • Esses serviços podem ser de segurança,
    persistência, controle de transações, tratamentos
    de eventos, diretórios, etc.

17
Abordagens MDD
  • OO-Method
  • AndroMDA

18
OO-Method
  • Breve Histórico
  • A primeira versão do OO-Method foi introduzida em
    1992 através da tese de PhD de Oscar Pastor,
    juntamente com a da linguagem formal de
    especificação de sistemas de informação OASIS
  • O método cobre todas a fases do processo de
    desenvolvimento de software, das fases iniciais
    de obtenção de requisitos, projeto e geração do
    produto final de software numa plataforma
    específica.
  • O centro do desenvolvimento do software dirigido
    por modelos do OO-Method é o Esquema (Modelo)
    Conceitual , conforme afirmação do Prof. Antoni
    Olivé (2005)
  • Para desenvolver um sistema de informação é
    necessário e suficiente definir seu esquema
    conceitual

19
OO-Method
  • Toni Morgan, defende a idéia de usar Extreme
    Non-Programing como argumento de que a
    principal atividade no desenvolvimento de
    software é modelagem, e não programação, pois
    modelagem está no espaço do problema, enquanto
    programar está no espaço da solução.
  • O objetivo final é tornar verdadeira a
    sentença
  • Modelo é o Código, ao invés de o Código é
    o Modelo
  • Modelo Conceitual Executável representa de modo
    completo e consistente todos os aspectos
    estáticos, dinânicos e de interação (interface
    usuário) de um sistema
  • é compilado através de um compilador de Modelos.

20
XP versus XNP(MDD)
21
O processo básico de transformação
22
Trasnformações e Mapeamentos
23
MDA X OO-Method
24
Modelos OO-Method
  • Modelo Objeto Diagrama de Classes
  • Classes
  • Atributos
  • Precondições e Serviços
  • Restrições de Integridade
  • Relacionamento entre as Classes
  • Associação, Agregação e Composição
  • Herança
  • Agentes
  • Modelo Dinâmico
  • Diagrama de Transição de Estado Ciclo de vida
    dos objetos
  • Diagrama de Interação de Objeto
  • - Especifica as interações válidas entre os
    objetos através das transações, operações e
    gatilhos

25
Modelos OO-Method
  • Modelo Funcional
  • O modelo funcional especifica os aspectos
    funcionais do sistema através de
  • Descrição de como a execução dos eventos mudam o
    valor dos atributos das classes.
  • Acesso a dados de acordo com o Modelo Objeto
  • Definição de lógica seqüencial, Manipulação de
    classes, objetos e relacionamentos
  • Uso de operadores lógicos, aritméticos
  • Modelo de Apresentação
  • O modelo da apresentação especifica os
    requisitos de Interface de Usuário, modelando uma
    interface abstrata que é independente de
    plataforma ou dispositivo.

26
Modelo de Apresentação
27
OLIVANOVA
  • OO-Method é implementado através do produto
    OlivaNova da Care Technologies, composto de duas
    ferramentas
  • O modelador que permite
  • Modelar objetos e negócios
  • Modelar dados
  • Modelar integração
  • Modelar sistemas legados
  • Modelar regras e limitações
  • Definir conceitualmente interfaces do usuário
  • A máquina de transformação que implementa todo o
    processo de compilação de modelos do OO-Method,
    gerando código fonte na plataforma de destino.

28
OLIVANOVA x Outras Ferramentas MDD
29
AndroMDA
  • Ferramenta MDA Open Source (www.andromda.org/ )
  • Está desenvolvida sobre Eclipse.
  • Suporta arquiteturas como Spring, EJB, .Net,
    Hibernate, Struts, WebServices.
  • É possível gerar componentes para qualquer
    linguagem Java, .Net, HTML, PHP, C, etc
  • Pode ser utilizada pelos servidores de aplicação
    Jboss e TomCat.
  • suporta UML2.0.

30
AndroMDA
  • Cartuchos São Plugins que AndroMDA utiliza
    para fazer a transformação de um modelo PIM gt
    PSM em várias plataformas diferentes .
  • - Para cada plataforma(tecnologia) PSM alvo é
    necessário o desenvolvimento de um cartucho que
    basicamente consiste na criação de um UML Profile
    .
  • A ferramenta de melhor aceitação para modelar em
    UML e fazer a importação do metamodelo UML em
    XMI é a MagicDraw. Porém outras ferramentas
    podem ser utilizadas Poseidon UML, Argo UML,
    Jude UML, Visual UML, etc.
  • Versão 4.0 (Preview) do AndroMDA
  • permite a criação e utilização de metamodelos no
    padrão EMF (Eclipse Model Framework) ,
    possibilitando transformação de modelos PIM( não
    apenas UML) para modelos PSM , além de geração
    de código fonte.
  • ATL ( Atlas Transformation Language) Linguagem
    para transformações modelo-modelo (similar a QVT
    )
  • MOFScript para transformações model-text.
  • OpenMDX( www.openmdx.org) principal concorrente
    open source do AndroMDA

31
Lições Aprendidas na adoção de soluções MDA
  • Muitas organizações que, nos últimos anos, vêm
    utilizando com sucesso soluções MDA, perceberam
    que um conjunto de práticas e passos
    consistentes devem ser levados em conta em se
    adotar um processo MDD automatizado
  • Examinar os modelos atualmente usados na empresa
    no seu processo de desenvolvimento e a
    conexão/correlação semântica entre os elementos
    desses modelos.
  • Identificar as transformações candidatas para
    automação
  • Especificar (documentar) os requisitos dessas
    transformações
  • Criar os UML Profiles necessários
  • Desenvolver o código da(s)s transformação(coes)
  • Esboçar documentos de uso, empacotar e distribuir

32
O Programa FastStart da OMG
  • Recentemente, o grupo OMG lançou o programa
    FastStart para ajudar as organizações
    aprenderem sobre MDA e aplicar MDA nas
    arquiteturas de seus sistemas, na integração dos
    sistemas e nos seus processos de desenvolvimento
    de software.
  • Durante programa FastStart , a organização
    recebe consultores da OMG para realizarem as
    seguintes atividades
  • Análise inicial MDA
  • Revisão da Arquitetura Empresarial MDA
  • Plano de Transição MDA
  • Seminários Executivos MDA
  • Prática MDA
  • Essas atividades geralmente duram 5 semanas e
    visam capacitar a empresa em MDA para que ela
    própria, sem ajuda de provedores externos,
    desenvolva seu processo MDA/MDD

33
Problemas e Desafios dos Processos MDD
  • Suporte a modelos orientados a goals,
    negócios, agentes e aspectos.
  • Elevação dos níveis de abstrações dos modelos
  • Melhor precisão semântica dos modelos em relação
    às características estáticas, dinâmicas e de
    apresentação (interação-usuário) dos sistemas
  • Melhores mapeamentos entre os modelos
  • Melhor transformação automática de modelos
    (automação)
  • Melhor suporte à Validação de Modelos
  • Melhor integração com as plataformas específicas
    (PSM)
  • Melhor e maior percentagem de código fonte
    gerado
  • Melhor suporte à rastreabilidade
  • Melhor suporte à engenharia reversa
  • Suporte à computação autonômica
  • Melhor Suporte a Testes Dirigido a Modelos
  • Suporte a requisitos não-funcionais

34
Considerações Finais
  • O Processo MDD ainda está na sua infância
  • Nem as linguagens (modelos) e nem as ferramentas
    se desenvolveram o suficiente para concretizar
    todas as suas promessas feitas.
  • O processo MDA, padronizado pela OMG, é apenas
    uma referência e pode suportar qualquer outro
    processo específico de desenvolvimento de
    software existente (RUP, XP, OPEN, Agentes,
    Aspectos, Formais, etc.) desde que se adapte e
    seja dado um foco especial em modelos e suas
    transformações.
  • Especialistas em Engenharia de Software e a
    própria OMG, apostam que MDD/MDA será o processo
    mais utilizado pelas Empresas nos próximos anos
    (futuro).

35
FIM
Write a Comment
User Comments (0)
About PowerShow.com