15.04.2013 Views

A Model-Driven Software Reuse Approach (in portuguese)

A Model-Driven Software Reuse Approach (in portuguese)

A Model-Driven Software Reuse Approach (in portuguese)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

70<br />

Centrada em um domínio e seus subdomínios... Um domínio compreende um conjunto de<br />

aplicações similares, que atendem a uma determ<strong>in</strong>ada área de problema do mundo real<br />

(NEIGHBORS, 1980). Desta forma, focando-se em um domínio, tem-se um escopo bem<br />

def<strong>in</strong>ido para se planejar a reutilização. O desenvolvimento centrado no domínio <strong>in</strong>clui<br />

a identificação das características comuns do domínio, a criação de modelos do domínio,<br />

o projeto arquitetural centrado no domínio, e a implementação de artefatos que sejam<br />

reutilizáveis no contexto do domínio. Além disso, um domínio pode conter subdomínios<br />

dist<strong>in</strong>tos, cada um com maior ou menor potencial de automação. A abordagem busca<br />

identificar esses subdomínios e prover meios para gerenciar seu ciclo de vida e sua<br />

<strong>in</strong>tegração, considerando a arquitetura f<strong>in</strong>al composta por diferentes artefatos de software,<br />

tais como modelos, componentes, transformações e geradores de código;<br />

Com foco em aplicações concretas... Identificar o número e o tamanho dos sistemas que<br />

fazem parte do domínio é uma tarefa que, se realizada sem critério, pode levar a alguns<br />

problemas. Uma análise livre tende a <strong>in</strong>cluir diversos requisitos e sistemas que, apesar<br />

de serem relacionados e pert<strong>in</strong>entes ao domínio em questão, podem nunca fazer parte<br />

de uma aplicação desenvolvida pela organização. Assim, o escopo do domínio deve ser<br />

restrito a aplicações e produtos de software concretos, e não idéias e conceitos gerais do<br />

domínio. A análise deve focar em aplicações existentes, futuras e potenciais (CLEMENTS;<br />

NORTHROP, 2002; ALMEIDA et al., 2007b), buscando coletar, organizar, armazenar e<br />

analisar as experiências em sua construção, conforme prevê a engenharia de domínio<br />

(CZARNECKI; EISENECKER, 2000);<br />

Elevando a importância dos modelos... Os artefatos reutilizáveis desenvolvidos não<br />

devem se restr<strong>in</strong>gir a código-fonte apenas, uma vez que o desenvolvimento centrado<br />

no código-fonte apresenta diversos problemas, como discutido na Seção 2.2. Assim, a<br />

abordagem deve elevar o nível de importância dos modelos no processo (MELLOR; CLARK;<br />

FUTAGAMI, 2003), de forma que possam não somente ser utilizados como mecanismos de<br />

comunicação entre as equipes e guias para o desenvolvimento de software, mas também<br />

sirvam como entradas para mecanismos automatizados de transformação de software e<br />

geração de código (SCHMIDT, 2006); e<br />

Encapsulando o conhecimento em diferentes formas... Como resultado, a <strong>in</strong>fraestrutura de<br />

reutilização que é produzida pela abordagem <strong>in</strong>clui não somente componentes de código,<br />

mas também artefatos do MDD:<br />

1. L<strong>in</strong>guagens e ferramentas de modelagem específicas de domínio: consistem de<br />

l<strong>in</strong>guagens com poder expressivo capaz de representar os conceitos do domínio, e

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!