| Introdução
Durante o ciclo de vida do desenvolvimento, o software passa
por uma série de modificações, desde sua
concepção à implantação.
Sob este aspecto, a
Gerência de Configuração de Software (CGS)
vem a definir critérios que permitam realizar tais
modificações mantendo-se a consistência
e a integridade do software com as especificações.
Ela permite minimizar
os problemas surgidos durante o ciclo de vida do software
através de um controle sistemático sobre as
modificações. Não é objetivo da
GCS coibir as modificações, pelo contrário,
é facilitá-las. Procura-se apenas cuidar para
que elas ocorram de forma sistemática e controlada
para evitar, ou minimizar, problemas.
Em geral a GCS é
aplicada quando o processo de desenvolvimento é bem
definido, com atividades agrupadas em fases constituídas
por objetivos bem definidos e documentados. Neste contexto,
GCS atua como um suporte sobre o qual as fases do desenvolvimento
são conduzidas e os produtos controlados.
Aplicar um plano de
gerência de configuração consiste em estabelecer
normas, ferramentas e templates que permitam gerenciar de
maneira satisfatória os itens de configuração
de um sistema.
Entende-se como item
de configuração “Cada um dos elementos
de informação que são criados durante
o desenvolvimento de um produto de software, ou que para este
desenvolvimento sejam necessários, que são identificados
de maneira única e cuja evolução é
passível de rastreamento” (Pressman em [PRE 92]).
Nesta definição,
tanto os documentos como os arquivos-fonte que compõem
um produto de software são Itens de configuração
(IC), assim como são ICs também as ferramentas
de software necessárias para o desenvolvimento do produto
em questão.
Se o item de configuração
for composto exclusivamente de software, ele é caracterizado
como Item de Configuração de Software (ICSW).
Nesta definição,
IC é uma unidade funcional que possui um ciclo de desenvolvimento
e acompanhamento de GCS próprios. Qualquer sistema
em desenvolvimento é, então, particionado em
itens de configuração, e o seu desenvolvimento
é visto como o desenvolvimento de cada um dos ICs.
Cada IC, por sua vez pode ser particionado em outro conjunto
de ICs e assim sucessivamente, até que se resulte um
conjunto de ICs não particionáveis, que são
desenvolvidos segundo um ciclo de vida propriamente definido.
A configuração
de um sistema de software é definida pelo conjunto
das configurações dos ICSW integrantes do sistema.
É importante
salientar que a divisão de um sistema ou produto de
software em ICs e a
definição do ciclo de vida de cada IC final
é uma decisão de projeto e não de GCS.
Em cada fase do processo
de desenvolvimento, um conjunto bem definido de itens de configuração
deve ser estabelecido. Tal conjunto representa um estágio
do desenvolvimento, o qual é passível de modificações
apenas mediante um mecanismo formal de alterações.
A este é dado o nome de Baselines, ou Configurações
Base do sistema.
Em princípio,
baselines poderiam ser estabelecidas em qualquer ponto do
desenvolvimento. Entretanto, a grande vantagem do conceito
está em se fazer coincidir o estabelecimento de baselines
com os finais de fase do ciclo de vida do produto.
O desenvolvimento com configurações base pode,
então, ser resumido nos seguintes pontos:
- Caracterização
do ciclo de vida, identificando-se as fases pelas quais
o desenvolvimento do software irá passar e, dentro
delas, as atividades a serem realizadas e os produtos
a serem desenvolvidos.
- Definição do conjunto
de baselines. Para cada configuração-base
planejada, deve-se estabelecer quais serão os ICs
que a irão compor e quais as condições
impostas para seu estabelecimento;
- Baselines representam marcos
no processo de desenvolvimento: uma nova configuração-base
é estabelecida no final de cada fase do ciclo de
vida do software;
- Durante cada fase, o desenvolvimento
dos ICs a ela referentes está sob total controle
de seus desenvolvedores, e realiza-se com ampla liberdade,
podendo os ICs serem criados e modificados com bastante
facilidade;
- Durante cada fase, entretanto,
a modificação de uma configuração-base
anteriormente estabelecida somente pode ser feita de forma
controlada, mediante um processo bem definido;
- Ao ser estabelecida, cada configuração-base
incorpora integralmente a configuração-base
anterior. Desta forma, em qualquer instante do desenvolvimento,
a última baseline estabelecida representa o estado
oficial da totalidade do desenvolvimento;
- O estabelecimento de cada configuração-base
somente é realizado após ser aprovada por
procedimentos de consistência interna, verificação
e validação
CMMI
® - Atualizado em 22/06/2003
|