23
Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Embed Size (px)

Citation preview

Page 1: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Engenharia de Software

Ciclo de Vida de Projetos de SWProf. E.A.Schmitz

2007

Page 2: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Ciclo de vida de projetos

Projetos são empreendimentos únicos e portanto envolvem um grau de incerteza.

Organizações dividem projetos em fases de forma a garantir um melhor controle e encadeamento com as operações correntes da empresa.

O conjunto das fases de um projeto é conhecido como ciclo de vida do projeto.

Page 3: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Ciclo de vida de projetos

Cada fase do projeto é marcada pela conclusão de um ou mais produtos.

Produto de trabalho: deve ser tangível e verificável.

Exemplo: um estudo de viabilidade, um projeto detalhado ou um protótipo executável.

Page 4: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Seqüência das fases de projetos

A seqüência de fases normalmente envolve alguma forma de transferência de informação: p.ex. de requisitos para projeto ou de projeto para construção.

Produtos das fases precedentes são usualmente aprovados antes do início da fase seguinte.

“Fast tracking”: fases correndo em paralelo com um risco tolerável.

Page 5: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Modelos de Ciclo de vida

Modelos de ciclos de vida de projetos definem:

quem deve estar envolvido em cada fase;

que parte do trabalho técnico que deve ser feita em cada fase.

Page 6: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Modelos básicos de ciclo de vida de SW

Sequencial linear

Prototipação

Incremental

Espiral

Page 7: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Modelo Seqüencial Linear

Análise Projeto Codificação Testes

Engenharia de Sistemas

Page 8: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Modelo em Cascata

Viabilidade

Requisitos

Projeto

Cod. Módulos

Integração

Entrega

Manutenção

Page 9: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Modelo em Cascata

Processo linear: saída de uma fase é a entrada para a seguinte

Consiste de 7 fases 1. Estudo de viabilidade 2. Definição de requisitos 3. Projeto 4. Codificação e teste dos módulos 5. Integração e teste do sistema 6. Entrega e aceitação 7. Manutenção

Page 10: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Modelo em Cascata

Problemas dificuldade de estimar com pouca informação especificação de requisitos é um documento escrito usuário não sabe os requisitos exatos processo não força antecipação das mudanças processo baseado na produção de documentos

(burocrático) Apesar disto:

ainda é o modelo mais usado pela simplicidade contratual.

Page 11: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Sequencial com Fast Tracking

Variante do modelo sequencial linear Fase inicia antes que a(s) precursora(s)

tenha(m) terminado Aumenta risco de retrabalho

Requisitos

Projeto

Cod. Módulos

Page 12: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

•Processo cíclico para especificar:

• requisitos definidos pelo usuário

•necessidades de hardware e software

• Construção rápida dos primeiros modelos

•não integrados ao produto final

•Após o término é feita a definição do sistema com focando os demais requisitos de qualidade

Prototipação

Page 13: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Prototipação

Ouvir oCliente

Desenho eConstrução

Avaliaçãodo Cliente

Prototipação é uma boa opção para a definição de requisitos

Page 14: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Prototipação

Pontos positivos grande interação com o usuário qualidade da definição da interface

Pontos negativos expectativa do usuário compromissos com a tecnologia

Page 15: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Modelo Incremental

Requisitos

Projeto

Cod. Mód.

Integraçào

Aceite

Projeto

Cod. Mód.

Integraçào

Aceite

Page 16: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Modelo Incremental (Rapid Application Development- RAD)

Modelagemdo Negócio

Modelagemdos Dados

Modelagemde Processos

Geração doAplicativo

Testes

60-90 dias

Modelagemdo Negócio

Modelagemdos Dados

Modelagemde Processos

Geração doAplicativo

Testes

60-90 dias

Page 17: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Modelo RAD

1-Modelagem do negócio: definição das atividades a serem executadas e seus requisitos de informação

2-Modelagem dos dados – Definição dos objetos de dados que suportam o negócio

3-Modelagem do tratamento da informação – Descrição dos processos de manipulação dos objetos de dados

4-Geração da aplicação – usando técnicas de geração de código e bibliotecas de componentes

5-Testes – Tempo de testes reduzido devido ao uso de componentes

Page 18: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Modelo RAD

Pontos positivos uso de componentes redução do tempo

Pontos negativos tamanho da equipe necessidade de comprometimento não adequada a projetos de risco

Page 19: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

O Modelo Espiral

Reune a natureza interativa da prototipação com os aspectos sistemáticos e de controle do modelo sequencial

Grupos de atividades: Comunicação com o cliente; Planejamento; Análise de risco; Engenharia; Construção e distribuição; Avaliação do cliente.

Page 20: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

Modelo em Espiral (cont.)

1-Objetivos ?

2-AvaliarAlternativasRiscos

3-Construir

4-Avaliar

Page 21: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

O Modelo Espiral

Cada volta ao longo da espiral gera: um protótipo versão mais sofisticada;

Permite ao desenvolvedor: utilizar a prototipação em qualquer estágio de evolução do produto manter a sistemática sugerida pelo ciclo de vida clássico.

Page 22: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

O Modelo Espiral “WinWin”

Realça os aspectos de comunicação com o cliente.

O levantamento de requisitos junto ao cliente é um processo de negociação que deve beneficiar a ambos os lados (cliente e desenvolvedor):

O cliente ganha: produto que atende a maior parte de suas necessidades;

O desenvolvedor ganha: custos e prazos mais realistas.

Page 23: Engenharia de Software Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2007

O Modelo Espiral “WinWin”

No início de cada passo ao longo da espiral, realiza-se um conjunto de atividades de negociação:

Identificação do patrocinador do sistema; Definição das condições do patrocinador; Negociação das condições do patrocinador, considerando aspectos

do desenvolvedor e visando o win-win.