4. RUP
Implementação
Finalidades:
• Implementar classes e objetos em termos de arquivos-fonte, binários, executáveis e outros.
• Testar os componentes unitários desenvolvidos.
• Integrar os resultados produzidos ao sistema executável .
PARFOR / UFRPE
6. RUP
Análise do Negócio
Exemplo de Negócio (Atendimento
Bancário):
Um cliente deseja fazer um depósito
no banco. Ao chegar no banco,
depara-se com uma fila e aguarda
até chegar a sua vez. Quando o
atendente o chama, ele fala que quer
fazer o depósito, entrega o cheque e
diz qual é a conta para depósito. O
atendente confere o cheque e
despacha para compensação. O setor
de compensação do banco verifica o
saldo da conta do emissor do cheque
e, caso tenha saldo, efetua a
transferência e arquiva o cheque.
Dois dias úteis depois, a quantia está
disponível na conta depositada.
PARFOR / UFRPE
7. RUP
Requisitos
Lista de Requisitos
(Caixa de auto-atendimento)
R01: Identificar cliente
R02: Verificar saldo
R03: Realizar Saque
R04: Realizar Pagamento
R05: Realizar Transferência
...
PARFOR / UFRPE
8. Caso de Uso: Verificar Saldo
(Caixa de auto-atendimento)
Ator: Cliente
Pré-requisito:
Identificação do cliente com o cartão e a senha.
Fluxo principal:
1. O cliente clica em “ver saldo”;
2. O sistema exibe uma caixa de diálogo perguntando
se o cliente quer ver o saldo da poupança ou da conta
corrente;
3. O cliente escolhe uma opção;
4. O sistema consulta o saldo da conta corrente ou da
poupança;
5. O sistema exibe na tela o valor do saldo da conta e
uma opção para finalizar a operação.
6. O cliente clica em “finalizar”;
7. O sistema encerra a sessão.
RUP
Requisitos
PARFOR / UFRPE
12. RUP
Implementação
Um build é uma versão operacional de um
sistema ou parte de um sistema que
demonstra um subconjunto das capacidades
fornecidas no produto final.
PARFOR / UFRPE
13. RUP
Implementação
Um stub é um componente que SIMULA um
comportamento ou uma funcionalidade do
sistema.
Stubs são necessários quando existem
funcionalidades dependentes, que por algum
motivo ainda não podem ser implementadas.
PARFOR / UFRPE
15. Implementação
STUBS
Build 01 Build 02
Caso de
Uso 2
Foco no
desenvolvimento
de uma
funcionalidade
Caso de
Uso 1
Stub para simular o
comportamento de
outra funcionalidade
Caso de
Uso 2
Caso de
Uso 1
Sistema completo!
PARFOR / UFRPE
19. RUP
Teste
Finalidades:
• Localizar e documentar defeitos na qualidade do software.
• Avisar de forma geral sobre a qualidade observada no software.
• Validar as suposições feitas nas especificações de design e requisito através de demonstração concreta.
• Validar as funções do software conforme projetadas.
• Verificar se os requisitos foram implementados de forma adequada
PARFOR / UFRPE
20. RUP
Análise do Negócio
Exemplo de Negócio (Atendimento
Bancário):
Um cliente deseja fazer um depósito
no banco. Ao chegar no banco,
depara-se com uma fila e aguarda
até chegar a sua vez. Quando o
atendente o chama, ele fala que quer
fazer o depósito, entrega o cheque e
diz qual é a conta para depósito. O
atendente confere o cheque e
despacha para compensação. O setor
de compensação do banco verifica o
saldo da conta do emissor do cheque
e, caso tenha saldo, efetua a
transferência e arquiva o cheque.
Dois dias úteis depois, a quantia está
disponível na conta depositada.
PARFOR / UFRPE
21. RUP
Requisitos
Lista de Requisitos
(Caixa de auto-atendimento)
R01: Identificar cliente
R02: Verificar saldo
R03: Realizar Saque
R04: Realizar Pagamento
R05: Realizar Transferência
...
PARFOR / UFRPE
22. Caso de Uso: Verificar Saldo
(Caixa de auto-atendimento)
Ator: Cliente
Pré-requisito:
Identificação do cliente com o cartão e a senha.
Fluxo principal:
1. O cliente clica em “ver saldo”;
2. O sistema exibe uma caixa de diálogo perguntando
se o cliente quer ver o saldo da poupança ou da conta
corrente;
3. O cliente escolhe uma opção;
4. O sistema consulta o saldo da conta corrente ou da
poupança;
5. O sistema exibe na tela o valor do saldo da conta e
uma opção para finalizar a operação.
6. O cliente clica em “finalizar”;
7. O sistema encerra a sessão.
RUP
Requisitos
PARFOR / UFRPE
27. Tipos de Testes
(Quanto ao nível de profundidade)
• Teste de Caixa Preta
• Teste de Caixa Branca
Roteiro Build Resultado
Build
Roteiro
Resultado
PARFOR / UFRPE
33. RUP
Gerenciamento de Configuração
Finalidades:
• Controlar mudanças feitas nos artefatos de um projeto e manter a integridade deles;
• Detectar se ocorreram atualizações simultaneamente e resolver quaisquer problemas de integração quando essas
mudanças forem incorporadas;
• Permitir liberações evolutivas.
PARFOR / UFRPE
34. Item de Configuração
• Todo artefato que possa ser alterado durante o ciclo de vida do projeto.
Ex.
Documentos
Planilhas
Planos
Código-Fonte
Casos de Testes
etc.
PARFOR / UFRPE
35. Release, Build, Patch
• Build: liberação interna
• Release: Builds com mudanças muito significativas (entregues ao cliente)
• Patch: Correções de releases
MySoft v1.3.1 v1.3.2 [ Correção do 1.3.1]
v1.4.0 [ +1 Funcionalidade]
v2.0.0 [ Alteração completa da Interface]
Windows XP Service Pack 2
Release Patch
PARFOR / UFRPE
36. Baseline e Branchs
• Baseline:
Ponto de Partida
• Branch:
Ramificações
A
Baseline
B
C
D
E
F
D
E
F
A
B
C
Branch A
Branch B
PARFOR / UFRPE
38. CVS
http://savannah.nongnu.org/projects/cvs/
• CVS utiliza uma arquitetura cliente-servidor: um servidor armazena a(s) versão(ões) atuais do projeto e seu histórico, e os
clientes se conectam a esse servidor para obter uma cópia completa do projeto, trabalhar nessa cópia e então devolver
suas modificações.
• Vários clientes podem editar cópias do mesmo projeto de maneira concorrente.
PARFOR / UFRPE
50. Por que medir software?
Tamanho
Esforço
Custo
Produtividade
Riscos
Prazo
Preço
Escopo
Qualidade
51. PARFOR / UFRPE
Por que é tão difícil estimar?
• É difícil conhecer se é possível
desenvolver o produto desejado
pelo cliente antes de conhecer
os detalhes do projeto.
52. PARFOR / UFRPE
Por que é tão difícil estimar?
• Desenvolvimento é um processo gradual de refinamento
• Incerteza da natureza do produto contribui para a incerteza da estimativa
• Requisitos e escopo mudam
• Defeitos são encontrados e demandam retrabalho
• Produtividade varia
53. PARFOR / UFRPE
O Processo de Estimativas
1. Estimar o tamanho do produto
2. Estimar o esforço
3. Estimar o prazo
4. Fornecer estimativas dentro de uma faixa permitida e refinar essa
faixa à medida que o projeto progride
54. PARFOR / UFRPE
O que são métricas de software?
• Uma métrica é a medição de um atributo (propriedades ou características ) de uma determinada
entidade (produto, processo ou recursos). Exemplos:
• Tamanho do produto de software (ex: Número de Linhas de código)
• Número de pessoas necessárias para implementar um caso de uso
• Número de defeitos encontrados por fase de desenvolvimento
• Esforço para a realização de uma tarefa
• Tempo para a realização de uma tarefa
• Custo para a realização de uma tarefa
• Grau de satisfação do cliente (ex: adequação do produto ao propósito, conformidade do produto com a
especificação)
55. PARFOR / UFRPE
Categorização de Métricas
• Métricas diretas (fundamentais ou básicas)
• Medida realizada em termos de atributos observados (usualmente
determinada pela contagem)
• Ex.: custo, esforço, no. linhas de código, capacidade de memória, no. páginas,
no. diagramas, etc.
• Métricas indiretas (derivadas)
• Medidas obtidas a partir de outras métricas
• Ex.: complexidade, eficiência, confiabilidade, facilidade de manutenção
56. PARFOR / UFRPE
Categorização de Métricas
• Métricas orientadas a tamanho
• São medidas diretas do tamanho dos artefatos de software associados ao
processo por meio do qual o software é desenvolvido.
• Ex.: esforço, custo, no. KLOC, no. páginas de documentação, no. erros
• Métricas orientadas por função
• Consiste em um método para medição de software do ponto de vista do
usuário, determinando de forma consistente o tamanho e a complexidade de
um software.
57. PARFOR / UFRPE
Categorização de Métricas
• Métricas de produtividade
• Concentram-se na saída do processo de engenharia de software.
• Ex.: no. de casos de uso/iteração.
• Métricas de qualidade
• Oferecem uma indicação de quanto o software se adeqüa às exigências implícitas e explícitas do cliente.
• Ex.: erros/fase
• Métricas técnicas
• Concentram-se nas características do software e não no processo por meio do qual o software foi
desenvolvido.
• Ex.: complexidade lógica e grau de manutenibilidade
58. PARFOR / UFRPE
Medida
• Medida é uma função de mapeamento
Super-homem
Papai Noel
Mamãe Noel
2.10m
1.65m
1.50m
Atributos do mundo
real (domínio)
Um símbolo em um
conjunto com
relações matématicas
conhecidas
59. Equação da E. S.
Tempo x Custo = Escopo x Qualidade
PARFOR / UFRPE
62. Medidas de Software
• LOC (Lines of Code)
• KLOC (Kilo LOC)
• Pontos de Função
• Pontos de Casos de Uso
63. Linhas de Código (LOC)
uma das medidas mais antigas para se determinar o tamanho, esforço e, conseqüentemente, produtividade no
desenvolvimento de software. Consiste basicamente na contagem da quantidade do número de linhas de
código de um programa de software.
LOC, KLOC, MLOC
PARFOR / UFRPE
64. Análise de Pontos de Função (APF)
técnica mais utilizada no mercado para mensuração do tamanho de projetos de desenvolvimento e melhoria
de sistemas. Consiste na determinação do tamanho funcional do sistema através da visão do usuário,
independentemente da tecnologia utilizada. A unidade de medida utilizada na determinação do tamanho do
sistema é o Ponto de Função
Arquivos Lógicos Internos
Arquivos Lógicos Externos
Entradas
Consultas
Saídas
PARFOR / UFRPE
65. Pontos de Casos de Uso (UCP)
Técnica proposta para medir o tamanho de projetos de software orientados a objeto. Explora o modelo e a
descrição do caso de uso, substitui algumas características técnicas propostas pela APF, cria os fatores
ambientais e propõe uma estimativa de produtividade. A desvantagem é que
só pode ser utilizado por empresas que adotem os casos de uso como forma de expressão dos requisitos.
PARFOR / UFRPE
66. Medidas de Software
Linhas de Código (KLOC)
• Contagem simples
• Padrões de codificação
• Dependente de LP
• Descreve tamanho, mas nao descreve
complexidade
Pontos de Função
• Contagem complexa
• Captura complexidade
• Independente de LP
• Basea-se em requisitos, casos de uso e design
do sistema
PARFOR / UFRPE
71. Ciclo de Estimativas
Interação 1 Interação 2 Interação … Interação X
Comparação
Com o realizado
Dados históricos
Estimativa Ajustada
Comparação
Com o realizado
Dados históricos
Estimativa Ajustada
Comparação
Com o realizado
Dados históricos
Estimativa Inicial