ISO 12207 Processos de Ciclo de Vida do Software
Agenda:
1.
2.
3.
4.
5.
6.
7.
Histórico
Definição
Motivação
Objetivos
Conceitos Básicos
Organização da Norma ISO 12207
Considerações Finais
ISO 12207 Processos de Ciclo de Vida do Software
Histórico:
A Norma ISO/IEC 12207 foi lançada em
agosto/1995, consistindo na primeira Norma
Internacional que descreve em detalhes os
processos, atividades e tarefas que envolvem a
aquisição,
fornecimento,
desenvolvimento,
operação e manutenção de produtos de software.
ISO 12207 Processos de Ciclo de Vida do Software
Definição:
A Norma Internacional NBR ISO/IEC 12207
Tecnologia da Informação – Processos de Ciclo
Vida de Software define os processos e
atividades básicas que compõem o processo
desenvolvimento de software
–
de
as
de
ISO 12207 Processos de Ciclo de Vida do Software
Motivação:
Surgiu devido a uma série de problemas inerentes a
produção de software como: complexidade, custos,
diversidade de técnicas de desenvolvimento, demanda
de qualidade pelos adquirentes de software.
Objetivos:
Esta norma provê um processo que pode ser utilizado
para definir, controlar e melhorar os processos de ciclo
de vida de software.
ISO 12207 Processos de Ciclo de Vida do Software
Conceitos Básicos
Arquitetura do Ciclo de Vida do Software


A estrutura cobre o ciclo de vida do software
desde a concepção de idéias até a
descontinuação do software.
A arquitetura é construída com um conjunto
de processos e inter-relacionamentos
ISO 12207 Processos de Ciclo de Vida do Software
Conceitos Básicos
Natureza das Avaliações


Nesta Norma a avaliação é uma função
elementar e usada de várias maneiras pelos
processos.
As avaliações são conduzidas em várias
entidades com objetivos de validar critérios
definidos.
ISO 12207 Processos de Ciclo de Vida do Software
Conceitos Básicos
Documentação

O padrão necessita que determinadas
atividades sejam documentadas, mas não
especifica formatos, conteúdo, etc..
Métricas de Software

A Norma não é um padrão de métrica de
software. Ela requer as especificações de
gerenciamento dos indicadores e atributos de
software, mas não os define ou especifica.
ISO 12207 Processos de Ciclo de Vida do Software
Pré-requisitos




Treinamento
Conhecimento das políticas da
Organização
Conhecimento dos ambientes de
projetos
Entendimento do Padrão ISO 12207
ISO 12207 Processos de Ciclo de Vida do Software
Organização da Norma ISO 12207









Introdução
Escopo
Referências Normativas
Definições
Aplicação da Norma
Processos Fundamentais de Ciclo de Vida
Processos de Apoio de Ciclo de Vida
Processos Organizacionais de Ciclo de Vida
Anexos
ISO 12207 Processos de Ciclo de Vida do Software
Introdução
Tem havido uma proliferação de normas,
procedimentos, métodos, ferramentas e
ambientes de desenvolvimento e de gerência de
software.
A disciplina de software necessita mudar desta
proliferação para uma estrutura comum, onde
todos “falem a mesma língua” na criação e
gerência de software.
Esta Norma provê tal estrutura comum.
ISO 12207 Processos de Ciclo de Vida do Software
1. Escopo
1.1 Objetivo
Esta Norma estabelece uma estrutura comum
para os processos de ciclo de vida do software,
com terminologia bem definida, que pode ser
referenciada pela indústria de software.
ISO 12207 Processos de Ciclo de Vida do Software
1. Escopo
1.2 Campo de Aplicação
Aplica-se à Aquisição de sistemas, produtos e
serviços de software; ao fornecimento,
desenvolvimento, operação e manutenção de
produtos de software, quer sejam executados
interna ou externamente a uma Organização.
Esta norma não foi concebida para produtos de
software de prateleira a menos que eles estejam
incorporados dentro de um produto
encomendado.
ISO 12207 Processos de Ciclo de Vida do Software
1. Escopo
1.3 Adaptação da Norma
Esta norma contém um conjunto de processos,
atividades e tarefas projetado para ser adaptado
de acordo com cada projeto de software.
1.4 Conformidade
É a execução de todos os processos, atividades e
tarefas selecionadas para o projeto de software.
ISO 12207 Processos de Ciclo de Vida do Software
1. Escopo
1.5 Limitações



Não prescreve um modelo específico de ciclo
de vida ou método de desenvolvimento de
software
Não especifica os detalhes de como
implementar ou executar as atividades e
tarefas incluídas no processo.
Não prescreve o nome formato ou conteúdo
explícito da documentação a ser produzida.
ISO 12207 Processos de Ciclo de Vida do Software
2. Referências Normativas

ISO/AFNOR/1989 – Dictionary of Computer Sience

ISO/IEC 2382-1/1993 – Information Technology – vocabulary – Part 1:
Fundamental Terms

ISO/IEC 2382-20/1990 – Information Technology – vocabulary – Part 20:
System Development

NBR ISO/8402/1994 – Gestão da Qualidade e Garantia da Qualidade –
Terminologia


NBR ISO/9001/1994 – Sistema da Qualidade – Modelo para garantia da
qualidade em projeto, desenvolvimento, produção, instalação e serviços
associados
NBR 13596/1996 – Tecnologia de Informação – Avaliação de produto de
software – Características de Qualidade e Diretrizes para o seu uso.
ISO 12207 Processos de Ciclo de Vida do Software
3. Definições
Para o produto desta Norma as definições contidas na
NBR ISO/8402, ISO/IEC 2382-1, ISO/IEC 2382-20, aplicam-se
em conjunto com algumas definições:


Garantia de Qualidade – conjunto de atividades planejadas e
sistemáticas, implementadas no sistema da qualidade e
demonstradas como necessárias, para provê confiança
adequada de que uma entidade atenderá os requisitos para a
qualidade [NBR ISO 8402/1994,3.5]
Processo – um conjunto de atividades inter-relacionadas, que
transforma entradas em saídas [NBR ISO 8402/1994,1.2]
ISO 12207 Processos de Ciclo de Vida do Software
4. Aplicação da Norma
Apresenta os processos de ciclo de vida de
software que podem ser empregados para
adquirir, fornecer, desenvolver, operar e manter
produtos de software.
Objetiva fornecer um guia para os usuários se
orientarem quanto a sua aplicação.
ISO 12207 Processos de Ciclo de Vida do Software
Organização da Norma
Processos do Ciclo de Vida
Estão divididos em 3 grandes classes:
PROCESSOS FUNDAMENTAIS
 Início e execução do desenvolvimento, operação ou
manutenção do software durante o seu ciclo de vida.
PROCESSOS DE APOIO
 Auxiliam um outro processo, de acordo com
funcionalidades específicas.
PROCESSOS ORGANIZACIONAIS
 Implementam uma estrutura constituída de processos
de ciclo de vida e pessoal associados, melhorando
continuamente a estrutura e os processos.
ISO 12207 Processos de Ciclo de Vida do Software
Estrutura dos Processos
PROCESSOS
Atividade 1
Tarefa 1
...
Atividade 2
Tarefa n
. . .
Tarefas 1
Atividade n
...
Tarefas n
ISO 12207 Processos de Ciclo de Vida do Software
Processos de Ciclo de Vida do Software
Processos Fundamentais
Processos de Apoio
Aquisição
Documentação
Fornecimento
Desenvolvimento
Operação
Manutenção
Processos
Organizacionais
Gerência de Configuração
Garantia de Qualidade
Verificação
Validação
Revisão Conjunta
Auditoria
Resolução de Problema
Gerência
Anexos
Infra-estrutura
Processo de Adaptação
Melhoria
Orientação para adaptação
Treinamento
Orientações sobre processos e organizações
Bibliografia
ISO 12207 Processos de Ciclo de Vida do Software
Processos Fundamentais
1. Processo de Aquisição
1.1 Proposta de Aquisição
1.2 Seleção do Fornecedor
1.3 Gerenciamento do Fornecedor
1.4 Aceitação do Cliente
2. Processo de Fornecimento
2.1 Iniciação
2.2 Preparação de resposta
2.3 Contrato
2.4 Planejamento
2.5 Execução e Controle
2.6 Revisão e Avaliação
2.7 Entrega e Conclusão
ISO 12207 Processos de Ciclo de Vida do Software
Processos Fundamentais
3. Processo de Desenvolvimento
3.1 Implementação do Processo
3.2 Análise dos Requisitos
3.3 Projeto da Arquitetura Sistema
3.4 Análise dos Requisitos Software
3.5 Projeto Arquitetura Software
3.6 Projeto Detalhado Software
3.7 Codificação e Testes do Software
3.8 Integração do Software
3.9 Teste de Qualificação do Software
3.10 Integração do Sistema
3.11 Teste de Qualificação do Sistema
3.12 Instalação do Software
3.13 Apoio à Aceitação do Software
ISO 12207 Processos de Ciclo de Vida do Software
Processos Fundamentais
4. Processo de Operação
4.1
4.2
4.3
4.4
Implementação do Processo
Teste Operacional
Operação do Sistema
Suporte ao Usuário
5. Processo de Manutenção
5.1 Implementação do Processo
5.2 Análise do problema e da modificação
5.3 Implementação da modificação
5.4 Revisão/Aceitação da manutenção
5.5 Migração
5.6 Descontinuação do Software
ISO 12207 Processos de Ciclo de Vida do Software
Processos de Apoio
1. Processo de Documentação
1.1 Implementação do Processo
1.2 Projeto e Desenvolvimento
1.3 Produção
1.4 Manutenção
2. Processo de Gerência de Configuração
2.1 Implementação do Processo
2.2 Identificação da Configuração
2.3 Controle da Configuração
2.4 Relato da situação da Configuração
2.5 Avaliação da Configuração
2.6 Gerência de liberação e distribuição
ISO 12207 Processos de Ciclo de Vida do Software
Processos de Apoio
3. Processo de Garantia da Qualidade
3.1 Implementação do Processo
3.2 Garantia do Produto
3.3 Garantia do Processo
3.4 Sistema de Garantia da Qualidade
4. Processo de Verificação
4.1 Implementação do Processo
4.2 Verificação
5. Processo de Validação
4.1 Implementação do Processo
4.2 Validação
ISO 12207 Processos de Ciclo de Vida do Software
Processos de Apoio
6. Processo de Revisão Conjunta
6.1 Implementação do Processo
6.2 Revisões de Gerenciamento do Projeto
6.3 Revisões Técnicas
7. Processo de Auditoria
4.1 Implementação do Processo
4.2 Auditoria
8. Processo de Resolução do Problema
8.1 Implementação do Processo
8.2 Resolução do Problema
ISO 12207 Processos de Ciclo de Vida do Software
Processos Organizacionais
1. Processo de Gerência
1.1 Iniciação e definição do escopo
1.2 Planejamento
1.3 Execução e Controle
1.4 Revisão e Avaliação
1.5 Conclusão
2. Processo de Infra-Estrutura
2.1 Implementação do Processo
2.2 Estabelecimento da Infra-Estrutura
2.3 Manutenção da Infra-Estrutura
ISO 12207 Processos de Ciclo de Vida do Software
Processos Organizacionais
3. Processo de Melhoria
3.1 Estabelecimento do Processo
3.2 Avaliação do Processo
3.3 Melhoria do Processo
4. Processo de Treinamento
4.1 Implementação do Processo
4.2 Desenvolvimento do material de treinamento
4.3 Implementação do plano de treinamento
ISO 12207 Processos de Ciclo de Vida do Software
Anexos
Anexos A (normativo)
1. Processo de Adaptação
1.1 Identificação do ambiente do projeto
1.2 Solicitação de informações
1.3 Seleção de processos,atividades e tarefas
1.4 Documentação de decisões e motivos da adaptação
ISO 12207 Processos de Ciclo de Vida do Software
Anexos
Anexos B (informativo)
1. Orientação para adaptação
1.1 Orientação geral de adaptação
1.2 Adaptação do processo de desenvolvimento
1.3 Adaptação das atividades relacionadas
ISO 12207 Processos de Ciclo de Vida do Software
Anexos
Anexos C (informativo)
1. Orientações sobre processos e organizações
1.1 Processos sobre pontos de vista relevantes
1.2 Processos, organizações e relacionamentos
ISO 12207 Processos de Ciclo de Vida do Software
Quadro Comparativo
Aspéctos
Abordados
Objetivo
Abordagem
ISO 9000-3
ISO/IEC 12207-1
Sw-CMM
SPICE
Estabelecer uma
Certificar a Organização de
Determinar a capacidade
Conhecer e avaliar os
terminologia e um
acordo com os padrões
da Organização e apoiar a
processos da
entendimento comum
estabelecidos em situações
sua evolução de acordo Organização, determinar a
para os processos entre
decontrato de fornecimento
com os níveios
capacitação e promover a
todos os envolvidos com
de software
estabelecidos
melhoria
software
Definição dos processos
para aquisição,
avaliação dos processos
Verificação de
fornecimento
de enquadramento da
conformidade de processos
desenvolvimento,
Organização em um dos
e padrões documentados
operação e manutenção
níveis de maturidade
de software
Organizações
Alvo
Organizações que
necessitam de uma
certificação
Definição de
processos
Não estabelece processo,
estabelece atividades a
serem cumpridas, com
visão de estrutura, ciclo de
vida e suporte
Organizações em geral
Organizações que
necessitam de
comprovação formal de
sua capacidade
Avaliação dos processos
da Organização em
relação a níveis de
capacitação
Organizações em geral
Estabelece 18 áreas de
Estabelece 17
Estabelece 29 processos
processos organizados
processos,organizados
organizados em 5
em 5 níveis crescentes de
em 3 categorias
categorias
maturidade
ISO 12207 Processos de Ciclo de Vida do Software
Quadro Comparativo
Aspéctos
Abordados
ISO 9000-3
ISO/IEC 12207-1
SW-CMM
SPICE
Não admite
adaptação nos
aspéctos
abordados
Classificação de
processos pode ser
utilizada conforme os
objetivos da
organização
Níveis e áreas
chaves do
processo são a
base do modelo e
não podem ser
alterados
Permitea
definição de
perfis de
processo e
práticas de
acordo com os
objetivos da
organização
Não se aplica
Questionário e
entrevistas
Fornece
orientações para
definição dos
instrumentos
Inspiração e
influência
Normas militares
americanas,
canadenses,
Sistemas de
Qualidade do Reino
Unido
TQM, PDCA
Princípios de
Shewart, Deming,
Juran, Crosby
TQM, PDCA, SWCMM,
STD,Trillium,
Malcolm,
Baldrige,
Bootstrap
Aspéctos
positivos
Norma
Internacional;
Difusão extensa;
Reconhecimento
do valor da
certificação
Norma Internacional;
Definição de uma
taxonomia para
processos útil para
qualquer organização
Estabelecimento
de diretrizes para
a melhoria
contínua. Difusão
extensa nos EUA
Norma
Internacional em
elaboração;
Expansão e
flexibilização
dos modelos
citados
Limitações
Risco de se colocar
a certificação como
objetivo principal.
Ausência de apoio
à melhoria
contínua. Falta
abordagem de
produto
Apenas uma definição
de taxonomia de
processos
Pouca
consideração à
diversidade das
organizações.
Dificuldade de
aplicação em
pequenas
organizações.
Falta abordagem
de produto
Devido a grande
quantidade de
informações,
exige
treinamento para
sua aplicação.
Falta abordagem
de produto
Flexibilidade
nos aspéctos
definidos pelo
modelo
Instrumento de
Lista de Verificação
Avaliação
ISO 12207 Processos de Ciclo de Vida do Software
Considerações finais
Todas as Normas e modelos de qualidade para software têm
por objetivo buscar organização e melhoria contínua no
processo de desenvolvimento de software.
Com esses processos documentados e gerenciados, o
desenvolvedor pode assumir projetos de alta complexidade,
aliados a técnica e criatividade.
Melhor capacitado e provedor de metodologias que levam ao
desenvolvimento de software com qualidade, o
desenvolvedor poderá criar soluções que atendam as
necessidade e os requisitos da empresa.
Dessa forma, o desenvolvedor contribuirá para criação de
vantagens competitivas, sustentando as bases estratégicas
da Organização.
ISO 12207 Processos de Ciclo de Vida do Software
Referências Bibliográficas

ISO/IEC 12207 – Software Life Cycle Process

ROCHA, Ana Regina Cavalcanti et al. – Qualidade de Software –
www. qualidadesoftware.hpg.ig.com.br

Qualidade e Produtividade – disponível em: www.met.gov.br

MANOEL, Marcus Teli – Capability Maturity Model – disponível
em: www.mteli.dominodeveloper.net

Qualidade de Software: Visões de Produto e Processo de
Software – disponível em: www.psphome.hpg.ig.com.br


X SIMPEP Simpósio de Engenharia de Produção – Importância
da Norma ISO 12207 nas Empresas de Desenvolvimento de
Software – disponível em: www.simpep.feb.unesp.br
ISO/IEC 12119: 1994, Information Technology - Software
packages – Quality requirements and Testing
Download

Seminario ISO 12207 - Universidade Federal de Pernambuco