ISO 12207

Origem: Wikipédia, a enciclopédia livre.
Saltar para a navegação Saltar para a pesquisa
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)

Introdução[editar | editar código-fonte]

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.
  • 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.

Objetivo[editar | editar código-fonte]

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ção[editar | editar código-fonte]

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 Norma[editar | editar código-fonte]

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.

Conformidade[editar | editar código-fonte]

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ções[editar | editar código-fonte]

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 Normativas[editar | editar código-fonte]

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 Norma[editar | editar código-fonte]

Processos de ciclo de vida[editar | editar código-fonte]

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 vida[editar | editar código-fonte]

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 apoio[editar | editar código-fonte]

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 organizacionais[editar | editar código-fonte]

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ências[editar | editar código-fonte]

'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

Wiki letter w.svg Este artigo é um esboço. Você pode ajudar a Wikipédia expandindo-o. Editor: considere marcar com um esboço mais específico.