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.

20<br />

que uma organização alcance os benefícios de qualidade e produtividade almejados por McIlroy<br />

e muitos outros desde então. Um estudo recente (ALMEIDA, 2007) identificou que a maioria das<br />

abordagens orig<strong>in</strong>adas na academia é focada em partes isoladas do problema, sem considerar a<br />

relação existente entre elas, e que os casos de sucesso relatados por empresas se devem a fatores<br />

muito específicos, não sendo genéricos o bastante para serem aplicáveis fora de seu contexto<br />

orig<strong>in</strong>al.<br />

Deve ficar claro que reutilização de software não envolve somente fatores técnicos, como<br />

a utilização de métodos, ferramentas ou métricas. Envolve também fatores não-técnicos, tais<br />

como educação, tre<strong>in</strong>amento, motivação, <strong>in</strong>centivos e comprometimento organizacional, além<br />

de um bom planejamento e o apoio gerencial (ALMEIDA et al., 2004).<br />

Dentre os fatores técnicos, destaca-se o papel do processo de software, que ajuda a <strong>in</strong>cluir<br />

no desenvolvimento uma maior capacidade de se lidar com as restrições de tempo e esforço,<br />

tornando-o mais parecido com engenharia e menos com arte (ROMBACH, 2000). Um processo<br />

que possa ser observado, controlado e constantemente melhorado pode contribuir para que<br />

os benefícios da reutilização sejam alcançados, por meio de práticas eficientes de trabalho<br />

dissem<strong>in</strong>adas facilmente entre os <strong>in</strong>divíduos de uma organização, sem depender de talentos<br />

<strong>in</strong>dividuais.<br />

A necessidade de um processo sistemático de reutilização<br />

Em termos de reutilização de software, faz-se necessário um método flexível, que possa ser<br />

adaptado para diferentes situações, que possua diretivas e suporte suficientes, e que não seja<br />

muito vago, caso contrário, o mesmo não irá atender às necessidades de variadas situações da<br />

<strong>in</strong>dústria sem uma forte <strong>in</strong>terpretação e suporte adicionais (BAYER et al., 1999).<br />

Essa op<strong>in</strong>ião é compartilhada por muitos autores da área de reutilização, podendo ser<br />

encontrada em relatórios de empresas (ENDRES, 1993; BAUER, 1993; GRISS, 1994, 1995;<br />

JOOS, 1994), “pesquisas <strong>in</strong>formais” (FRAKES; ISODA, 1994) e estudos empíricos (RINE, 1997;<br />

MORISIO; EZRAN; TULLY, 2002; ROTHENBERGER et al., 2003). Todos esses trabalhos mostraram<br />

que adotar um processo pode ser uma maneira efetiva de se alcançar os benefícios da<br />

reutilização de software.<br />

Porém, os processos existentes atualmente apresentam algumas falhas e falta de<br />

detalhes em atividades importantes, tais como o desenvolvimento para reutilização e o<br />

desenvolvimento com reutilização, além de ênfase em atividades específicas (análise, projeto<br />

ou implementação), e não no processo todo. Mesmo as recentes idéias de l<strong>in</strong>has de produto de<br />

software a<strong>in</strong>da não produziram consenso com relação a quais atividades (<strong>in</strong>clu<strong>in</strong>do entradas,

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

Saved successfully!

Ooh no, something went wrong!