Norma ISO 12207

Embed Size (px)

Citation preview

Gerenciamento e Projetos de SistemasProf. Eduardo JuAbril 2010

1

Tpicos Ciclo de Vida do Projeto Ciclo de Vida do Desenvolvimento de Projeto de Sistemas (Ciclo Clssico) ISO 12207

2

Modelo de Desenvolvimento de Software uma representao abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software sero conduzidas e interrelacionadas para atingir o objetivo do desenvolvimento que a obteno de um produto de software de alta qualidade a um custo relativamente baixo.

3

Ciclo de Vida O que considerar para escolha de um Ciclo de Vida de Software: Natureza do projeto e da aplicao; Mtodos e ferramentas a seremusados; Recursos a serem utilizados; Controles e produtos que precisam ser entregues.

4

Ciclo de Vida Clssico (Sequencial Linear / Cascata) Modelo mais antigo e o mais amplamente usado da engenharia de software; Modelado em funo do ciclo da engenharia convencional; Requer uma abordagem sistemtica, seqencial ao desenvolvimento de software.5

Ciclo de Vida Clssico

6

ISO 12207

ISO 12207 A ISO 12207 a norma que define o processo de desenvolvimento de software; A norma internacional ISO 12207 tem como objetivo principal estabelecer uma estrutura comum para os processos de ciclo de vida de software visando ajudar as organizaes a compreenderem todos os componentes presentes na aquisio e fornecimento de software e, assim, conseguirem firmar contratos e executarem projetos de forma mais eficaz.

ISO 12207 No possui nenhuma ligao com mtodos, ferramentas, treinamentos, mtricas ou tecnologias empregadas. Esta determinao til para permitir que a norma seja utilizada mundialmente e possa acompanhar a evoluo da engenharia de software nas diversas culturas organizacionais. Ela pode ser utilizada com qualquer modelo de ciclo de vida, mtodo ou tcnica de engenharia de software e linguagem de programao. Sua flexibilidade uma caracterstica importante, as atividades e tarefas do processo de ciclo de vida do software especificam "o que fazer" e no "como fazer".

ISO 12207 Os processos so agrupados, por uma questo de organizao, 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 so: Processos fundamentais; Processo de apoio; Processos organizacionais.

ISO 12207 Os processos fundamentais so necessrios para que um software seja executado. Eles iniciam o ciclo de vida e comandam outros processos. So eles: Aquisio; Fornecimento; Desenvolvimento; Operao; Manuteno.

ISO 12207 Os processos de apoio auxiliam outro processo. Eles so usados para garantir a qualidade, mas no so fundamentais. So eles: Documentao; Aderncia de configurao; Garantia da qualidade; Verificao; Validao;

ISO 12207 Reviso conjunta; Auditoria; Resoluo de problema; Usabilidade; Contrato.

ISO 12207 Os processos organizacionais auxiliam a organizao e gerncia geral dos processos e podem ser empregados fora do domnio de projetos e contratos especficos, servindo para toda a organizao. So eles:

ISO 12207 Gerncia; Infra-estrutura; Melhoria; Recursos humanos; Gesto de ativos; Gesto de programa de reuso; Engenharia de domnio.

ISO 12207 Atividades do desenvolvimento de software descritas com base na norma ISO 12207: Implementao; Levantamento de requisitos; Anlise dos requisitos do sistema; Projeto da arquitetura do sistema; Anlise dos requisitos do software; Projeto da arquitetura do software;

ISO 12207 Projeto detalhado do software; Codificao e testes do software; Integrao do software; Teste de qualificao do software; Integrao do sistema; Teste de qualificao do sistema; Instalao do software; Apoio aceitao do software.

Implementao Consiste na definio ou seleo de um modelo de ciclo de vida de software apropriado ao escopo, magnitude e complexidade do projeto e na execuo de documentao dos resultados, de acordo com o processo de documentao; colocao dos resultados sob o processo de gerncia de configurao; execuo do controle de alteraes, de acordo com ele; documentao e resoluo de no-conformidades e problemas encontrados nos produtos de software e tarefas, de acordo com o processo de resoluo de problema; execuo dos processos de apoio, conforme especificado no contrato; seleo, adaptao e utilizao de padres, mtodos, ferramentas e linguagens de programao de computador; desenvolvimento dos planos para conduzir as atividades do processo de desenvolvimento.

Levantamento dos requisitos Consiste em entender os requisitos e solicitaes do sistema; obter e definir os requisitos e solicitaes do cliente atravs de sua solicitao direta ou atravs de outras entradas como reviso da proposta de negcio, objetivos operacionais, ambiente de hardware e outros documentos. imprescindvel entender as expectativas do cliente e assegurar que tanto o cliente quanto o fornecedor entendam os requisitos da mesma forma. Isso pode ser feito atravs do processo de apoio Reviso Conjunta descrito na norma ISO 12207. necessrio acordar os requisitos e obter um acordo entre as equipes que iro desenvolver o trabalho em relao aos requisitos do cliente.

Levantamento dos Requisitos importante gerenciar todas as mudanas feitas nos requisitos do cliente em relao linha-bsica definida assegurando que o resultado de mudanas tecnolgicas e de necessidades do cliente so identificados e os impactos de introduo dessas mudanas so avaliados.

Anlise dos Requisitos do Sistema Aps o levantamento, segue para a especificao dos requisitos do sistema. Esta especificao deve descrever: Funes e capacidades do sistema; Requisitos de negcio, organizacionais e de usurios; Requisitos de proteo, de segurana, de engenharia de fatores humanos (ergonomia), de interface, de operaes e de manuteno; Restries de projeto e requisitos de qualificao.

Anlise dos Requisitos do Sistema Os requisitos precisam ser avaliados. Por isso, para formalizar e facilitar a avaliao, os critrios listados a seguir devem ser seguidos: Rastreabilidade com os requisitos do cliente e necessidades de aquisio; Consistncia com as necessidades de aquisio e com o levantamento dos requisitos; Testabilidade; Viabilidade do projeto da arquitetura do sistema; Viabilidade da operao e manuteno.

Anlise dos Requisitos do Sistema Aps a avaliao importante estabelecer mecanismos de comunicao para disseminar os requisitos do sistema e suas atualizaes para todas as partes interessadas.

Projeto da Arquitetura do Sistema Com os requisitos elaborados e validados, pode-se estabelecer uma arquitetura de alto nvel para o sistema. A arquitetura deve identificar itens de hardware, software e operaes manuais. Aps a arquitetura ser estabelecida, necessrio avali-la, considerando os critrios listados a seguir: Rastreabilidade para os requisitos do sistema; Consistncia com os requisitos do sistema; Adequao dos mtodos e padres de projeto utilizados; Viabilidade dos itens de software atenderem seus requisitos alocados; Viabilidade da operao e da manuteno.

Anlise dos Requisitos do Software Para garantir a qualidade do produto entregue, as caractersticas de qualidade descritas a seguir devem ser observadas nos requisitos de software: Especificaes funcionais e de capacidade, incluindo desempenho, caractersticas fsicas e condies do ambiente sob o qual o item de software ser executado; Interfaces externas ao item de software; Requisitos de qualificao; Especificaes de proteo, incluindo aquelas relacionadas aos mtodos de operao e manuteno, influncias do ambiente e danos pessoais; Especificaes de segurana, incluindo aquelas relacionadas com o comprometimento de informaes sigilosas;

Anlise dos Requisitos do Software Especificaes de engenharia de fatores humanos (ergonomia), incluindo aquelas relacionadas com operaes manuais, interaes entre homemmquina, restries a pessoal e reas que necessitam de maior ateno humana, que so sensveis a erros humanos e treinamento; Definio de dados e requisitos de bases de dados; Requisitos de instalao e aceitao do produto de software entregue nos locais de operao e manuteno; Documentao do usurio; Requisitos do usurio para execuo e operao; Requisitos do usurio para manuteno.

Anlise dos Requisitos do Software Aps a anlise de requisitos de software necessrio fazer a avaliao desses requisitos considerando os critrios listados a seguir: Rastreabilidade para os requisitos do sistema e projeto do sistema; Consistncia externa com os requisitos do sistema; Consistncia interna; Testabilidade; Viabilidade do projeto do software; Viabilidade da operao e manuteno. Pode-se conduzir uma ou mais revises conjuntas e estabelecer as baselines.

Projeto de Arquitetura do Software O projeto de arquitetura de software busca transformar os requisitos em uma arquitetura que descreve sua estrutura de alto nvel e identifica os componentes de software. As verses preliminares da documentao do usurio, dos requisitos preliminares e de testes devem ser garantidas e documentadas. O cronograma para a Integrao do Software deve ser criado. A avaliao da arquitetura do item de software e os projetos de interface e base de dados, considerando os critrios listados a seguir:

Projeto de Arquitetura do Software Rastreabilidade para os requisitos do item de software; Consistncia externa com os requisitos do item de software; Consistncia interna entre os componentes de software; Adequao dos mtodos e padres de projeto utilizados; Viabilidade do projeto detalhado; Viabilidade da operao e manuteno. Pode-se conduzir uma ou mais revises conjuntas e estabelecer as baselines.

Projeto Detalhado do Software Aps o projeto de arquitetura, desenvolve-se um projeto detalhado de software para cada componente do software. Os componentes de software devem ser refinados em nveis mais baixos, contendo unidades de software que possam ser codificadas, compiladas e testadas. O projeto detalhado das interfaces deve permitir a codificao sem a necessidade de informao adicional. Durante o detalhamento de software, se for necessrio, deve ser feita a atualizao da documentao do usurio. importante definir e documentar os requisitos de teste e o cronograma para testar unidades de software.

Projeto Detalhado do Software Aps detalhamento do projeto de software necessrio fazer a avaliao deste detalhamento, considerando os critrios listados a seguir: Rastreabilidade para os requisitos do item de software; Consistncia externa com o projeto da arquitetura; Consistncia interna entre os componentes e unidades de software; Adequao dos mtodos e padres de projeto utilizados; Viabilidade dos testes; Viabilidade da operao e manuteno. Pode-se conduzir uma ou mais revises conjuntas e estabelecer as baselines.

Codificao e Testes do Software Para, finalmente, executar a codificao e os testes necessrio 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 fase, a atualizao e documentao do usurio pode ser feita, se necessrio. Aps a codificao e testes importante fazer a avaliao do cdigo do software e dos resultados dos testes, considerando os critrios listados a seguir:

Codificao e Testes do Software Rastreabilidade para os requisitos e projeto do item de software; Consistncia externa com os requisitos e projeto do item de software; Consistncia interna entre os requisitos da unidade; Cobertura de teste das unidades; Adequao dos mtodos e padres de codificao utilizados; Viabilidade da integrao e testes do software; Viabilidade da operao e manuteno. Os resultados das avaliaes devem ser documentados.

Integrao do Software Para poder homologar o sistema necessrio desenvolver um plano de integrao para integrar as unidades e componentes de software. O plano deve incluir requisitos de teste, procedimentos, dados, responsabilidades e cronograma. Deve-se testar essas agregaes medida que forem sendo integradas, de acordo com o plano de integrao. Durante esta fase, a atualizao e documentao do usurio pode ser feita, se necessrio.

Integrao do Software Aps a codificao e testes importante fazer a avaliao do plano de integrao, projeto, cdigo, testes, resultados dos testes e a documentao do usurio, considerando os critrios listados:

Integrao do Software Rastreabilidade para os requisitos do sistema; Consistncia externa com os requisitos do sistema; Consistncia interna; Cobertura de teste dos requisitos do item de software; Adequao dos mtodos e padres de teste utilizados; Conformidade com os resultados esperados; Viabilidade do teste de qualificao do software; Viabilidade da operao e manuteno. Pode-se conduzir uma ou mais revises conjuntas e estabelecer as baselines.

Teste de Qualificao do Software Deve-se desenvolver e documentar os requisitos de qualificao de software e elaborar casos de teste (entradas, sadas e critrios de teste) e procedimentos de teste para conduzir o Teste de Qualificao do Software de acordo com os requisitos de qualificao para o item de software. Aps a codificao e testes importante fazer a avaliao do projeto, cdigo, testes, resultados dos testes e a documentao do usurio, considerando os critrios listados a seguir:

Teste de Qualificao do Software Cobertura de teste dos requisitos do item de software; Conformidade com os resultados esperados; Viabilidade da integrao e testes do sistema, se conduzidos; Viabilidade da operao e manuteno. importante estar preparado para dar apoio s auditorias.

Integrao do Sistema A integrao do sistema faz-se a partir da integrao dos itens de configurao de software ao sistema. Aps a integrao deve-se conduzir ao teste de qualificao do sistema. Aps a codificao e testes importante fazer a avaliao do sistema, considerando os critrios listados a seguir:

Cobertura de teste dos requisitos do sistema; Adequao dos mtodos e padres de teste utilizados; Conformidade com os resultados esperados; Viabilidade do teste de qualificao do sistema; Viabilidade da operao e manuteno.

Teste de Qualificao do Sistema Para garantir a qualidade do produto entregue importante conduzir o teste de qualificao do sistema e fazer a avaliao do sistema, considerando os critrios listados a seguir: Cobertura de teste dos requisitos do sistema; Conformidade com os resultados esperados; Viabilidade da operao e manuteno. importante estar preparado para dar apoio s auditorias.

Instalao do Software Na instalao 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 cdigo do software e as bases de dados sejam iniciados, executados e finalizados, conforme especificado no contrato. Os eventos e resultados da instalao devem ser documentados.

Apoio aceitao do Software No apoio aceitao do software preciso garantir o apoio reviso de aceitao do adquirente e testes do produto de software. A reviso de aceitao e testes deve considerar os resultados de Revises Conjuntas, Auditorias, Teste de Qualificao do Software e Teste de Qualificao do Sistema (se executado). Concluso e entrega do produto de software deve ser feita, conforme especificado no contrato e o desenvolvedor deve prover treinamento inicial e contnuo e suporte ao adquirente, conforme especificado no contrato.

ISO 15504 A ISO15504 tambm conhecida como SPICE - Software Process Improvement and Capability Determination. a norma ISO que define processo de desenvolvimento de software. Ela uma evoluo da ISO 12207 com nveis de capacidade para cada processo assim como o CMMI.43

ISO 15504 Define um modelo bi-dimensional que tem por objetivo a realizao de avaliaes de processos de software com o foco da melhoria dos processos (gerando um perfil dos processos, identificando os pontos fracos e fortes, que sero utilizados para a elaborao de um plano de melhorias) e a determinao da capacidade dos processos viabilizando a avaliao de um fornecedor em potencial.44

ISO 15504 O SPICE inclui um modelo de referncia, que serve de base para o processo de avaliao. Este modelo define duas dimenses: Dimenso de Processo; Dimenso de Capacidade. O modelo corresponde definio de um conjunto de processos considerados universais e fundamentais para a boa prtica da engenharia de software.45

ISO 15504 Os processos so agrupados em cinco categorias: Cliente-Fornecedor; Engenharia; Suporte; Gerncia; Organizao.

46