Capítulo 2: Conceitos básicos de qualidade e software
2.2 Qualidade de processo de software
2.2.1 NBR 12207 processo do ciclo de vida do software
A norma NBR 12207 foi a primeira norma internacional a estabelecer uma estrutura comum, contendo processos, atividades e tarefas do ciclo de vida de software, com terminologia bem definida. Seu objetivo, além de criar uma linguagem comum para a engenharia de software, é prover processos que possam ser utilizados para definir, controlar e melhorar este ciclo de vida de software e servir de referência para os demais padrões que venham a surgir. Lançada pela ISO em agosto de 1995, e pela ABNT em 1998, ela é citada em quase todos os trabalhos relacionados à engenharia de software, inclusive os relativos à qualidade.
Os processos da norma NBR 12207 formam um conjunto abrangente. Organizações, projetos ou aplicações especiais devem selecionar um subconjunto apropriado, dependendo de seu objetivo. Os processos dividem-se em três classes: fundamentais, de apoio e organizacionais. Conforme Tabela 2.1 – processo do ciclo de vida.
Este trabalho utilizou conceito e informações do Processo Fundamental – Aquisição, em que, para suas atividades de monitoramento do fornecedor, foram identificados três (3) Processos de Apoio, que são: (1) verificação, (2) validação e (2) revisão conjunta.
Tabela 2.1 - Processo do ciclo de vida
Processo Descrição
Processos Fundamentais Início e execução do desenvolvimento, operação ou manutenção do
software durante seu ciclo de vida.
Aquisição Atividades de um adquirente de software.
Fornecimento Atividades do fornecedor (proposta, planos de projeto e entrega).
Desenvolvimento Atividades do desenvolvedor (análise de requisitos, projeto, testes,
instalação e aceitação).
Operação Atividades do operador (operação e suporte aos usuários).
Manutenção Atividades de quem faz a manutenção.
Processos de Apoio Auxiliam um outro processo.
Documentação Registro de informações produzidas por um processo ou atividade.
Gerência de Configuração Identificação e controle dos itens do software (armazenamento, versão, distribuição).
Garantia da Qualidade Processos e produtos de software em conformidade.
Verificação Produtos de software atendem requisitos ou condições impostas.
Validação Se os requisitos e o produto final atendem ao uso.
Revisão Conjunta Atividades de avaliação da situação e produtos de uma atividade de
um projeto, se apropriado.
Auditoria Adequação dos requisitos, planos e contrato, quando apropriado.
Resolução de Problemas Analisar e resolução dos problemas.
Processos Organizacionais Implementam uma estrutura de processos de ciclo de vida.
Processo Gerencial Gerenciamento de processos.
Infra-estrutura Fornecimento de recursos para outros processos. Inclui: hardware,
software, ferramentas, técnicas, padrões de desenvolvimento, operação ou manutenção.
Melhoria Estabelecer, avaliar, medir, controlar e melhorar um processo.
Treinamento Atividades para prover e manter pessoal treinado.
Fonte: elaborada com base nas normas NBR 12207 (1997)
O processo de aquisição consiste de cinco atividades: (1) iniciação; (2) preparação de pedido de proposta; (3) preparação e atualização do contrato; (4) monitoramento do fornecedor; e (5) aceitação e conclusão.
Na atividade de iniciação, são definidas as necessidades e requisitos de aquisição compostos pelos requisitos do sistema, de negócio, organizacionais, dos usuários, assim como os critérios de segurança, atividades do projeto, testes e aderência a padrões. Realiza-se a análise dos requisitos de sistemas e definem-se critérios de aquisição, levando em conta riscos, custos e benefícios, a estratégia de aceitação do produto, os direitos de propriedade, o suporte técnico; e estabelecendo-se o plano de aquisição.
Na atividade de preparação de pedido de proposta, são executadas tarefas como: documentar requisitos de aquisição, definir processos e atividades de apoio, designar organizações executoras e suas responsabilidades. Estabelece o controle do contrato com o fornecedor seu acompanhamento e como forma como será abordado, através da definição de processos de apoio especificados e do fornecimento dos requisitos de aquisição a organizações.
Na atividade de preparação e atualização do contrato, são definidos os procedimentos para selecionar fornecedores, os critérios de avaliação de proposta e a ponderação de aderência aos requisitos. Referenda-se a norma adaptada ao contrato, negocia-se custo e se estabelece um cronograma de atividades.
Na atividade de monitoramento do fornecedor, o adquirente coopera, provendo-o de informações para resolver itens pendentes, através de revisão conjunta, auditoria, verificação e/ou validação.
Na atividade de aceitação e conclusão, são aplicados critérios previamente definidos, inclusive casos, dados e procedimentos de teste.
Quanto aos três processos de apoio a serem utilizados, neste trabalho, na atividade de monitoramento, observam-se as seguintes características:
1) O processo de verificação consiste na análise, revisão e teste do produto em relação aos
requisitos ou condições impostas através de métodos, técnicas e ferramentas apropriadas. Pode incluir a tarefa de verificação de integração de cada componente de software e das unidades de cada item (software, hardware e operações manuais), podendo ser realizada por uma organização independente.
2) O processo de validação consiste em determinar se o produto construído atende ao uso
específico pretendido. Destaca-se a elaboração de um plano de validação contendo itens sujeitos a validação como: recursos, responsabilidades e o cronograma além do modelo de relatórios a serem encaminhados ao adquirente, quando se tratar de uma validação independente.
3) O processo de revisão conjunta consiste em avaliar a situação de execução do serviço e
ser registrados, obtendo-se, no final da revisão, um documento com as soluções e acordo. Como resultado desta atividade, deve-se obter critérios de encerramento, itens de ação pormenorizados e responsabilidades de cada um.
O agrupamento dos três processos de apoio: verificação, validação e revisão conjunta, na atividade de monitoramento do fornecedor do processo de aquisição de forma estruturada, assemelha-se ao agrupamento de processos de apoio previsto no processo de garantia de qualidade da NBR 12207. A diferença fundamental a ser observada é que o processo de garantia de qualidade é estruturado para ser gerido pelo desenvolvedor, enquanto que a atividade de monitoramento do processo de aquisição é estabelecida e conduzida pelo adquirente.