Abrir menu principal
Merge-arrows 2.svg
Foi proposta a fusão deste artigo ou se(c)ção com ISO/IEC 12207. Se a fusão não for óbvia, por favor crie um espaço de discussão e justifique o motivo aqui; não é necessário criar o espaço em ambas as páginas, crie-o somente uma vez. Em marcações antigas é provável que já haja uma discussão acontecendo na página de discussão de um dos artigos. Verifique ambas (1, 2) e leve toda a discussão quando levar o caso para a central. (desde março de 2019)

Índice

IntroduçãoEditar

A Norma NBR ISO/IEC 12207 - Processos do Ciclo de Vida do Software tem como principal objetivo fornecer uma estrutura comum para que o adquirente, fornecedor, desenvolvedor, mantenedor, operador, gerentes e técnicos envolvidos com o desenvolvimento de software utilizem uma linguagem comum. Esta linguagem comum é estabelecida na forma de processos bem definidos.

A estrutura da norma foi concebida de maneira a ser flexível, modular e adaptável às necessidades de quem a utiliza. Para isso, está fundamentada em dois princípios básicos: modularidade e responsabilidade.

  • Modularidade, no sentido de processos com mínimo acoplamento e máxima coesão. Um processo individual é dedicado a uma função única e muitos empregam ou compartilham outro processo para uma função especializada.[1]
  • Responsabilidade, no sentido de estabelecer um responsável único por cada processo, facilitando a aplicação da norma em projetos, onde várias pessoas podem estar legalmente envolvidas.

Conforme citado anteriormente, a norma é composta por um conjunto de processos, atividades e tarefas que podem ser adaptados de acordo com os projetos de software. Estes processos são classificados em três tipos: fundamentais, de apoio e organizacionais. Os processos fundamentais são instanciados de acordo com a situação. Enquanto que os processos de apoio e organizacionais devem existir independentemente da organização e do projeto que está sendo executado. Os processos fundamentais atendem ao contrato entre fornecedor e adquirente e à execução do desenvolvimento, da operação ou da manutenção de produtos de software durante o seu ciclo de desenvolvimento. Os processos de apoio, auxiliam e contribuem para o sucesso e a qualidade do projeto de software. Os processos organizacionais são empregados por uma organização para estabelecer e implementar uma estrutura constituída pelos processos do ciclo de vida e pelo pessoal envolvido no seu desenvolvimento.

Cada processo é divido em um conjunto de atividades, e cada atividade em um conjunto de tarefas. Os processos de apoio e organizacionais devem existir independentemente da organização e do projeto que está sendo executado. Os processos fundamentais são instanciados de acordo com a situação. Estes processos, atividades e tarefas podem ser adaptados de acordo com as características de um projeto de software.

ObjetivoEditar

Esta norma 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. A estrutura contém processos, atividades e tarefas que servem para ser aplicadas durante a aquisição de um sistema que contém software, de um produto de software independente ou de um serviço de software, e durante o fornecimento, desenvolvimento, operação e manutenção de produtos de software. O termo software inclui a parte de software de firmware. Esta norma também provê um processo que pode ser utilizado para definir, controlar e melhorar os processos de ciclo de vida de software.

Campo de aplicaçãoEditar

Esta norma aplica-se à aquisição de sistemas, produtos e serviços de software , para o fornecimento, o desenvolvimento, a operação e a manutenção de produtos de software, e para a parte de software de firmware , quer sejam executados interna ou externamente a uma organização. Alguns aspectos necessários de definição de sistemas, para prover o contexto a produtos e serviços de software ,estão incluídos.

  • NOTA - Os processos utilizados durante o ciclo de vida de software necessitam ser compatíveis com os processos utilizados durante o ciclo de vida de sistema.

Adaptação desta NormaEditar

Esta norma contém um conjunto de processos, atividades e tarefas projetado para ser adaptado de acordo com cada projeto de software. O processo de adaptação consiste na supressão de processos, atividades e tarefas não aplicáveis.

  • NOTA - Processos, atividades e tarefas, específicos ou especiais, podem ser adicionados ao contrato.

ConformidadeEditar

A conformidade a esta norma é definida como a execução de todos os processos, atividades e tarefas, selecionados desta norma no processo de adaptação, para o projeto de software. A execução de um processo ou uma atividade é concluída quando todas as suas tarefas requeridas são executadas de acordo com os critérios pré-estabelecidos e com os requisitos especificados no contrato, quando aplicável. Qualquer organização (por exemplo, estatal ou privada) que exija o cumprimento desta norma como uma condição de negócio, é responsável por especificar e disponibilizar o conjunto mínimo de processos, atividades e tarefas requeridas, que constitui a conformidade dos fornecedores a esta norma.

LimitaçõesEditar

Esta norma descreve a arquitetura dos processos de ciclo de vida de software , mas não especifica os detalhes de como implementar ou executar as atividades e tarefas incluídas nos processos.

  • Pontos importantes sobre as limitações desta norma:
  1. Esta norma não pretende prescrever o nome, formato ou conteúdo explicito da documentação a ser produzida.
  2. Esta norma não sugere a ordem de desenvolvimento ou entrega destes documentos.
  3. Esta norma não prescreve um modelo específico de ciclo de vida ou método de desenvolvimento de software.

Referências NormativasEditar

As normas relacionadas a seguir contêm disposições que, ao serem citadas neste texto, constituem prescrições para esta norma. As edições indicadas estavam em vigor no momento desta publicação. Como toda norma está sujeita a revisão, recomenda-se àqueles que realizam acordos com base nesta que verifiquem a conveniência de se usarem as edições mais recentes das normas citadas a seguir. A ABNT possui a informação das normas em vigorem um dado momento.

  • ISO/AFNOR:1989 - Dictionary of computer science.
  • 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.
  • ISO/IEC 9126:1991 - Information technology - Software product evaluation - Quality characteristics and guidelines for their use.

Organização desta NormaEditar

Processos de ciclo de vidaEditar

Esta Norma agrupa as atividades que podem ser executadas durante o ciclo de vida de software em cinco processos fundamentais, oito processos de apoio e quatro processos organizacionais. Cada processo de ciclo de vida é dividido em um conjunto de atividades; cada atividade é então dividida em um conjunto de tarefas.

 
Quadro com separação dos processos da ISO\IEC 12207

Processos fundamentais de ciclo de vidaEditar

Os processos fundamentais de ciclo de vida constituem um conjunto de cinco processos que atendem as partes fundamentais (pessoa ou organização) durante o ciclo de vida de software. Uma parte fundamental é aquela que inicia ou executa o desenvolvimento, operação ou manutenção dos produtos de software . Estas partes fundamentais são o adquirente, o fornecedor, o desenvolvedor, o operador e o mantenedor do software .

Os processos fundamentais são:

  1. Processo de aquisição: Define as atividades do adquirente, organização que adquire um sistema ou produto de software. Inicia-se com a definição da necessidade de adquirir um sistema, um produto de software ou um serviço de software. O processo continua com a preparação e emissão de pedido de proposta, seleção de fornecedor e gerência do processo de aquisição através da aceitação do sistema, produto de software ou serviço de software.
  2. Processo de fornecimento: Define as atividades do fornecedor, organização que provê o produto de software ao adquirente. O processo pode ser iniciado tanto por uma decisão de preparar uma proposta para responder a um pedido de proposta de um adquirente, quanto pela assinatura e celebração de um contrato com o adquirente para fornecer o sistema, produto de software ou serviço de software. O processo continua com a determinação dos procedimentos e recursos necessários para gerenciar e garantir o projeto, incluindo o desenvolvimento e a execução dos planos de projeto, até a entrega do sistema, produto de software ou serviço de software para o adquirente.
  3. Processo de desenvolvimento: Define as atividades do desenvolver, organização que define e desenvolve o produto de software. O processo contém as atividades para análise de requisitos, projeto, codificação, integração, testes, e instalação e aceitação relacionada aos produtos de software.
  4. Processo de operação: Define as atividades do operador, organização que provê serviço de operação de um sistema computacional no seu ambiente de funcionamento para seus usuários. O processo cobre a operação do produto de software e o suporte operacional aos usuários.
  5. Processo de manutenção: Define as atividades do mantenedor, organização que provê os serviços de manutenção do software, isto é, gerenciamento de modificações no software para mantê-lo atualizado e em perfeita operação. Este processo é ativado quando o produto de software é submetido a modificações no código e na documentação associada devido a um problema, ou à necessidade de melhoria ou adaptação. O objetivo é modificar um produto de software existente, preservando a sua integridade.

Processos de apoioEditar

Têm como objetivo auxiliar outros processos, visando principalmente a qualidade e o sucesso do projeto. São representados pelos:

  • Processo de Documentação: Define as atividades para registrar informações produzidas por um processo ou atividade do ciclo de vida. O processo contém o conjunto de atividades que planeja, projeta, desenvolve, produz, edita, distribui e mantém os documentos necessários a todos os interessados, tais como gerentes, engenheiros e usuários do sistema ou produto de software.
  • Processo de Gerência de Configuração: Define as atividades para a aplicação de procedimentos administrativos e técnicos por todo o ciclo de vida de software, destinado a: identificar e definir os itens de software em um sistema e estabelecer suas linhas básicas (baseline); controlar as modificações e liberações dos itens; registrar e apresentar a situação dos itens e dos pedidos de modificação; garantir a completeza, a consistência e a correção dos itens; e controlar o armazenamento, a manipulação e a distribuição dos itens.
  • Processo de Garantia da Qualidade: Define as atividades para fornecer a garantia adequada de que os processos e produtos de software, no ciclo de vida do projeto, estejam em conformidade com seus requisitos especificados e sejam aderentes aos planos estabelecidos. A abrangência do processo inclui questões como garantia de qualidade do produto (NBR 13596 que corresponde à ISO/IEC 9126), do processo e do sistema de qualidade.
  • Processo de Verificação: Define as atividades para verificação dos produtos de software. É um processo para determinar se os produtos de software de uma atividade atendem completamente aos requisitos ou condições a eles impostas.
  • Processo de Validação: Define as atividades para validação dos produtos produzidos pelo projeto de software. É um processo para determinar se os requisitos e o produto final (sistema ou software), atendem ao uso específico proposto.
  • Processo de Revisão Conjunta: Define as atividades para avaliar a situação e produtos de uma atividade de um projeto, se apropriado. As revisões conjuntas são feitas tanto nos níveis de gerenciamento do projeto, como nos níveis técnicos e são executadas durante a vigência do contrato.
  • Processo de Auditoria: Define as atividades para determinar adequação aos requisitos, planos e contrato, quando apropriado.
  • Processo de Resolução de Problemas: Define um processo para analisar e resolver os problemas (incluindo não-conformidades), de qualquer natureza ou fonte, que são descobertos durante a execução do desenvolvimento, operação, manutenção ou outros processos. O objetivo é prover os meios em tempo adequado e de forma responsável e documentada para garantir que todos os problemas encontrados sejam analisados e resolvidos e tendências sejam identificadas.

Processos organizacionaisEditar

Têm como objetivo garantir e melhorar os processos dentro da organização. São representados pelos:

  • Processo de Gerência: Define as atividades genéricas que podem ser empregadas por quaisquer das partes que têm que gerenciar seu(s) respectivo(s) processo(s). O gerente é responsável pelo gerenciamento de produto, gerenciamento de projeto e gerenciamento de tarefa do(s) processo(s) aplicável(eis), tais como: aquisição, fornecimento, desenvolvimento, operação, manutenção ou processos de apoio.
  • Processo de Infra-estrutura: Define as atividades para estabelecer e manter a infra-estrutura necessária para qualquer outro processo. A infra-estrutura pode incluir hardware, software, ferramentas, técnicas, padrões e recursos para o desenvolvimento, operação ou manutenção.
  • Processo de Melhoria: Define as atividades básicas que uma organização (isto é, adquirente, fornecedor, desenvolvedor, operador, mantenedor, ou o gerente de outro processo) executa para estabelecer, avaliar, medir, controlar e melhorar um processo de ciclo de vida de software.
  • Processo de Treinamento: Define as atividades para prover e manter pessoal treinado. A aquisição, o fornecimento, o desenvolvimento, a operação ou a manutenção de produtos de software são extremamente dependentes de pessoal com conhecimento e qualificação. Portanto, é essencial que o treinamento seja planejado e implementado com antecedência para que o pessoal treinado esteja disponível quando o produto de software for adquirido, fornecido, desenvolvido, operado ou mantido.

A Norma também descreve o Processo de Adaptação que contém as atividades básicas para adaptar a Norma à uma organização ou projeto específico.[1]

Notas e referênciasEditar

'Fonte Os Padrões ISO/IEC 12207 e 15504 e a Modelagem de Processos da Qualidade de Software

'Fonte http://www.abntcatalogo.com.br/norma.aspx?ID=38643


  Este artigo é um esboço. Você pode ajudar a Wikipédia expandindo-o. Editor: considere marcar com um esboço mais específico.
  1. Singh, Raghu (1 de março de 1996). «International Standard ISO/IEC 12207 Software Life Cycle Processes». Software Process: Improvement and Practice (em inglês). 2 (1): 35–50. ISSN 1099-1670. doi:10.1002/(SICI)1099-1670(199603)2:13.0.CO;2-3