Controle de Versão e Requisitos de Software

Como lidar com o ciclo de vida dos requisitos sem perder o controle do projeto

Compartilhe!

Quando falamos de Controle de Versão de Requisitos de Software muitos profissionais “estranham” um pouco, pois na nossa cultura de produção de software, o controle de versão geralmente é mais aplicado ao modelo de código fonte e ao software executável produzido a partir deste modelo.

Produzir software é um processo de refinamento contínuo, que se dá através da produção de modelos em diferentes níveis de abstração. Obs.: sobre refinamento contínuo podemos ver um pouco mais aqui.

Então, produzimos um modelo em um nível de abstração específico, para algum outro profissional produzir outro modelo a partir deste, em um nível de abstração mais “próximo” do que o software será “de fato” (“de fato” = software executável).

Por exemplo: um Analista produz um diagrama de classes e outro constrói estas classes no modelo de código fonte. Neste exemplo, o modelo de classes (diagrama por exemplo) está num nível de abstração menos “próximo” do software executável que as classes implementadas, que já estão “dentro” do código fonte e com os devidos ajustes para funcionarem na estrutura do sistema.

Controle de Versão e Processo de Desenvolvimento

O que irá definir quais os modelos que serão produzidos durante a produção do software será o processo de desenvolvimento adotado pela empresa que fará o trabalho.

Os processos de desenvolvimento variam ao infinito: ainda temos muitas empresas que a partir de um telefonema já parte para a construção (loucura total \0/), e também ainda temos muitas empresas que fazem dezenas de cerimônias antes de especificarem os requisitos, e depois fazem duas mil coisas até chegar no software executável (quanto chegam – loucura total também \0/).

curso-engenharia-requisitos-desconto-200-reais-vagas

Mas independente dos modelos produzidos no projeto, conforme o que o processo de desenvolvimento utilizado pela empresa define, todos os modelos devem ser versionados, possuir gestão de suas mudanças, e isso é feito através do controle de suas versões.

Sem controlar a versão do que se produz as confusões e retrabalho serão apenas uma questão de tempo.

E como fazer com os Requisitos de Software?

Requisitos de Software são a base de todo software. Tudo em um escopo tem um propósito de negócio, senão não teria razão de existir. Este propósito são os requisitos, que precisam ser atendidos, e materializados no software executável.

E como qualquer outro modelo, os requisitos sofrem mudanças ao longo do tempo. Alguns requisitos vão para fora do escopo, outros entram no escopo, e outros se mantém mas sofrem alterações. Todo software é dinâmico, seu escopo sofre alterações constantes durante seu ciclo de vida.

E neste contexto, controlar a “vida” dos requisitos é fundamental; isso é controlar o escopo do software. Sem este controle, fatalmente haverão problemas, pois perde-se a referência do “objeto” do sistema.

No vídeo abaixo temos um breve papo com nossos alunos do curso de Engenharia de Requisitos, onde abordo um pouco sobre o controle de versão de requisitos de software.

Espero que o conteúdo tenha sido útil, e fico à disposição para falarmos a respeito!

Grande abraço!

Engenharia de Software