PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
PROCESSO UNIFICADO
1
Objetivos
Discutir a necessidade de um processo
“padrão”
 Apresentar um subconjunto do Processo
Unificado.
 Simular a execução do processo
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira

2
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
Motivação
3
Processos
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira

É necessário adotar um processo de
desenvolvimento para manter a execução
das atividades em um fluxo coerente.
People are more important than any process.
Good people with a good process will outperform good
people with no process every time.
—Grady Booch
4
Processo Unificado
Processo Iterativo e Incremental
 Orientado a Casos de Uso
 Define um conjunto de
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira

◦
◦
◦
◦
Atividades – o que fazer
Papéis – que participa
Artefatos – quais dados são necessários
Workflows – organização das atividades
5
UP - Resumo
Fases
Disciplinas do Processo
Concepção
Elaboração
Construção
Transição
Modelagem do Negócio
Requisitos
Análise e Projeto
Implementação
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
Teste
Entrega
Disciplinas do Suporte
Gerenciamento de
Alterações e Configuração
Gerenciamento de Projeto
Ambiente
Iteração(ões)
Preliminar(es)
Iter.
#1
Iter.
#2
Iter.
#n
Iter.
Iter.
#n+1 #n+2
Iter.
#m
Iter.
#m+1
6
Fases e Disciplinas

Organizam o trabalho em blocos lógicos
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
◦ Fases – Identificam o momento dentro do
ciclo-de-vida.
◦ Disciplinas – Identificam quais elementos de
processo são usados para resolver um
problema específico dentro do ciclo-de-vida.
7
Fases

PRISMA@COPPE/UFRJ - Toacy C. de Oliveira



Concepção: estabelece o caso de negócio para o
sistema e delimita o escopo do projeto.
Elaboração: envolve a análise do domínio do
problema e a especificação da arquitetura do
sistema.
Construção: envolve a elaboração do software a
partir de arquitetura em um produto completo
para utilização pelos usuários.
Transição: viabiliza que o software possa ser
utilizado pelos usuários.
8
Disciplinas
Análise de Negócio
 Requisitos
 Análise e Projeto
 Implementação
 Testes
 Entrega
 Gerenciamento de Mudanças
 Ambiente
 Gerenriamento de Projeto
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira

9
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
UP & Cronograma
From Larman
10
Iterativo e Incremental
No contexto do ciclo de vida de desenvolvimento de
um software:
 Iterativo: processo que envolve o gerenciamento de
uma seqüência de versões executáveis.
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
◦ Cada iteração pode ser vista como um mini-projeto,
envolvendo um ciclo completo de desenvolvimento,
resultando em uma versão de um produto executável.

Incremental: processo que envolve a integração
contínua da arquitetura do sistema para a produção
de novas versões do sistema, onde cada nova versão
incorpora aperfeiçoamentos incrementais em relação
a anterior pela incorporação do produto resultante
da última iteração.
11
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
Experimentando........
12
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
Um Processo Unificado*
* Tipicamente processos são específicos para um projeto
13
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
Uma Sequência
14
O Problema (Documento de Visão)


PRISMA@COPPE/UFRJ - Toacy C. de Oliveira



Este projeto tem como objetivo implementar um sistema que
simula um jogo de dados. O jogo começa quando o jogador
arremessa dois dados. Caso a soma das faces dos dados seja 7,
o jogador é vencedor, caso contrário é perdedor.
Os dados possuem 6 lados e em cada lado há um número de 1
a 6 (sem repetições)
REQ01: O Jogador pode iniciar um jogo novo
REQ02: O Jogador arremessa os dados.
REQ Não Funcionais: O sistema deverá ser desenvolvido
utilizando linha de comando, ou seja, não há interface gráfica.
15
Concepção/Elaboração

Modelo de Casos de Uso (Funcional)
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
◦ Diagrama de Caso de Uso
◦ Especificação de Casos de Uso

Modelo de Classes (Estrutural)
◦ Classes de Análise
16
Diagrama de Caso de Uso
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
Especifica os atores que interagem com o
sistema
Especifica quais funções cada ator tem “acesso”
17
Especificação de Caso de Uso
Texto estruturado que detalha um Caso
de Uso em específico.
 Contém
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira

◦ Nome do Caso de Uso
◦ Atores Envolvidos
◦ Lista com pré e pós condições para a
execução do Caso de Uso
◦ Fluxos básicos e alternativos, com os passos
executados pelo ator e pelo sistema.
18
Exemplo
UC: Arremessar Dados
 Atores : Jogador
 Pré-condição : jogo inicializado
 Pós-condição : vencedor é conhecido
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira

Ator
Sistema
Solicita Arremesso de dados
Simula Arremesso
Apresenta resultados
19
Importante!!!!!
 Como
o Caso de Uso é um modelo da fase de
análise não é desejável atrelá-lo a uma
plataforma de execução.
Ator
Sistema
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
Seleciona Menu Arremesso de dados Simula Arremesso
Apresenta resultados
 Quem
disse que o sistema tem menu??? Será
que não dá para fazer a mesma função via
comando de voz?
20
Como achar Casos de Uso/Atores
 Analisar
Requisitos Funcionais
Dica: Analisar os verbos e sujeitos presentes na
especificação.
ações que o sistema faz e que são
perceptíveis para um elemento externo(atores).
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
 Procurar
Imprimir Texto, Pagar com Cartão de Crédito, Fazer
Empréstimo, etc
 Procurar
quem dispara as ações
Gerente Faz Empréstimo, Cliente Paga com Cartão,
etc
21
Diagrama de Classes
Estamos usando o Processo Unificado
como referência, ou seja, a abstração
utilizada na implementação será orientada
a objetos.
 Casos de Uso organizam funções, mas
não ressaltam os conceitos e
relacionamentos importantes para o
sistema.
 Classes expressam conceitos e seus
relacionamentos.
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira

24
Classes – Modelo Conceitual
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
Especifica conceitos, seus
atributos e relacionamentos
É parte da fase de Análise
25
Importante!!!

Classes de Análise não especificam
operações. Estas entram no início do
projeto.
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
◦ Não há metodos

Classes de Análise também não
especificam conceitos da plataforma de
execução.
◦ Menu, Banco de Dados,......
26
Descobrindo Classes
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira

Destacando COISAS no texto de
requisitos
◦ REQ01: O Jogador pode iniciar um jogo
novo
◦ REQ02: O Jogador arremessa os dados

Cartões CRC
◦ Class – Responsability - Collaboration
27
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
Descobrindo Operações

CRC

Cenários de Execução
28
Cenário - Iniciar Jogo
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
Utiliza o Diagrama de
Sequencia da UML para simular
a execução de um Caso de
Uso, distribuindo as
funcionalidades pelas classes
especificadas anteriormente
(Classes de Análise)
29
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
Cenário – ArremessarDados
30
Classes – Modelo de Projeto
As classes de projeto refinam as classes
descobertas na análise.
 Adicionam operações
 Verificam Boas Práticas de Modelagem
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira

◦ Coesão, Acoplamento, Reuso

Se conectam com a plataforma de
execução
◦ Hibernate, J2EE, .NET
31
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
Classes de Projeto
A Classe jogador foi eliminada ->
Não há necessidade durante
execução
Os relacionamentos foram
direcionados -> Assim o
acoplamento é diminuído.
As operações apareceram
(vieram do diagrama de sequencia)
32
Código
public class Dado {
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira
private int resultado;
public class Jogo {
public Dado dado;
public Dado dado_1;
protected void Randomize() {
// your code here
}
public void ApresentaResultado() {
// your code here
}
public void Arremessa() {
// your code here
}
}
public void ZerarSoma() {
// your code here
}
}
33
Resumindo
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira

O Processo utilizado
◦ ....foi capaz de capturar as informações
necessárias para a implementação do sistema
eu questão.
◦ ..facilitou o entendimento pois organizou as
atividades de “raciocínio” em uma sequência.

Os conceitos capturados estão
claramente presentes em vários modelos
e é possível rastreá-los.
34
Mais informações...

Openup
◦ http://epf.eclipse.org/wikis/openup/
PRISMA@COPPE/UFRJ - Toacy C. de Oliveira

UpEDU
◦ http://www.upedu.org/
35
Download

Processo Unificado