Artigo Engenharia de Software 14 - Gerência de Configuração

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Neste artigo são apresentados os principais conceitos de gerência de configuração de software e onde esses se encaixam no processo de desenvolvimento de software.

Esse artigo faz parte da revista Engenharia de Software 14 edição especial. Clique aqui para ler todos os artigos desta edição

 

Projeto

Gerência de Configuração

Definições Iniciais

 

 

De que trata o artigo:

 

Neste artigo são apresentados os principais conceitos de gerência de configuração de software e onde esses se encaixam no processo de desenvolvimento de software. Também são apresentadas descrições das principais tarefas de gerência de configuração de software, tais como definição e implementação do processo, identificação da configuração, controle da configuração, relato da situação da configuração, avaliação da configuração e controle de subcontratados e fornecedores.

 

Para que serve:

 

Para que exista um maior controle no processo de desenvolvimento, e não haja inconsistências nos itens considerados importantes para o projeto, é necessário que sejam estabelecidas normas para controlar a criação e alteração dos itens de configuração.

 

Em que situação o tema é útil:

 

O tema é útil para qualquer equipe envolvido no desenvolvimento de software que necessite de um controle mínimo sobre os diferentes artefatos que são gerados ao longo do desenvolvimento.

 

 

 

Durante o desenvolvimento de software, uma grande quantidade de informações é produzida, tais como: especificações, planos de projeto, arquivos de código fonte, casos e planos de testes, manuais, arquivos de dados, entre outros. Cada um desses documentos produzidos poderá ser considerado um item de configuração de software. A configuração de software é composta pelos itens de configuração produzidos durante o processo de engenharia de software, ou seja, no processo de desenvolvimento disciplinado de sistemas (Pressman, 2005).

Os itens de configuração podem sofrer alterações ao longo do ciclo de vida do software, gerando novas versões, e até mesmo a criação de novos itens. Para que exista um maior controle no processo de desenvolvimento, e não haja inconsistências nos itens considerados importantes para o projeto, é necessário que sejam estabelecidas normas para controlar a criação e alteração dos itens de configuração. A essas normas dá-se o nome de gerência de configuração de software (Tichy, 1994).

A gerência de configuração vem sendo estudada desde os anos sessenta (Berlack, 1992). Inicialmente, era aplicado da mesma forma para software e hardware, sendo que no final dos anos setenta já havia padrões de gerência de configuração específicos para software.

A gerência de configuração de software é um processo abrangente, ao mesmo tempo técnica e gerencial, que se aplica a todas as atividades de engenharia de software, e pode ser visto como um dos principais elementos que compõem o sistema de garantia de qualidade de uma empresa de informática (Leblang, 1988). O processo visa identificar e definir os itens considerados relevantes ao projeto, controlar as modificações dos itens, registrar e reportar a situação dos itens e das requisições das alterações, garantir a integridade e consistência dos itens e controlar o armazenamento, manipulação, liberação e entrega dos itens (ISO/IEC 12207, 1995).

Os ganhos em tempo e qualidade pela aplicação da gerência de configuração são comprovados e mensuráveis. Esses ganhos podem ser reconhecidos constatando-se que o uso de gerência de configuração de software facilita a comunicação entre as equipes de desenvolvedores relatando a situação do software a cada momento, assim como as alterações que foram efetuadas. Isso traz como conseqüência a redução no esforço necessário para efetuar alterações e a redução no número de erros. O resultado final é melhor cumprimento dos cronogramas, redução nos custos e melhora na qualidade do software (Berlack, 1992).

Algumas normas e modelos internacionais como a ISO/IEC 12207, ISO/IEC 15504 e o CMMI citam a gerência de configuração de software como requisito para que uma empresa inicie a melhoria de qualidade do processo de desenvolvimento de software. Dessa forma a gerência de configuração de software vem ocupando cada vez mais espaço no escopo de desenvolvimento de software (Berczuk, 2003).

A implantação da Gerência de Configuração não costuma ser fácil (Micallef, 1996). Isso ocorre pela grande diversidade de normas, padrões e modelos que não seguem um mesmo padrão na definição das atividades. O custo de implantação também costuma ser bastante alto, impossibilitando que instituições com menos recursos realizem a gerência de configuração de software (Berczuk, 2003).

Além disso, devido ao aumento de interesse pela implantação da gerência de configuração de software, existem atualmente no mercado várias ferramentas que se propõem a auxiliar a execução de práticas e processos de gerência de configuração (Lampen, 1988). No entanto, a maioria dessas ferramentas cobre apenas uma parte das atividades necessárias para implantação da gerência de configuração, confundindo muitas vezes o usuário leigo que vê nessas ferramentas a solução para todos os seus problemas de gerência de configuração.

Neste contexto, neste artigo são apresentados os principais conceitos de gerência de configuração de software e onde esses se encaixam no processo de desenvolvimento de software.

Também são apresentadas descrições das principais tarefas de gerência de configuração de software, tais como definição e implementação do processo, identificação da configuração, controle da configuração, relato da situação da configuração, avaliação da configuração e controle de subcontratados e fornecedores.

Conceitos Fundamentais

O desenvolvimento de um software pode ser organizado de várias formas. A cada uma dessas formas de organização dá-se o nome de um paradigma de ciclo de vida. Os paradigmas mais estudados são o clássico, a prototipação, o modelo espiral, as técnicas de quarta geração e os modelos evolutivos tais como RUP e XP (Pressman, 2005).

Um processo de desenvolvimento de software, independente do paradigma de ciclo de vida adotado, inclui as fases de engenharia de sistemas, análise de requisitos, projeto de software, codificação, testes e manutenção (Pressman, 2005). Na Tabela 1 é apresentada uma breve descrição de cada uma dessas fases.

 

Fases

Descrição

Engenharia de Sistemas

Coleta dos requisitos em nível do sistema, com uma pequena quantidade de projeto e análise de alto nível.

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?