Você está na página 1de 15

Análise e Design através da UML

thiry@sj.univali.br
Escolhendo um
Modelo de
Ciclo de Vida
salm@inf.univali.br

Ciclos de Vida 1

Ciclo de Vida de um Produto

• Qualquer desenvolvimento de produto inicia


Análise e Design através da UML

com uma idéia e termina com o produto


thiry@sj.univali.br

pretendido.

• O ciclo de vida de um produto é a definição


dos passos que transformam aquela idéia no
produto acabado.
salm@inf.univali.br

• O modelo de ciclo de vida é o centro do


processo de gerenciamento do produto.

Ciclos de Vida 2
Componentes do Desenvolvimento

Análise e Design através da UML • Fases: passos que indicam o progresso do


thiry@sj.univali.br projeto.

• Atividades: ações requeridas para criar e


entregar o projeto.

• Subprodutos: produtos tangíveis criados


durante o projeto.
salm@inf.univali.br

• Milestones (marcos): eventos importantes no


projeto (momentos de decisão).

Ciclos de Vida 3

Diferentes Modelos

• Diferentes modelos tem diferentes


Análise e Design através da UML

componentes e não existe um modelo correto.


thiry@sj.univali.br

• É responsabilidade do gerente de projeto,


verificar quais modelos são mais indicados
para o projeto.
salm@inf.univali.br

• Ao final, o gerente deve combinar estes


modelos, criando um modelo que seja
adequado às necessidades do projeto.

Ciclos de Vida 4
A Escolha do Modelo

Análise e Design através da UML


• A escolha de um modelo adequado é
thiry@sj.univali.br

crítica.

• O modelo escolhido será a ferramenta de


gerência (visão comum de como o
trabalho será feito).
salm@inf.univali.br

Ciclos de Vida 5

Expectativas

• O ciclo de vida deve viabilizar:


Análise e Design através da UML

– a definição de pontos de controle


thiry@sj.univali.br

– o planejamento e acompanhamento do
progresso
– o planejamento e acompanhamento do
orçamento
– estimativas
salm@inf.univali.br

– a gerência de risco

Ciclos de Vida 6
Pensando na Equipe de Desenvolvimento

Análise e Design através da UML


• A equipe deve conhecer e entender o modelo a
ser adotado.
thiry@sj.univali.br

• DICA: entender como as equipes de


desenvolvimento de software realmente
trabalham.
salm@inf.univali.br

Ciclos de Vida 7

Considerações

• A escolha é direcionada pelas características


Análise e Design através da UML

econômicas da situação.
thiry@sj.univali.br

• Objetivo fundamental de qualquer gerente de


projeto:
– entregar o projeto da forma mais econômica
possível, minimizando tempo e esforço.
salm@inf.univali.br

• Primeiras técnicas: anos 70


– quais eram as prioridades?
– tamanho do código e tempos de compilação.

Ciclos de Vida 8
Habilidades de um Projetista

Análise e Design através da UML • Responder a mudanças nos requisitos


• Validar continuamente o produto.
thiry@sj.univali.br

• Gerenciar o conteúdo através do ciclo de


desenvolvimento.
• Ser flexível para resolver problemas com
dependências pendentes.
• Promover soluções através da colaboração do
salm@inf.univali.br

grupo.
• Estabelecer e assegurar milestones (o grupo
deve participar e estar informado).

Ciclos de Vida 9

Trabalho em Grupo

• Ênfase a qualidade no projeto e não através de


Análise e Design através da UML

testes.
thiry@sj.univali.br

• Projeto mais iterativo.


• Prevenção mais do que correção.
• Concorrência de projeto.
• Ênfase em processos e métricas.
• Estabelecer a funcionalidade da equipe e os
inter-relacionamentos*.
salm@inf.univali.br

• Delegar responsabilidades.

* Cross-functional design: freqüentemente inclui a participação


de clientes e/ou usuários.
Ciclos de Vida 10
Modelos de Ciclo de Vida

Análise e Design através da UML • Vários modelos:


– em cascata
– em espiral
thiry@sj.univali.br

– desenvolvimento rápido de aplicações


– iterativo incremental

• Conceitos:
– Release: versão completa do produto
– Build: versão que atende predeterminados requisitos
salm@inf.univali.br

– Fase: os componentes do ciclo de desenvolvimento


– Integração: versão parcialmente funcional do sistema total
que é compilado e linkado como parte do processo de
desenvolvimento

Ciclos de Vida 11

Modelo em Cascata
Análise e Design através da UML
thiry@sj.univali.br
salm@inf.univali.br

Ciclos de Vida 12
Modelo em Espiral (Boehm)

Análise e Design através da UML • Iterações através de quatro fases de alto nível:
– determinação de objetivos: definição do produto,
determinação de objetos de negócio, restrições
thiry@sj.univali.br

– avaliação de alternativas: análise de risco, prototipação


– desenvolvimento do produto: projeto detalhado, codificação,
testes das unidades, integração
– planejamento da próxima iteração: avaliação do cliente,
planejamento do projeto, entrega ao cliente

• Premissa: 2 ou mais builds


salm@inf.univali.br

• Raio (distância a partir do centro) = esforço gasto

Ciclos de Vida 13

Fases e Atividades do Modelo Espiral


Custos
Avaliação das
Análise e Design através da UML

alternativas e
Planejamento identificação/resolução e
(Determinação dos Análise dos riscos
objetivos, alternativas Análise
thiry@sj.univali.br

e restrições) de
Risco 4
Análise
de Risco 3
Análise
de Risco 2
Protótipo
Requisitos iniciais e Análise Protótipo operacional
Protótipo Protótipo 3
planejamento do de
Revisão 1 2
projeto Risco 1

Plano de requisitos Conceito de Simulações, modelos, benchmarks


plano de ciclo de vida operação
Requisitos de
Software Projeto do Projeto
produto de detalhado
Plano de Validação dos
salm@inf.univali.br

Desenvolvimento requisitos software


Código
Teste
Plano de teste e Validação e
de
integração verificação do projeto
unidade
Teste
Avaliação do Cliente de Engenharia
Teste de
e Plano da próxima Integração Desenvolvimento e
fase Implementação Sistema verificação do
próximo nível do
produto

Ciclos de Vida 14
Aspectos de Gerência do Modelo Espiral

Análise e Design através da UML • Melhorias do modelo em cascata.


• Oferece a oportunidade para o usuário/cliente
thiry@sj.univali.br

se envolver.
• Iterativo.
• Difícil e alto custo para adoção (muitos
estágios intermediários: problemas com
documentação e treinamento).
salm@inf.univali.br

• Custo/benefício duvidoso: muito tempo gasto


nas fases 1, 2 e 4.
• Pode não convergir para uma solução.

Ciclos de Vida 15

Desenvolvimento Rápido de Aplicações (RAD)

• Não é exatamente um modelo e se baseia em:


Análise e Design através da UML

– que um modelo de ciclo de vida formal é ineficiente


thiry@sj.univali.br

e muitas revisões e documentações geradas pelos


modelos em cascata e em espiral são perda de
tempo
– a formalidade dificulta a comunicação com o cliente
– não há um modelo de ciclo de vida bem definido: há
uma seqüência de integrações evolucionárias ou
protótipos que são revisados com o cliente (os
salm@inf.univali.br

requisitos são levantados a partir destas iterações)


– cada integração está associada a um determinado
período de tempo, conhecido como Time Box

Ciclos de Vida 16
Passos do RAD

Análise e Design através da UML 1. Analisar requisitos;


thiry@sj.univali.br 2. Desenvolver projeto inicial;
3. Faça até estar pronto
{
Desenvolver a versão dentro do
tempo;
Entregar release para o cliente;
Receber o feedback;
salm@inf.univali.br

Planejar versão para responder ao


feedback;
};

Ciclos de Vida 17

Características do RAD

• Separação entre fases e atividades: cada time


Análise e Design através da UML

box inclui análise, projeto e implementação.


thiry@sj.univali.br

• Integrações constantes.

• Ênfase na codificação e não na especificação.

• Enfoque na reutilização.
salm@inf.univali.br

• Envolvimento contínuo do cliente.

Ciclos de Vida 18
Atividades para Resolver um Problema

Análise e Design através da UML • Definição do escopo: entender o problema.


thiry@sj.univali.br

• Projeto: desenvolver uma abordagem para


resolver o problema (usualmente usando
algum tipo de diagrama).

• Implementação: executar o projeto.


salm@inf.univali.br

• Verificação: confirmar se a solução resolve o


problema original.

Ciclos de Vida 19

Aspectos Gerenciais do RAD

• Para o modelo RAD poder ser aplicado com


Análise e Design através da UML

sucesso, devem ser considerados duas


thiry@sj.univali.br

premissas:
– Há um processo eficiente de desenvolvimento
acelerado para responder ao feedback
– Você e o cliente concordarão que o projeto está
feito
salm@inf.univali.br

• Problemas com riscos, prazos e custos.

Ciclos de Vida 20
Modelo Iterativo Controlado

Análise e Design através da UML • Modelo emergente.


thiry@sj.univali.br

• Procura usar a flexibilidade e modularidade da


orientação a objetos.

• Preocupação com “como o pessoal trabalha”,


mas permitindo o controle da gerência.
salm@inf.univali.br

• Divisão em fases e atividades.

Ciclos de Vida 21

Características do Iterativo Controlado

• Processo de gerência disciplinado:


Análise e Design através da UML

– as fases são planejadas, orçamentadas, e


thiry@sj.univali.br

acompanhadas.
– os critérios de saída são bem definidos (milestones).
– controle de custo e riscos.

• Define 4 fases:
– Inception (concepção)
salm@inf.univali.br

– Elaboração
– Construção
– Transição

Ciclos de Vida 22
Fases do Iterativo Controlado

Análise e Design através da UML • Inception (concepção): entendimento inicial e


concordância da definição do produto (o que será
entregue).
thiry@sj.univali.br

• Elaboração: entendimento inicial e concordância do


projeto detalhado (como será feito).

• Construção: criação do primeiro build totalmente


funcional.
salm@inf.univali.br

• Transição: entrega do produto de acordo com os


requisitos iniciais.

Ciclos de Vida 23

Distribuição das Atividades para Cada Fase

Inception Elaboração Construção Transição


Análise e Design através da UML

Escopo Escopo
thiry@sj.univali.br

Escopo
Projeto
Escopo Projeto

Implem.

Projeto

Implem.
salm@inf.univali.br

Projeto
Verifica.
Implem.
Implem.
Verifica.
Verifica
Verifica

Ciclos de Vida 24
Considerações sobre o Modelo Iterativo

Análise e Design através da UML • Os objetivos não estão amarrados a finalização das
atividades
– A proposta é identificar o momento de entendimento
thiry@sj.univali.br

necessário para avançar no projeto (regra 80-20)

• Os objetivos utilizam a palavra “inicial”


– Modificações durante o projeto
– Como definir os critérios de saída
salm@inf.univali.br

• O modelo reflete como as equipes trabalham


– Flexibilização das mudanças
– Comunicação

Ciclos de Vida 25

Distribuição das Técnicas no Modelo Iterativo

Inception Elaboração Construção Transição


Análise e Design através da UML
thiry@sj.univali.br

Use-cases (usuário)

Diagramas de Pacote (alto nível)

Use-cases (desenv) Diag. Seqüência

Diagramas de classe
salm@inf.univali.br

Implement. das classes

Entrega e teste

Ciclos de Vida 26
Builds Incrementais

Análise e Design através da UML • Desenvolvimento do ciclo de vida: seqüência


thiry@sj.univali.br de builds (versões funcionais)

• Pontos a considerar:
– Satisfação do cliente
– Planejamento
salm@inf.univali.br

• Variação incremental do modelo iterativo

Ciclos de Vida 27

Vantagens da Proposta Incremental

• Problemas complexos não são resolvidos de


Análise e Design através da UML

uma única vez.


thiry@sj.univali.br

• Maior controle sobre custos e riscos.

• Facilita a gerência de instabilidade da equipe.


salm@inf.univali.br

Ciclos de Vida 28
Análise e Design através da UML
salm@inf.univali.br thiry@sj.univali.br

Modelo Iterativo Incremental


I
E
C
I

1T
E
Ciclos de Vida

C
I

2T
E
C
T
29

Você também pode gostar