A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
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