Análise e Projeto de Sistemas
Aula 3
Professor: Italo Rodrigues Castro
Fases do processo de
desenvolvimento de Software (RUP)

Objetivo do RUP é:
- Garantir a produção de software de alta
qualidade, de acordo com as necessidades de
seus usuários e dentro de cronogramas e
orçamentos previsíveis.
Fases do processo de
desenvolvimento de Software (RUP)

A fase de concepção incorpora o estudo de
viabilidade e uma parte da análise de
requisitos;

A fase de elaboração incorpora a maior parte
da análise de requisitos, a análise de domínio
e o projeto;
Fases do processo de
desenvolvimento de Software (RUP)

A fase de construção corresponde
construção do software e testes;
à

A fase de transição consiste na instalação e
manutenção do sistema;
Fases do processo de
desenvolvimento de Software (RUP)
Ciclo de Vida de um Software

Conjunto da história de um software desde
a percepção de sua necessidade até sua
retirada de operação.

Determina o caráter temporal do software.

Começa antes de seu projeto de
desenvolvimento e terminando após o
esgotamento de seu uso.
Ciclo de Vida de um Software
Ciclo de Vida de um Software






Codifica - Remenda
Cascata
Cascata com realimentação
Espiral
Prototipagem evolutiva
Entrega evolutiva
Ciclo de Vida “Codifica-Remenda”


Também conhecido como build-and-fix.
Constrói e a medida que vai encontrando
erros vai consertando.
Ciclo de Vida de um Software





Provavelmente o mais usado.
Não exige sofisticação técnica ou
gerencial.
Alto risco.
Impossível de gerir.
Não permite assumir compromissos
confiáveis.
Ciclo de Vida Em Cascata
Ciclo de Vida Em Cascata
Subprocessos executados em estrita
seqüência.
 Pontos de controle bem definidos.
 Facilitam gestão.
 Teoricamente, confiável e utilizável em
projetos de qualquer escala.
 Interpretado literalmente.
 É rígido e burocrático.

Ciclo de Vida Em Cascata
Exige requisitos “congelados”.
 Exige perfeccionismo na execução dos
subprocessos.
 Não são permitidos erros.
 Baixa visibilidade para o cliente que só
recebe o resultado final do projeto.

Em Cascata com Realimentação
Em Cascata com Realimentação

Expansão do modelo em cascata.
É sempre necessário permitir que, em
subprocessos posteriores haja revisão e
alteração dos subprocessos anteriores.


Subprocessos executados em seqüência.
Em Cascata com Realimentação

Permite que o material de um subprocesso
anterior seja revisto ou alterado.
Pontos de controle bem definidos, como
no Cascata.


Facilitam a gestão (como no cascata).
Em Espiral
Em Espiral

O produto é desenvolvido em iterações.

Cada nova iteração corresponde a uma
volta no espiral.

Os problemas identificados em uma
iteração são utilizados para alimentar a
próxima.
Em Espiral
Permite construir produtos em prazos curtos.
 Novas características são adicionadas à
medida que o problema é entendido.
 Favorece para que as verdadeiras
necessidades apareçam.
 É um modelo complexo.
 Requer gestão sofisticada para ser previsível
e confiável.
 Requer desenho robusto para evitar que a
estrutura do produto se degrade.

Prototipagem Evolutiva
Prototipagem Evolutiva
Ao invés de desenvolver o produto completo,
desenvolve-se versões provisórias chamadas
de protótipos.
 Os protótipos cobrem cada vez mais
requisitos até atingir o produto desejado.
 Funciona bem em projetos com alta
volatilidade de requisitos.
 Funciona bem em projetos onde o cliente é
relutante em se comprometer com os requisitos.

Prototipagem Evolutiva
Permite que requisitos sejam definidos
progressivamente evitando a construção com
requisitos mal-levantados.
 Alta flexibilidade e visibilidade para os
clientes.
 Não se é possível saber de antemão quando
um produto aceitável estará pronto.
 Requer gestão sofisticada para ser previsível
e confiável.

Entrega Evolutiva
Entrega Evolutiva




Em pontos bem definidos usuários podem
avaliar partes do produto.
São fornecidos realimentações quanto às
decisões tomadas.
Funciona bem em projetos em que o
núcleo de requisitos não varia a partir do
feedback do usuário.
Facilita o acompanhamento dos projetos
por parte de gerentes e de clientes.
Entrega Evolutiva
A arquitetura do sistema é a parte mais
importante.
 Arquitetura deve ser robusta.
 Arquitetura deve permanecer íntegra ao
longo das liberações.

Entrega Evolutiva
Qual a diferença da prototipagem evolutiva
para o ciclo de vida de entrega evolutiva?

- Prototipagem evolutiva enfatiza aspectos
visuais do sistema.
- Entrega evolutiva enfatiza as funcionalidades
centrais do sistema que são improváveis de
serem alteradas pelo feedback do usuário.
Obrigado!
?
Download

analiseeprojsistemas3