A MDA permite construir
sistemas a partir de modelos. Para isso, são definidos modelos independentes de
plataforma e, através de um conjunto de transformações, chega-se à
implementação para uma plataforma específica. A criação de um data warehouse é
uma atividade que envolve diferentes desafios. Neste artigo apresentaremos como
enfrentar alguns deles através do uso da MDA no apoio à definição de soluções
de Data Warehouse. A discussão apresentada ganha relevância uma vez que a
criação do modelo independente de
plataforma propicia, em um primeiro momento, maior enfoque nas necessidades do
negócio; a solução tende a facilitar o reuso, e utilizar modelos no
desenvolvimento de software torna a atividade mais organizada e disciplinada
Autores:Vanusa da Silva Santana, Wilson Vendramel e Maria Beatriz
Felgar de Toledo
Uma característica inerente do produto de software é a sua complexidade. Não raro, os sistemas consistem de vários componentes e subsistemas inter-relacionados, com diferentes tecnologias e soluções definidas de forma isolada.
Esses fatores aumentam as dificuldades de adaptabilidade do software em face às mudanças de requisitos ou ambiente computacional. De fato, ao longo dos anos, diversas abordagens têm sido propostas, visando melhorar o processo de desenvolvimento de software.
Em 2000, a OMG (Object Management Group) publicou um artigo apresentando a Model-Driven Architecture (MDA), que descrevia uma visão para o desenvolvimento de software baseado em acoplar modelos para construir sistemas completos.
Essa abordagem emprega as tecnologias que suportam os padrões da OMG, como por exemplo, a UML. E, desde então, a OMG têm disponibilizado melhorias para o alinhamento dessas tecnologias com os conceitos da MDA.
A MDA baseia-se na premissa de que sistemas devem ser desenvolvidos a partir de modelos, independentes de plataforma, que objetivam lidar com o projeto de forma integrada e facilitar a interoperabilidade das soluções .
Este é um passo evolutivo que consolida uma série de tendências que têm gradualmente melhorado a forma dese produzir software [5].
Uma vez que a MDA separa especificação do negócio da implementação, essa arquitetura tende a desenvolver sistemas que atendam melhor às necessidades do negócio. Neste contexto, a MDA também facilita a evolução do sistema e adaptabilidade às mudanças tecnológicas.
Este artigo apresenta a aplicação da Model-Driven Architecture (MDA) no projeto de um banco de dados multidimensional, fornecendo uma solução para a criação da base de dados e do processo de carga a partir de um único modelo independente de plataforma, apresentando as devidas transformações.
Por meio do estudo de algumas características da MDA, mostra que a abordagem pode consolidar as necessidades dos negócios e agregar ao projeto de software a característica de reusabilidade.
Arquitetura orientada por modelos
A MDA (Model-Driven Architecture) permite construir sistemas computacionais a partir de modelos. Esses modelos são especificações formais de uma função ou comportamento do sistema.
Eles devem ter notações bem definidas, como as especificadas pela UML, que conferem semântica precisa ao modelo [1]. A abordagem MDA considera modelos como ativos e enfoca o desenvolvimento do software em alto nível de abstração, tornando o sistema independente de plataforma de software.
A MDA é atualmente [6]:
· Uma iniciativa da OMG para desenvolver padrões baseados na ideia de que a modelagem é uma base melhor para sistemas de desenvolvimento e de manutenção;
· Uma marca para padrões e produtos que aceitam esses padrões;
· Um conjunto de tecnologias e técnicas associadas a esses padrões.
MDAé uma abordagem para desenvolvimento de sistema, que aumentao poder dos modelos.Édirigido à modelosporque proporcionameiospara a utilização de modelospara direcionar o cursode entendimento,design, construção,implantação,operação, manutenção e modificação.
Tais modelos são uma parte direta do processo de produção. Em tal ambiente, os papéis de modelador e programador não são tão distintas. A atividade de modelagem é uma atividade de programação.
Desse modo, a MDA separa especificação da funcionalidade da especificação da implementação. Provê os meios para usar modelos em todo o ciclo de desenvolvimento do software.
Existem diversas ferramentas que implementam MDA, tais como AndroMDA, Enterprise Architect, OptimalJ, entre outras.
Porém, a simples geração automática de código-fonte a partir de modelos não é suficiente para classificar uma tecnologia como ferramenta MDA [3]. O ciclo de desenvolvimento com MDA envolve a adoção de diversos aspectos conceituais, conforme considerado neste trabalho.
Ciclo de Desenvolvimento MDAAs fases do processo de desenvolvimento com MDA não são muito diferentes do processo tradicional A diferença encontra-se nos artefatos produzidos. Estes artefatos são modelos formais. Os modelos centrais da MDA serão abordados a seguir.
CIM (Modelo Independente de Computação)Esse modelo representa os requisitos do sistema e a situação em que ele será utilizado. Porém, ele não mostra detalhes da estrutura. Seu enfoque é nos conceitos do negócio, completamente independente de alguma ideia computacional [1].
Esses modelos são chamados de modelo de domínio ou modelo de negócio. Eles são úteis para se compreender o problema do domínio e apresentar o que se espera que o sistema faça.
PIM (Modelo Independente de Plataforma)O Modelo Independente de Plataforma (PIM) descreve o ...