Você está na página 1de 46

Gerenciamento e Projetos de Sistemas

Prof. Eduardo Ju
Abril 2010

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

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.

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.

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

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

Você também pode gostar