Your SlideShare is downloading. ×
ISO IEC 12207
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

ISO IEC 12207

2,085
views

Published on

Published in: Technology, Business

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,085
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
137
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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