Normas
e Padrões
Os trabalhos de normalização
trouxeram grandes contribuições para a conceituação
da área de GCS. Vamos apresentar resumidamente algumas
normas, atualmente em uso, apresentadas pelas organizações
internacionais mais importantes nesta área, e que são:
· IEEE
(The Institute of Electrical and Electronics Engineers);
·
ISO/IEC (International Organization for Standardization /
International Electrotechnical
Commission);
·
SEI-CMU (The Software Engineering Institute – Carnegie
Mellon University).
>>IEEE
As normas IEEE relativas
a GCS enfocam especificamente a questão dos planos
de gerência de configuração. São
duas as normas estabelecidas:
· IEEE Std 828-1998,
Standard for Software Configuration Management Plans;
· IEEE Std 1042-1986, Guide for Software Configuration
Management.
A primeira define uma
estrutura básica, isto é, um “esqueleto”,
para o plano de GCS, estabelecendo os itens que devem ser
abordados e uma sucinta explicação para cada
um deles.
A segunda norma é um guia de apoio para a aplicação
da norma de plano, fazendo comentários adicionais ao
seu preenchimento. Contém exemplos de planos abordando
4 tipos diferentes de projetos de desenvolvimento.
>>ISO/IEC
As normas ISO/IEC têm
como enfoque o estabelecimento de conceitos visando definir
uma base comum de conhecimento sobre o assunto. As normas
que formalizam GCS são as seguintes:
· ISO 10007, Quality Management – Guidelines
for Configuration Management;
· ISO/IEC 12207, Information Technology – Software
Life Cycle Process;
· ISO/IEC TR 15846, Information Technology–Configuration
Management for Software.
A ISO 10007 é um guia geral para gerência de
configuração, enfocando produtos de engenharia,
não sendo específica para software. Procura
cobrir todo o ciclo de
desenvolvimento de um produto e foi concebida como forma de
atender os requisitos de GCS estabelecidos na família
de normas ISO 9000.
A ISO/IEC 12207 define
um estrutura básica (framework) para processos do ciclo
de vida de software. É uma norma bastante sucinta dedicando
uma página para cada processo, e seu objetivo maior
é estabelecer uma base para o entendimento comum sobre
software e sua evolução. Apesar de resumida,
a norma é bastante abrangente, cobrindo processos,
atividades e tarefas para adquirir, fornecer, desenvolver,
operar e manter o software.
A estrutura básica de processos definidos pela norma
categoriza os processos de ciclo de vida de software em três
classes:
Processos Fundamentais:
· Aquisição;
· Fornecimento;
· Desenvolvimento;
· Operação;
· Manutenção.
Processos de Apoio:
· Documentação;
· Gerência de Configuração;
· Garantia da Qualidade;
· Verificação;
· Validação;
· Revisão Conjunta;
· Auditoria;
· Resolução de Problema.
Processos Organizacionais:
· Gerência;
· Melhoria;
· Infra-estrutura;
· Treinamento.
A ISO/IEC TR 15846
é um relatório técnico que detalha o
processo de GCS definido pela ISO/IEC 12207. Este documento
não possui o caráter de norma e, também,
não define como GCS deve ser realizada, isto é,
estabelece um conjunto de requisitos (o quê) para a
realização de GCS.
Segundo a normas ISO/IEC 12207 e ISO/IEC TR 15846, o processo
de GCS é caracterizado pelas seguintes atividades:
· 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;
· Gerência de Liberação e Distribuição.
>>SEI-CMU
O Software Engineering
Institute (SEI) apesar de não ser uma organização
de normalização, definiu um modelo de processos
de software, o Capability Maturity Model (CMM), que vem sendo
largamente adotado para avaliação de empresas
desenvolvedoras de software, de forma que o modelo acabou
por se estabelecer como um padrão “de fato”.
Este modelo é definido em [CMM 93].
O modelo foi elaborado para avaliar o estado de maturidade
de uma organização
desenvolvedora de software em termos das práticas adotadas
e para oferecer um caminho geral para a melhoria do processo
de software sem, todavia, estabelecer exatamente como efetuar
a melhoria.
O modelo estabelece cinco níveis de maturidade. Cada
nível especifica um conjunto de processos que devem
ser estabelecidos para se atingir a maturidade correspondente
ao nível.
Adicionalmente, cada nível serve de base para o estabelecimento
dos processos do nível seguinte.
Novamente, o enfoque de abordagem de cada processo assim definido
é em o quê deve ser realizado e não como.
Gerência
de Configuração® - Atualizado em 05/09/2004
|