Title: ISO 12207 Processos do Ciclo de Vida do Software
1ISO 12207 Processos do Ciclo de Vida do Software
- Universidade Federal de Pernambuco
- Centro de Informática
- Pós-graduação em Ciência da Computação
2Roteiro
- Histórico
- Principais Conceitos Básicos
- ISO 12207
- Objetivos e Campo de Aplicação
- Definições
- Aplicações da Norma
- Processos do Ciclo de Vida de Software
- Exemplo Prático
- Considerações Finais
- Conclusões
3Histórico
- Em 1987 a Organização Internacional para
Padronização (ISO) e a Comissão Internacional de
Eletrotécnica (IEC) definiram o Comitê Técnico em
Tecnologia da Informação (JTC1).
4Histórico
- Em 1989 o JTC1 iniciou o desenvolvimento da ISO
12207, com o objetivo de suprir uma necessidade
crítica nos Processos do Ciclo de Vida do
Software. - Foi desenvolvida com a participação de vários
países, entre eles o Brasil. - Foi publicada em 1995, em versão inicial.
5Principais 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
(aposentadoria) do software. - A arquitetura é construída com um conjunto de
processos e inter-relacionamentos.
6Principais Conceitos Básicos
- Processos do Ciclo de Vida
- Os processos estão agrupados em três amplas
classes - Fundamentais
- são os processos básicos para o ciclo de vida, ou
seja, início e execução do desenvolvimento,
operação e manutenção do software - Apoio ou Suporte
- Auxiliam um outro processo, de acordo com
funcionalidades específicas. - Organizacional
- Implementam uma estrutura constituída de
processos de ciclo de vida e pessoal associados,
melhorando continuamente a estrutura e os
processos.
7Principais Conceitos Básicos
- Estrutura dos Processos do Ciclo de Vida
- Cada processo é definido de acordo com seu
conjunto de atividades e, estas, de acordo com
seu conjunto de tarefas relacionadas.
Processos
Atividade 1
Atividade N
...
...
Tarefa
Tarefa 1
Tarefa N
8Principais Conceitos Básicos
- Natureza das Tarefas
- É um conjunto de ações elementares. A tarefa
consiste de uma entrada (dados, informações) e
produz uma saída (dados, informações). - 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.
9Principais Conceitos Básicos
- Gerenciamento da Qualidade Total
- Esta norma implementa os princípios da Qualidade
Total. - Elos entre Sistema e Software
- A norma estabelece uma ligação muito forte entre
Sistema e Software. - o padrão é baseado nos princípios gerais da
Engenharia de Sistemas (análise, projeto,
implementação, testes...) - O software é tratado como parte integral de um
sistema e desempenha certas funções deste
sistema.
10Principais Conceitos Básicos
- Organização
- Grupo de pessoas que trabalham juntas em prol de
um objetivo específico. - Aplicação nas Organizações
- Os processos definidos neste padrão formam um
conjunto compreensível que pode ser utilizado por
vários tipos de organizações. - Aplicação em Projetos
- O padrão foi escrito para Projetos de Software
genéricos, grandes e complexos.
11Principais Conceitos Básicos
- Documentação
- O padrão necessita que determinadas atividades
sejam documentadas, mas não especifica formatos,
conteúdo... - Definições
- O padrão necessita das definições do Processo de
Software (requisitos, projetos,
implementação...). - 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.
12Principais Conceitos Básicos
- Pré-requisitos
- Para uso efetivo e produtivo do padrão devem ser
observados - Treinamento
- Conhecimento das políticas da Organização
- Conhecimento dos Ambientes de Projetos e
- Compreensão do Padrão ISO 12207.
13ISO 12207
- Está organizada em 7 seções e 4 anexos.
- Escopo e campo de aplicação
- Referências Normativas
- Definições
- Aplicação da Norma
- Processos Fundamentais do Ciclo de Vida
- Processos de Apoio do Ciclo de Vida
- Processos Organizacionais do Ciclo de Vida
- Anexos
14ISO 12207
- Objetivo
- Estabelece uma estrutura comum para os processos
de ciclo de vida de software, com terminologia
bem definida, que pode ser referenciada pela
indústria de software. - Esta norma também provê um processo que pode ser
utilizado para definir, controlar e melhorar os
processos de ciclo de vida de software.
15ISO 12207
- 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.
16ISO 12207
- Limitações
- Não é substituto para o gerenciamento sistemático
e disciplinado de sistemas de software. - Provê um framework onde os processos, atividades
e tarefas relacionados ao software podem ser
identificados, planejados e executados. - Esta norma não prescreve um modelo específico de
ciclo de vida ou método de desenvolvimento de
software.
17ISO 12207
- Interpretação da Norma
- Deve é utilizado para expressar uma obrigação
entre duas ou mais partes - Deverá é usado para expressar uma declaração de
objetivo ou intenção de uma das partes - Deveria é utilizado para expressar uma
recomendação entre várias possibilidades - Pode é utilizado para indicar uma ação
permitida dentro dos limites desta norma.
18ISO 12207Organização da Norma
Processos Fundamentais Aquisição Fornecimento Dese
nvolvimento Operação Manutenção
Processos de Apoio Documentação Gerência de
Configuração Garantia de Qualidade Verificação Val
idação Revisão Conjunta Auditoria Resolução de
Problema
Processos Organizacionais Gerência Infra-estrutura
Melhoria Treinamento
Anexos Processo de Adaptação Orientação para
adaptação Orientações sobre processos e
organizações Bibliografia
19ISO 12207Processos Fundamentais
- Partes Fundamentais
- Inicia ou executa o desenvolvimento, operação ou
manutenção dos produtos de software. - Adquirente
- Fornecedor
- Desenvolvedor
- Operador e
- Mantenedor do software.
20ISO 12207Processos Fundamentais
- Processo de Aquisição
- Atividades de quem quer adquirir um sistema,
produto de software ou serviço de software. - Iniciação
- Preparação do pedido de proposta
- Preparação e atualização do contrato
- Monitoração do fornecedor
- Aceitação e Conclusão.
21ISO 12207Processos Fundamentais
- Processo de Fornecimento
- Atividades do fornecedor de software.
- Iniciação
- Preparação de resposta
- Contrato
- Planejamento
- Execução e controle
- Revisão e avaliação
- Entrega e Conclusão
22ISO 12207Processos Fundamentais
- Processo de Desenvolvimento
- Atividades do desenvolvedor de software.
- Implementação do processo
- Análise dos requisitos do sistema
- Projeto da arquitetura do sistema
- Análise dos requisitos do software
- Projeto de arquitetura do software
- Projeto detalhado do software
- Codificação e testes do software
- Integração do software
- Testes de qualificação do software
- Integração do sistema
- Teste de qualificação do sistema
- Instalação do software
- Apoio à aceitação do software.
23ISO 12207Processos Fundamentais
- Processo de Operação
- Atividades do operador do software. Operação do
software e suporte operacional aos usuários. - Implementação do Processo
- Testes operacional
- Operação do Sistema
- Suporte ao usuário.
24ISO 12207Processos Fundamentais
- Processo de Manutenção
- Atividades de quem faz a manutenção do software.
- Implementação do Processo
- Análise do problema e da modificação
- Implementação da modificação
- Revisão/aceitação da manutenção
- Migração
- Descontinuação do Software.
25ISO 12207Processos de Apoio
- Processo de Documentação
- Registro de informações produzidas por um
processo ou atividade. Inclui planejamento,
projeto, desenvolvimento, produção, edição,
distribuição e manutenção dos documentos
necessários a gerentes, engenheiros e usuários do
software. - Implementação do processo
- Projeto e desenvolvimento
- Produção
- Manutenção.
26ISO 12207Processos de Apoio
- Processo de Gerência de Configuração
- Identificação e controle dos itens do software.
Inclui controle de armazenamento, liberações,
manipulação, distribuição e modificação de cada
um dos itens que compõem o software. - 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.
27ISO 12207Processos de Apoio
- Processo da Garantia da Qualidade
- Garante que os processos e produtos de software
estejam em conformidade com os requisitos e os
planos estabelecidos. - Implementação do processo
- Garantia do produto
- Garantia do processo
- Sistemas de Garantia da Qualidade.
28ISO 12207Processos de Apoio
- Processo de Verificação
- Determina se os produtos de software de uma
atividade atendem completamente aos requisitos ou
condições impostas a eles. - Implementação do processo
- Verificação.
29ISO 12207Processos de Apoio
- Processo de Validação
- Determina se os requisitos e o produto final
(sistema ou software) atendem ao uso específico
proposto. - Implementação do Processo
- Validação.
30ISO 12207Processos de Apoio
- Processo de Revisão Conjunta
- Define as atividades para avaliar a situação e os
produtos de uma atividade de um projeto, se
apropriado. - Implementação do processo
- Revisões de gerenciamento do projeto
- Revisões técnicas.
31ISO 12207Processos de Apoio
- Processo de Auditoria
- Determina adequação aos requisitos, planos e
contrato, quando apropriado. - Implementação do processo
- Auditoria.
32ISO 12207Processos de Apoio
- Processo de Resolução do Problema
- Análise e resolução dos problemas de qualquer
natureza ou fonte, descobertos durante a execução
do desenvolvimento, operação, manutenção ou
outros processos. - Implementação do processo
- Resolução do problema.
33ISO 12207Processos Organizacionais
- Processo de Gerência
- Gerenciamento de processos.
- Iniciação e definição do escopo
- Planejamento
- Execução e controle
- Revisão e avaliação
- Conclusão.
34ISO 12207Processos Organizacionais
- Processo de Infra-estrutura
- Fornecimento de recursos para outros processos.
Inclui hardware, software, ferramentas,
técnicas, padrões de desenvolvimento, operação ou
manutenção. - Implementação do processo
- Estabelecimento da infra-estrutura
- Manutenção da infra-estrutura.
35ISO 12207Processos Organizacionais
- Processo de Melhoria
- Atividades para estabelecer, avaliar, medir,
controlar e melhorar um processo de ciclo de vida
de software. - Estabelecimento do processo
- Avaliação do processo
- Melhoria do processo.
36ISO 12207Processos Organizacionais
- Processo de Treinamento
- Atividades para prover e manter pessoal treinado.
- Implementação do processo
- Desenvolvimento do material de treinamento
- Implementação do plano de treinamento.
37ISO 12207Anexos
- Processo de Adaptação
- Apresenta um processo para realizar a adaptação
básica desta norma para um projeto de software. - Identificação do ambientes do projeto
- Solicitação de informações
- Seleção de processos, atividades e tarefas
- Documentação de decisões e motivos da adaptação.
38ISO 12207Anexos
- Orientação para Adaptação
- Nenhum projeto é idêntico.
- Variações nas políticas e procedimentos
organizacionais, métodos e estratégias de
aquisição, tamanho e complexidade do projeto,
requisitos e métodos de desenvolvimento do
sistema, entre outras coisas, influenciam na
forma como um sistema é adquirido, desenvolvido,
operado e mantido.
39ISO 12207Anexos
- Orientações sobre processos e organizações
- Tem o objetivo de proporcionar um melhor
entendimento sobre processos, organizações e seus
relacionamentos. - Apresenta os processos do ciclo de vida
(fundamentais, de apoio e organizacionais), suas
atividades constituintes sob diferentes visões.
40Visões
Processos Fundamentais
Contrato com Fornecedor 1. Aquisição 1.1 Proposta
de Aquisição1.2 Seleção do Fornecedor1.3
Gerenciamento do Fornecedor1.4 Aceitação do
Cliente 2.Fornecedor3. Requisitos4.
Operação 4.1 Operação do Sistema 4.2 Apoio
(Suporte) ao Cliente
Engenharia 1 Desenvolvimento 1.1 Análise e
Projeto do Sistema1.2 Análise dos Requisitos1.3
Projeto do Software1.4 Implementação do
Software 1.5 Integração do Software 1.6 Testes de
Software 1.7.Integração e Testes de Sistema 2
Manutenção
41Visões
Processos de Apoio
1. Documentação2. Gerência de Configuração3.
Garantia de Qualidade4. Verificação5.
Validação6. Revisão Conjunta7. Auditoria8.
Resolução de Problemas9. Measurement10
Reutilização
42Visões
Processos Organizacionais
Gerenciamento 1. Gerenciamento 1.1 Gerenciamento
de Projeto 2. Gerenciamento da Qualidade3.
Gerenciamento de Riscos
Organização 1. Processo Organizacional2.
Melhoria 2.1 Estabelecimento do Processo2.2
Verificação do Processo2.3 Melhoria do
Processo 3. Infra-Estrutura4. Gerenciamento de
Recursos Humanos
43Considerações Finais
- A norma detalha cada um dos processos do ciclo de
vida, define como eles podem ser usados de
diferentes maneiras por diferentes organizações
(ou parte destas), representando diversos pontos
de vista para esta utilização. - Cada uma das visões representa a forma como uma
organização emprega estes processos, agrupando-os
de acordo com suas necessidades e objetivos.
44Considerações Finais
- As Visões têm o objetivo de organizar melhor a
estrutura de uma empresa, para definir suas
gerências e atividades alocadas às suas equipes.
Existem cinco visões diferentes contrato,
gerenciamento, operação, engenharia e apoio. - A ISO/IEC 12207 é a primeira norma internacional
que descreve em detalhes os processos, atividades
e tarefas que envolvem o fornecimento,
desenvolvimento, operação e manutenção de
produtos de software.
45Conclusões
- A norma ISO/IEC 12207 fornece um conjunto
completo de processos para aquisição ou
fornecimento de produtos os serviços. - Sua arquitetura pode ser acomodada a modernos
métodos de software, técnicas, ferramentas e
ambiente de engenharia.