A norma ISO/IEC 12207 define o processo de desenvolvimento de software e estabelece uma estrutura comum para os processos do ciclo de vida de software. Ela descreve os processos de forma modular por propósito/resultado e por atividades, agrupando-os em fundamentais, de apoio e organizacionais. A norma fornece uma arquitetura de alto nível do ciclo de vida de software construída a partir de processos e suas inter-relações.
1. ISO/IEC 12207 - Wikipédia http://pt.wikipedia.org/wiki/ISO/IEC_12207
ISO/IEC 12207
Origem: Wikipédia, a enciclopédia livre.
A ISO/IEC 12207 é a norma ISO/IEC que define processo de desenvolvimento de software.
A norma internacional ISO/IEC 12207 [1] tem como objetivo principal estabelecer uma estrutura comum para os
processos de ciclo de vida de software visando ajudar as organizações a compreenderem todos os componentes
presentes na aquisição e fornecimento de software e, assim, conseguirem firmar contratos e executarem projetos de
forma mais eficaz.
Um processo é uma seqüência de passos realizados para um determinado propósito [IEEE 610.12, 1990]; o
processo de software envolve métodos, técnicas, ferramentas e pessoas. Um processo pode ser descrito de duas
formas: por propósito ou resultado e por atividade.
A descrição por propósito ou resultado é utilizada quando não há necessidade de detalhar o processo, apenas
indicar o objetivo e o resultado. Essa abordagem poderá ser utilizada na avaliação do processo em relação aos
modelos de maturidade de software como, por exemplo, o modelo CMMI e o modelo da ISO/IEC 15504.
A descrição por atividade é a abordagem mais conhecida e intuitiva. Nela são descritas as atividades com as
inter-relações e o algoritmo de execução de cada atividade. As atividades devem atingir o propósito do processo.
Para isso deve adotar as premissas:
Que procedimentos e métodos serão usados para a execução das atividades;
Que ferramentas e equipamentos suportarão a realização das atividades, de forma a simplificar e automatizar
o trabalho;
Qual o perfil adequado de quem irá executar as atividades e qual o treinamento requerido nos procedimentos,
métodos, ferramentas para que se possam realizar as atividades de forma adequada;
Quais as métricas de processo que poderão ser empregadas para que a execução do processo possa ter a
qualidade avaliada.
A norma ISO/IEC 12207 estabelece uma arquitetura de alto nível do ciclo de vida de software que é construída a
partir de um conjunto de processos e seus inter-relacionamentos. Os processos são descritos tanto em nível de
propósito/saídas como em termos de atividades.
A ISO/IEC 12207 não possui nenhuma ligação com métodos, ferramentas, treinamentos, métricas ou tecnologias
empregadas. Esta determinação é útil para permitir que a norma seja utilizada mundialmente e possa acompanhar a
evolução da engenharia de software nas diversas culturas organizacionais. Ela pode ser utilizada com qualquer
modelo de ciclo de vida, método ou técnica de engenharia de software e linguagem de programação. Sua
flexibilidade é uma característica importante, as atividades e tarefas do processo de ciclo de vida do software
especificam quot;o que fazerquot; e não quot;como fazerquot;.
Os processos da ISO/IEC 12207 são modulares, ou seja, são fortemente coesos e fracamente acoplados. Isto
significa que todas as partes de um processo são fortemente relacionadas, mas a quantidade de interfaces entre os
processos é mínima.
As regras listadas a seguir são importantes para identificação, escopo e estruturação dos processos e devem ser
seguidas.
Um processo deve ser modular, isto é, convém que um processo execute uma e somente uma função dentro
do ciclo de vida e é conveniente que as interfaces entre dois processos quaisquer sejam mínimas;
Cada processo é invocado na arquitetura;
Se um processo A é invocado por um processo B e somente por ele, então A pertence a B;
Se uma função é invocada por mais de um processo, então esta função torna-se um processo;
Deve ser possível verificar qualquer função dentro do modelo de ciclo de vida;
Convém que cada processo tenha uma estrutura interna suficientemente definida para que possa ser
1 of 7 8/3/2008 03:38
2. ISO/IEC 12207 - Wikipédia http://pt.wikipedia.org/wiki/ISO/IEC_12207
executável.
Os processos na ISO/IEC 12207 são de responsabilidade de uma organização, mas não são exclusivos desta, ou seja,
uma organização pode executar um ou mais processos e um processo pode ser executado por uma ou mais
organizações. Neste caso, uma das organizações será a responsável pelo processo total, mesmo que tarefas
individuais sejam realizadas por pessoas diferentes. Os processos são agrupados, por uma questão de organização,
de acordo com a sua natureza, ou seja, o seu objetivo principal no ciclo de vida de software. Esse agrupamento
resultou em 3 diferentes classes de processos, que são:
Processos fundamentais;
Processo de apoio;
Processos organizacionais.
Os processos fundamentais são necessários para que um software seja executado. Eles iniciam o ciclo de vida e
comandam outros processos. São eles:
Aquisição;
Fornecimento;
Desenvolvimento;
Operação;
Manutenção.
Os processos de apoio auxiliam outro processo. Eles são usados para garantir a qualidade, mas não são
fundamentais. São eles:
Documentação;
Aderência de configuração;
Garantia da qualidade;
Verificação;
Validação;
Revisão conjunta;
Auditoria;
Resolução de problema;
Usabilidade;
Contrato.
Os processos auxiliam a organização e gerência geral dos processos e podem ser empregados fora do domínio de
projetos e contratos específicos, servindo para toda a organização. São eles:
Gerência;
Infra-estrutura;
Melhoria;
Recursos humanos;
Gestão de ativos;
Gestão de programa de reuso;
Engenharia de domínio.
Índice
Atividades do Desenvolvimento
Algumas atividades importantes para o desenvolvimento de software serão descritas a seguir. São elas:
2 of 7 8/3/2008 03:38
3. ISO/IEC 12207 - Wikipédia http://pt.wikipedia.org/wiki/ISO/IEC_12207
Implementação;
Levantamento de requisitos;
Análise dos requisitos do sistema;
Projeto da arquitetura do sistema;
Análise dos requisitos do software;
Projeto da arquitetura do software;
Projeto detalhado do software;
Codificação e testes do software;
Integração do software;
Teste de qualificação do software;
Integração do sistema;
Teste de qualificação do sistema;
Instalação do software;
testagem e aprovação do software
Elas foram descritas com base na norma ISO/IEC 12207.
Implementação
A implementação consiste na definição ou seleção de um modelo de ciclo de vida de software apropriado ao
escopo, magnitude e complexidade do projeto e na execução de documentação dos resultados, de acordo com o
processo de documentação; colocação dos resultados sob o processo de gerência de configuração; execução do
controle de alterações, de acordo com ele; documentação e resolução de não-conformidades e problemas
encontrados nos produtos de software e tarefas, de acordo com o processo de resolução de problema; execução dos
processos de apoio, conforme especificado no contrato; seleção, adaptação e utilização de padrões, métodos,
ferramentas e linguagens de programação de computador; desenvolvimento dos planos para conduzir as atividades
do processo de desenvolvimento.
Levantamento dos Requisitos
O levantamento dos requisitos consiste em entender os requisitos e solicitações do sistema; obter e definir os
requisitos e solicitações do cliente através de sua solicitação direta ou através de outras entradas como revisão da
proposta de negócio, objetivos operacionais, ambiente de hardware e outros documentos.
É imprescindível entender as expectativas do cliente e assegurar que tanto o cliente quanto o fornecedor entendam
os requisitos da mesma forma. Isso pode ser feito através do processo de apoio “Revisão Conjunta” descrito na
norma ISO/IEC 12207. É necessário acordar os requisitos e obter um acordo entre as equipes que irão desenvolver o
trabalho em relação aos requisitos do cliente.
É importante gerenciar todas as mudanças feitas nos requisitos do cliente em relação à linha-básica definida
assegurando que o resultado de mudanças tecnológicas e de necessidades do cliente são identificados e os impactos
de introdução dessas mudanças são avaliados.
Análise dos Requisitos do Sistema
Após o levantamento, segue para a especificação dos requisitos do sistema. Esta especificação deve descrever:
Funções e capacidades do sistema;
Requisitos de negócio, organizacionais e de usuários;
Requisitos de proteção, de segurança, de engenharia de fatores humanos (ergonomia), de interface, de
operações e de manutenção;
Restrições de projeto e requisitos de qualificação.
Os requisitos precisam ser avaliados. Por isso, para formalizar e facilitar a avaliação, os critérios listados a seguir
devem ser seguidos:
Rastreabilidade com os requisitos do cliente e necessidades de aquisição;
3 of 7 8/3/2008 03:38
4. ISO/IEC 12207 - Wikipédia http://pt.wikipedia.org/wiki/ISO/IEC_12207
Consistência com as necessidades de aquisição e com o levantamento dos requisitos;
Testabilidade;
Viabilidade do projeto da arquitetura do sistema;
Viabilidade da operação e manutenção.
Após a avaliação é importante estabelecer mecanismos de comunicação para disseminar os requisitos do sistema e
suas atualizações para todas as partes interessadas.
Projeto da Arquitetura do Sistema
Com os requisitos elaborados e validados, pode-se estabelecer uma arquitetura de alto nível para o sistema. A
arquitetura deve identificar itens de hardware, software e operações manuais. Após a arquitetura ser estabelecida, é
necessário avaliá-la, considerando os critérios listados a seguir:
Rastreabilidade para os requisitos do sistema;
Consistência com os requisitos do sistema;
Adequação dos métodos e padrões de projeto utilizados;
Viabilidade dos itens de software atenderem seus requisitos alocados;
Viabilidade da operação e da manutenção.
Análise dos Requisitos do Software
Para garantir a qualidade do produto entregue, as características de qualidade descritas a seguir devem ser
observadas nos requisitos de software:
Especificações funcionais e de capacidade, incluindo desempenho, características físicas e condições do
ambiente sob o qual o item de software será executado;
Interfaces externas ao item de software;
Requisitos de qualificação;
Especificações de proteção, incluindo aquelas relacionadas aos métodos de operação e manutenção,
influências do ambiente e danos pessoais;
Especificações de segurança, incluindo aquelas relacionadas com o comprometimento de informações
sigilosas;
Especificações de engenharia de fatores humanos (ergonomia), incluindo aquelas relacionadas com operações
manuais, interações entre homem-máquina, restrições a pessoal e áreas que necessitam de maior atenção
humana, que são sensíveis a erros humanos e treinamento;
Definição de dados e requisitos de bases de dados;
Requisitos de instalação e aceitação do produto de software entregue nos locais de operação e manutenção;
Documentação do usuário;
Requisitos do usuário para execução e operação;
Requisitos do usuário para manutenção.
Após a análise de requisitos de software é necessário fazer a avaliação desses requisitos considerando os critérios
listados a seguir:
Rastreabilidade para os requisitos do sistema e projeto do sistema;
Consistência externa com os requisitos do sistema;
Consistência interna;
Testabilidade;
Viabilidade do projeto do software;
Viabilidade da operação e manutenção.
Pode-se conduzir uma ou mais revisões conjuntas e estabelecer as baselines.
Projeto da Arquitetura do Software
O projeto de arquitetura de software busca transformar os requisitos em uma arquitetura que descreve sua estrutura
de alto nível e identifica os componentes de software. As versões preliminares da documentação do usuário, dos
4 of 7 8/3/2008 03:38
5. ISO/IEC 12207 - Wikipédia http://pt.wikipedia.org/wiki/ISO/IEC_12207
requisitos preliminares e de testes devem ser garantidas e documentadas. O cronograma para a Integração do
Software deve ser criado. A avaliação da arquitetura do item de software e os projetos de interface e base de dados,
considerando os critérios listados a seguir:
Rastreabilidade para os requisitos do item de software;
Consistência externa com os requisitos do item de software;
Consistência interna entre os componentes de software;
Adequação dos métodos e padrões de projeto utilizados;
Viabilidade do projeto detalhado;
Viabilidade da operação e manutenção.
Pode-se conduzir uma ou mais revisões conjuntas e estabelecer as baselines.
Projeto Detalhado do Software
Após o projeto de arquitetura, desenvolve-se um projeto detalhado de software para cada componente do software.
Os componentes de software devem ser refinados em níveis mais baixos, contendo unidades de software que
possam ser codificadas, compiladas e testadas. O projeto detalhado das interfaces deve permitir a codificação sem a
necessidade de informação adicional. Durante o detalhamento de software, se for necessário, deve ser feita a
atualização da documentação do usuário. É importante definir e documentar os requisitos de teste e o cronograma
para testar unidades de software.
Após detalhamento do projeto de software é necessário fazer a avaliação deste detalhamento, considerando os
critérios listados a seguir:
Rastreabilidade para os requisitos do item de software;
Consistência externa com o projeto da arquitetura;
Consistência interna entre os componentes e unidades de software;
Adequação dos métodos e padrões de projeto utilizados;
Viabilidade dos testes;
Viabilidade da operação e manutenção.
Pode-se conduzir uma ou mais revisões conjuntas e estabelecer as baselines.
Codificação e Testes do Software
Para, finalmente, executar a codificação e os testes é necessário desenvolver e documentar cada unidade de software
com base em procedimentos a serem definidos. Os testes devem garantir que os requisitos documentados sejam
atendidos. Os resultados dos testes devem ser documentados. Durante esta face, a atualização e documentação do
usuário pode ser feita, se necessário. Após a codificação e testes é importante fazer a avaliação do código do
software e dos resultados dos testes, considerando os critérios listados a seguir:
Rastreabilidade para os requisitos e projeto do item de software;
Consistência externa com os requisitos e projeto do item de software;
Consistência interna entre os requisitos da unidade;
Cobertura de teste das unidades;
Adequação dos métodos e padrões de codificação utilizados;
Viabilidade da integração e testes do software;
Viabilidade da operação e manutenção.
Os resultados das avaliações devem ser documentados.
Integração do Software
Para poder homologar o sistema é necessário desenvolver um plano de integração para integrar as unidades e
componentes de software. O plano deve incluir requisitos de teste, procedimentos, dados, responsabilidades e
cronograma. Deve-se testar essas agregações à medida que forem sendo integradas, de acordo com o plano de
5 of 7 8/3/2008 03:38
6. ISO/IEC 12207 - Wikipédia http://pt.wikipedia.org/wiki/ISO/IEC_12207
integração. Durante esta fase, a atualização e documentação do usuário pode ser feita, se necessário.
Após a codificação e testes é importante fazer a avaliação do plano de integração, projeto, código, testes, resultados
dos testes e a documentação do usuário, considerando os critérios listados:
Rastreabilidade para os requisitos do sistema;
Consistência externa com os requisitos do sistema;
Consistência interna;
Cobertura de teste dos requisitos do item de software;
Adequação dos métodos e padrões de teste utilizados;
Conformidade com os resultados esperados;
Viabilidade do teste de qualificação do software;
Viabilidade da operação e manutenção.
Pode-se conduzir uma ou mais revisões conjuntas e estabelecer as baselines.
Teste de Qualificação do Software
Deve-se desenvolver e documentar os requisitos de qualificação de software e elaborar casos de teste (entradas,
saídas e critérios de teste) e procedimentos de teste para conduzir o Teste de Qualificação do Software de acordo
com os requisitos de qualificação para o item de software. Após a codificação e testes é importante fazer a avaliação
do projeto, código, testes, resultados dos testes e a documentação do usuário, considerando os critérios listados a
seguir:
Cobertura de teste dos requisitos do item de software;
Conformidade com os resultados esperados;
Viabilidade da integração e testes do sistema, se conduzidos;
Viabilidade da operação e manutenção.
É importante estar preparado para dar apoio às auditorias.
Integração do Sistema
A integração do sistema faz-se a partir da integração dos itens de configuração de software ao sistema. Após a
integração deve-se conduzir ao teste de qualificação do sistema. Após a codificação e testes é importante fazer a
avaliação do sistema, considerando os critérios listados a seguir:
Cobertura de teste dos requisitos do sistema;
Adequação dos métodos e padrões de teste utilizados;
Conformidade com os resultados esperados;
Viabilidade do teste de qualificação do sistema;
Viabilidade da operação e manutenção.
Teste de Qualificação do Sistema
Para garantir a qualidade do produto entregue é importante conduzir o teste de qualificação do sistema e fazer a
avaliação do sistema, considerando os critérios listados a seguir:
Cobertura de teste dos requisitos do sistema;
Conformidade com os resultados esperados;
Viabilidade da operação e manutenção.
É importante estar preparado para dar apoio às auditorias.
Instalação do Software
Na instalação do software deve-se executar um plano para instalar o produto de software no ambiente alvo,
conforme designado no contrato. Deve ser assegurado que o código do software e as bases de dados sejam iniciados,
6 of 7 8/3/2008 03:38
7. ISO/IEC 12207 - Wikipédia http://pt.wikipedia.org/wiki/ISO/IEC_12207
executados e finalizados, conforme especificado no contrato. Os eventos e resultados da instalação devem ser
documentados.
Apoio à Aceitação do Software
No apoio à aceitação do software é preciso garantir o apoio à revisão de aceitação do adquirente e testes do produto
de software. A revisão de aceitação e testes deve considerar os resultados de Revisões Conjuntas, Auditorias, Teste
de Qualificação do Software e Teste de Qualificação do Sistema (se executado). Conclusão e entrega do produto de
software deve ser feita, conforme especificado no contrato e o desenvolvedor deve prover treinamento inicial e
contínuo e suporte ao adquirente, conforme especificado no contrato.
Obtido em quot;http://pt.wikipedia.org/wiki/ISO/IEC_12207quot;
Categoria: Normas ISO
Esta página foi modificada pela última vez a 13h31min, 12 de Agosto de 2007.
O texto desta página está sob a GNU Free Documentation License.
Os direitos autorais de todas as contribuições para a Wikipédia pertencem aos seus respectivos autores (mais
informações em direitos autorais).
7 of 7 8/3/2008 03:38