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.

3 Reutilização de software e<br />

desenvolvimento orientado a modelos<br />

Reutilização de software e desenvolvimento orientado a modelos são duas áreas dist<strong>in</strong>tas,<br />

mas com muitos objetivos em comum. Ambas procuram mais qualidade e produtividade no<br />

desenvolvimento de software por meio da redução de esforço repetitivo e da adoção de soluções<br />

que agregam conhecimento prévio. No caso da reutilização, busca-se encapsular, em forma de<br />

artefatos de software diversos, <strong>in</strong>formações e conceitos reutilizáveis de um domínio, <strong>in</strong>clu<strong>in</strong>do<br />

algoritmos, estruturas de dados, funções, etc. No caso do desenvolvimento orientado a modelos,<br />

busca-se encapsular também o conhecimento necessário para se produzir esses artefatos, em<br />

forma de transformações que mapeiam conceitos de mais alto nível até o código.<br />

É particularmente <strong>in</strong>teressante o fato de que o desenvolvimento orientado a modelos pode<br />

promover a reutilização em mais alto nível, conforme sempre defendido e idealizado por<br />

<strong>in</strong>úmeros autores (NEIGHBORS, 1980; KRUEGER, 1992; GRISS, 1995; FRAKES; ISODA, 1994;<br />

JACOBSON; GRISS; JONSSON, 1997). Este fato evidencia o potencial que o MDD possui para<br />

elevar os níveis de reutilização.<br />

Nesta tese, foram identificados dois pontos importantes de <strong>in</strong>tersecção entre a reutilização<br />

e o MDD: (i) a análise de escopo, comunalidade e variabilidade (análise SCV); e (ii) a<br />

implementação da variabilidade. Estes pontos tomam formas dist<strong>in</strong>tas em cada abordagem,<br />

conforme descreve-se a seguir.<br />

3.1 Análise SCV<br />

Uma das pr<strong>in</strong>cipais atividades necessárias para projetos de reutilização em grande escala<br />

é chamada de análise SCV (Scope, commonality, and variability ou escopo, comunalidade e<br />

variabilidade). Ela oferece aos engenheiros de software uma maneira sistemática de pensar<br />

sobre e identificar a família de produtos que estão criando, ajudando, entre outras coisas<br />

(COPLIEN; HOFFMAN; WEISS, 1998):<br />

57

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

Saved successfully!

Ooh no, something went wrong!