Você está na página 1de 43

Universidade Federal da Bahia

MAT Tpicos em Engenharia de Software

RATIONAL UNIFIED PROCESS


Equipe: Alice , Daniel , Felipe , Joo Paulo , Kellyton

Roteiro
Introduo
Fase 1: Inception
Fase 2: Elaboration
Fase 3: Construction
Fase 4: Transition
Concluso

Introduo
Processo de desenvolvimento de software criado pela Rational/IBM
Baseado no ciclo de vida em espiral (refinamentos sucessivos)
Guia para utilizar efetivamente a UML
Desenvolvimento dirigido por Casos de Uso
Processo configurvel
Aumento da produtividade da equipe
Incentivo das boas prticas: desenvolver o software iterativamente,
gerenciar requisitos, usar arquitetura baseada em componentes,
modelar o software visualmente, verificar a qualidade do software,
controlar as mudanas do software

Introduo
O processo tem 4 fases:

Introduo
Conceitos bsicos:
Iterao: ciclo completo de desenvolvimento.
Atividade: unidade de trabalho composta de
objetivos, passos, entradas/sadas , responsveis,
guias e padres.
Fluxo de Atividade: agrupam atividades
correlacionadas (fluxo de suporte, fluxo bsico)

Introduo
Conceitos bsicos:
Artefato: documento, relatrio, modelo, cdigo ou executvel
que manipulado, produzido ou consumido
Responsveis: representam perfis ou papis (ex: gerente de
projeto, analista, programador...)
Stakeholder: cliente
Milestone: ponto de controle
O ciclo de vida dividido em 4 fases e cada fase dividida em
iteraes

Introduo

Introduo
Atividades e modelos:

Introduo

Introduo

Concepo
Objetivos:
Visa entender o escopo geral do projeto e os
seus objetivos
Colher informaes sobre o que deve ser feito
Decidir sobre a continuidade do projeto

Concepo
Atividades Essenciais:
Entender o que produzir
Identificar os pontos chave do sistema
Determinar no mnimo uma soluo possvel
Planejar custos, agenda e riscos
Decidir qual processo seguir e quais
ferramentas
OBS: Podem (devem) ser feitos em
paralelo

Concepo
Atividades
Essenciais
(Entender o que produzir)
Todos devem ter o mesmo entendimento
sobre o que ser construdo

Passos:

Validar uma Viso de alto nvel

Prover uma descrio mile-wide, inchdeep do sistema

Detalhar Atores e Casos de Uso

Concepo
Atividades
Essenciais
(Entender o que produzir)

Produzindo uma Viso

Descrio geral do sistema


Deve Conter
Benefcios da aplicao e oportunidades que a
mesma poder gerar
Os problemas que a mesma ir resolver
Quem so os usurios-alvo
Em termos gerais, o que a aplicao dever fazer
Requisitos no funcionais essenciais: SO e BD
suportados, escalabilidade, etc, alm de licena e
preo

Concepo
Atividades
Essenciais
(Entender o que produzir)
Gerando uma descrio Mile-Wide, InchDeep
Identificar e descrever brevemente os
atores e os casos de uso
No entrar em detalhes
Ateno especial para os casos de uso mais
importantes
Gerado aps Brainstorming ou Workshop

Concepo
Atividades
Essenciais
(Entender o que produzir)

Brainstorms e Workshops
7 passos bsicos
Comum limitar tempo em cada etapa
Passo 1: Identificar mximo de atores
Passo 2: Associar cada ator com caso de
uso
Passo 3: Relacionar interaes dos casos de
uso com outros atores ou sistemas
Ao final gerado diagrama de casos de uso

Concepo
Atividades
Essenciais
(Entender o que produzir)
Passo 4: Fazer breves descries de cada ator e
use cases
Passo 5: Criar um glossrio
Passo 6: Revisar os casos de uso, baseado nas
relaes do sistemas (com usurio ou outros
sistemas)
Passo 7: Identificar os casos de uso essenciais ou
crticos

Concepo
Atividades
Essenciais
(Entender o que produzir)

Detalhando Atores Chave e Casos de Uso


Detalhar bastante os Atores e Casos de Uso
identificados no ltimo passo do
Brainstorm/Workshop
Gerar, em paralelo, um Prottipo

Concepo
Atividades
Essenciais
(Identificar os pontos chave do sistema)
Identificar os Casos de Uso mais essenciais ou
determinantes para a arquitetura a ser selecionada:
crticos
Ser gasto mais tempo nesses tens
Critrios para seleo:
Funcionalidade principal da aplicao e principais
interfaces
A funcionalidade DEVE ser entregue
Funcionalidade cobre uma rea da arquitetura
no coberta por nenhum outro caso de uso
principal
Cerca de 20% de funcionalidades chave

Concepo
Atividades
Essenciais
(Determinar no mnimo uma soluo possvel)
Identificar pelo menos uma possvel arquitetura para
o desenvolvimento
Verificar o nvel de risco e custo para utilizao das
arquiteturas identificadas
Ex.: Cliente x Servidor
2 camadas: Aplicao Cliente e BD
3 Camadas: Browser + Webserver + BD

Concepo
Atividades
Essenciais
(Planejar custos, agenda e

riscos)
J foi entendido o que fazer
Verificar a viabilidade
Construir um Plano de Negcios para o projeto
Contm os custos estimados, agenda e riscos do
projeto
Documento de valor econmico/monetrio

Concepo
Atividades
Essenciais
(Decidir qual processo seguir e quais
ferramentas)
Escolha do processo: Como o software ser
desenvolvido
Escolha das ferramentas a serem utilizadas

Concepo
Milestone Lifecycle Objective
Ao fim da fase Inception gerado o primeiro
Milestone do projeto.
Checar com os objetivos definidos inicialmente: Se
falhar, cancelar ou repensar o projeto
Stakeholder validam a definio do escopo e
custo/prazo inicial
Concordncia sobre a correta obteno e
entendimento dos requisitos do sistema
Concordncia com custo e prazo estimados,
prioridades, riscos e processo de desenvolvimento
Concordncia na identificao dos riscos iniciais e
estratgias para atenua-los

Concepo
Artefatos:
Viso
Business Case
Lista de Riscos
Plano de Desenvolvimento de Software
Plano de Iterao
Development Case
Ferramentas
Glossrio
Entre outros...

Elaborao
Objetivos:
Desenvolver a arquitetura do sistema
Requisitos mais significantes
Avaliao dos riscos

Elaborao
Atividades Essenciais:
Obtenha uma compreenso detalhada dos requisitos.
Casos de uso mais detalhados.
Prottipos de interface validados pelo usurio.
Glossrio.

Modele, implemente, valide e defina as linhas base da


arquitetura.
Mais importantes blocos de construo, interfaces, decises de
implementao e reuso.
Descrio da interao dos blocos nos cenrios mais
importantes
Implementao e validao da arquitetura.
Faa os casos de teste unitrios

Elaborao
Atividades Essenciais:
Minimize os riscos essenciais e produza uma agenda
mais precisa e estimativas de custo.
requisitos detalhados.
A implementao do esqueleto minimiza os problemas mais
difceis.
Os riscos j foram quase todos minimizados.
Nessa fase a potencialidade da equipe e das ferramentas j
pode ser avaliada

Refine o Development Case e o coloque em uso.


Esta etapa define o modo de usar o RUP.

Elaborao
Primeira Iterao:
Modele, implemente e teste cenrios crticos.
Identifique e implemente alguns mecanismos arquiteturais.
Faa um modelo preliminar da base de dados.
Faa fluxos de eventos de metade dos casos de uso.
Faa testes para identificar riscos arquiteturais e pequenas
distores.

Elaborao
Segunda Iterao:
Conserte o que no estava correto na primeira iterao.
Modele, implemente e teste os cenrios arquiteturais mais
significantes remanescentes.
Esboce e implemente concorrncia, threads e distribuio fsica
para identificar riscos de alta tecnologia.
Modele, implemente e teste mecanismos arquiteturais novos.
Modele e implemente uma verso preliminar da base de dados.
Faa a outra parte dos fluxos de evento com os casos de uso que
faltavam.
Teste, valide e refine o modelo da arquitetura. Faa outras
interaes at que este modelo esteja estvel.

Elaborao
Milestone Lifecycle Architecture
A viso do sistema e os requisitos esto estveis?
A arquitetura est estvel?
As abordagens de teste e avaliao esto providas?
Os testes e avaliaes de prottipos provam que os grandes riscos
esto identificados e resolvidos?
Os planos de iterao da Construo esto detalhados e fiis para
prover o trabalho ocorra?
Todos os stakeholders concordam com a Viso corrente?
Os custos da aplicao esto de acordo com os recursos
disponveis?

Elaborao
Artefatos:
Prottipos
Lista de Risco
Development Case
Ferramentas
Documento de Arquitetura
Viso
Plano de desenvolvimento de software
Entre outros...

Construo
Objetivos:
Minimizar custos de desenvolvimento
Alcanar um determinado grau de paralelismo de
desenvolvimento
Desenvolver iterativamente um produto completo
que esteja pronto para a transio

Construo
Atividades Essenciais:
Descrever Casos de Uso remanescentes
Completar o projeto de componentes e
subsistemas
Completar o projeto do banco de dados
Implementar e fazer testes de unidade
Integrao e testes do sistema
Feedback dos clientes
Prerelease e verso final do sistema

Construo
Iteraes :
Geralmente de 2 a 4
Plano de iterao guiado pelos casos de uso
Implementar os casos de uso mais importantes
para os clientes
Procurar eliminar os maiores riscos
Identificar e implementar os componentes que
precisam colaborar para prover as funcionalidades

Construo
Milestone Initial Operational Capbility
O produto estvel e maduro o suficiente para ser
implantado na comunidade do usurio?
Todos os clientes esto prontos para a transio?
Os recursos atuais despendidos so coerentes
com os previstos?

Construo
Artefatos
O sistema
Plano de implantao
Conjunto de testes aplicados
Material de treinamento
Modelo de Implementao
Modelo de Dados

Transio
Objetivos
Validar o sistema de acordo com a especificao do usurio
Treinar usurios e mantenedores
Preparar o local de implantao
...
Assegurar disponibilidade do software para os usurios
finais

Transio
Atividades Essenciais
Executar planos de deployment
Finalizar material de suporte ao usurio
Testar, no ambiente de desenvolvimento, o produto pronto para
entrega
Gerar release do produto (beta)
Coletar info de feedback do usurio
Ajustar o produto de acordo com o feedback
Disponibilizar o produto para os usurios finais

Transio
Plano de
Iterao

Transio
Plano de Iterao
1) Requisitos, anlise e projeto
-

Requisitos estveis (frozen)

Alteraes entendidas e controladas

Anlise e projeto: integridade arquitetural

2) Implementao
- Base no feedback (correo de defeitos)

Transio
Milestone: Product Release

Critrios:

O usurio est satisfeito?

Os recursos que o sistema est utilizando so aceitveis de


acordo com o planejado anteriormente?

Transio
Artefatos

Essenciais:

Produto

Notas de release

Artefatos de instalao

Material para treinamento

Material de suporte ao usurio final

Referncias
KROLL, P. , KRUNCHTEN, P. The Rational Unified
Process Made Easy
Site do RUP