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.
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,