EVOLUÇÃO DE SOFTWARE

quinta-feira, 19 de abril de 2007

Version Models for Software Configuration Management

O artigo escrito por Reidar Conradi e Bernhard Westfechtel [1] trata de um aspecto fundamental no desenvolvimento de software e que muitas vezes não recebe a atenção merecida: A Gerência de Configuração de Software (GCS).
Podemos definir GCS como metodologia para controlar e gerenciar um projeto de desenvolvimento de software. A importância dessa disciplina e reconhecida por padrões como CMM e ISO 9000, podendo servir basicamente para 2 propósitos: suporte ao gerenciamento e suporte ao desenvolvimento.
No primeiro caso, a GCS identifica produtos e suas versões, apoia o controle de mudanças, auditorias entre outras atividades. No suporte ao desenvolvimento, a GCS fornece aos desenvolvedores funcionalidades que auxiliam na execução de mudanças.
No debate em sala de aula, foi importante o entendimento de espaço de produto e espaço de versão dentro da GCS. Basicamente, um modelo de versão define os objetos a serem versionados, identificam e organizam versões, assim como operações de recuperação de versões existentes e construção de novas versões. O espaço de produto é constituído pelos objetos de software e seus relacionamentos. O espaço de versões organiza as versões desses objetos. Uma base de objetos versionados combina ambos os espaços.
Ao ler o artigo, pude perceber a complexidade da tarefa de GCS e o papel fundamental que ela exerce na evolução do software, principalmente no que tange a rastreabilidade dos artefatos produzidos. O artigo também introduz uma série de conceitos, como: versões, configurações, mudanças, Grafos and/or entre outros.
Por fim, realizou-se uma pesquisa por ferramentas para apoiar a Gerência de Configuração de Software.

Ferramentas de controle de versão:

ClearCase - Rational
http://www-306.ibm.com/software/awdtools/clearcase/

CVS - Open Source
http://ximbiot.com/cvs/cvshome/

Perforce Software
http://www.perforce.com/

StarTeam - Borland
http://www.borland.com/br/products/starteam/index.html

GnuArch - Open Source
http://www.gnuarch.org/revc/index.html


Ferramentas de Controle de Mudanças:

JIRA - Atlassian
http://www.atlassian.com/software/jira/

ClearQuest - Rational
http://www-306.ibm.com/software/awdtools/clearquest/index.html

Bugzilla - OpenSource
http://www.bugzilla.org/

Perforce Software
http://www.perforce.com/

Mantis - Open Source
http://www.mantisbt.org/


Ferramentas de Integração Contínua

Apache Ant Project - Open Source
http://ant.apache.org/

FinalBuilder - VSoft
http://www.finalbuilder.com/finalbuilder.aspx

BuildForge - Rational
http://www-306.ibm.com/software/awdtools/buildforge/enterprise/

Apache Maven Project - Open Source
http://maven.apache.org/

Apache Gump Project - Open Source
http://gump.apache.org/


As ferramentas comerciais apresentam em geral um maior número de funcionalidades, porém o custo da licença as torna uma realidade distante para pequenas organizações. Por outro lado, as soluções open source possuem diversas vantagens, como custo mais baixo, qualidade, independência de fornecedor, entre outras, tornando-se interessante não somente para pequenas e médias organizações.


Referência:

[1] CONRADI, R., WESTFECHTEL, B. " Version Models for Software Configuration Management". Trondheim - October 1995.

0 Comentários:

Postar um comentário

Assinar Postar comentários [Atom]



<< Página inicial