SlideShare une entreprise Scribd logo
1  sur  80
Engenharia de Software
Aula 04
Prof. César França
PARFOR / UFRPE
Engenharia de Software
RUP
Implementação
PARFOR / UFRPE
RUP
http://www.wthreex.com/rup/
PARFOR / UFRPE
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
Tropa de Desenvolvimento
Implementação
Integrador
Implementador
Revisor de Código
Arquiteto de Software
PARFOR / UFRPE
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
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
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
RUP
Análise e Design
Sugestão de Arquitetura (Micro):
PARFOR / UFRPE
Modelo de Dados
RUP - Análise e Design
Projeto (Design)
PARFOR / UFRPE
RUP
Implementação
Builds e Stubs
PARFOR / UFRPE
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
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
Implementação
STUBS
STUB
Biblioteca
Calculadora
(1 * 1) = 1
= 1Cos(45) + log(3572)
PARFOR / UFRPE
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
Implementação
Artefatos Finais
Plano de
Integração
Componentes
Implementados
Código-fonte
Código executável
Instaladores
Stubs
…
Freqüência de integração
Ferramentas
Instruções
…
PARFOR / UFRPE
Engenharia de Software
RUP
Testes
PARFOR / UFRPE
RUP
http://www.wthreex.com/rup/
PARFOR / UFRPE
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
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
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
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
RUP
Análise e Design
Sugestão de Arquitetura (Micro):
PARFOR / UFRPE
Modelo de Dados
RUP - Análise e Design
Projeto (Design)
PARFOR / UFRPE
RUP
Implementação
Builds e Stubs
PARFOR / UFRPE
RUP
Teste
PARFOR / UFRPE
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
Implementação
Artefatos Finais
Plano de
Testes
Casos de
Testes
Dados de
Testes Resultado dos
Testes
Avaliação dos
Testes
PARFOR / UFRPE
Automação de Testes
• É possível construir programas para testar programas!
Plano de
Testes
Casos de
Testes
Componentes
de Testes
PARFOR / UFRPE
PARFOR / UFRPE
Engenharia de Software
RUP
Gerência de Configuração
PARFOR / UFRPE
RUP
http://www.wthreex.com/rup/
PARFOR / UFRPE
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
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
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
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
Merge
A
Baseline
B
C
Checkout
C
Prog 1
Prog 2
Checkin
PARFOR / UFRPE
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
Subversion
http://subversion.tigris.org/
PARFOR / UFRPE
Git
http://github.com/
PARFOR / UFRPE
Controle de Versões
PARFOR / UFRPE
Subclipse
(Eclipse + Subversion)
PARFOR / UFRPE
Subclipse
(Eclipse + Subversion)
PARFOR / UFRPE
Gerenciamento de Configuração
Artefatos Principais
Plano de
Configuração
Repositório do
Projeto
PARFOR / UFRPE
Engenharia de Software
Métricas e Estimativas de Software
Prof. César França
PARFOR / UFRPE
Qual é o maior software do mundo?
PARFOR / UFRPE
Qual é o
tamanho desta
casa?
E deste software?
Ficou mais fácil?
Por que medir software?
Tamanho
Esforço
Custo
Produtividade
Riscos
Prazo
Preço
Escopo
Qualidade
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.
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
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
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)
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
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.
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
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
Equação da E. S.
Tempo x Custo = Escopo x Qualidade
PARFOR / UFRPE
Outro Resumo (1)…
Software
(Tamanho)
Custo / H
Tempo
(H)
Tamanho / H
Custo do
Produto
Histórico
PARFOR / UFRPE
Outro Resumo (2)…
Software
(Requisitos)
Tamanho / HHistórico
TamanhoEstimativa
Esforço
(H)
PARFOR / UFRPE
Medidas de Software
• LOC (Lines of Code)
• KLOC (Kilo LOC)
• Pontos de Função
• Pontos de Casos de Uso
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
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
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
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
Análise de Pontos de Função
PARFOR / UFRPE
Tipos de Estimativas
• Relações Simples (Esforço = Tamanho x Produtividade)
• Analogias (Wideband Delphi)
• Baseado em atividades (WBS - Work Breakdown Structure)
• Modelos Paramétricos (COCOMO)
Relações Simples
Relações Simples
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
Composição de Técnicas
WBS
Wideband Delphi
(KlocOtimista + 4 * KlocEsperado + KlocPessimista)
6
http://www.isbsg.org/
Qual é o maior software do mundo?
PARFOR / UFRPE
PARFOR / UFRPE
PARFOR / UFRPE
PARFOR / UFRPE
PARFOR / UFRPE
PARFOR / UFRPE
Engenharia de Software
Métricas de Software
Prof. César França
PARFOR / UFRPE

Contenu connexe

Similaire à Engenharia de Software - RUP, Implementação e Testes

Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Cloves da Rocha
 
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppCloves da Rocha
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trataRoni Reis
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testesIsaias Silva
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfRodolphoCesar2
 
Plano do projeto de software
Plano do projeto de softwarePlano do projeto de software
Plano do projeto de softwareDanilo Gois
 
O papel do Arquiteto de Soluções na RPA.
O papel do Arquiteto de Soluções na RPA.O papel do Arquiteto de Soluções na RPA.
O papel do Arquiteto de Soluções na RPA.Sergio Marmilicz
 
Ciclo de vida processo
Ciclo de vida processoCiclo de vida processo
Ciclo de vida processoPatrícia Melo
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masieroMaitsudá Matos
 
[PARFOR 2017.1] ESW - Aula 01
[PARFOR 2017.1] ESW - Aula 01[PARFOR 2017.1] ESW - Aula 01
[PARFOR 2017.1] ESW - Aula 01César França
 
Visao geraldorup 20slides
Visao geraldorup 20slidesVisao geraldorup 20slides
Visao geraldorup 20slideshoraciosila
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSFabrício Campos
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareSaulo Arruda
 
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosGustavo Lopes
 
Modelos de desenvolvimento de software (dino brasilis)
Modelos de desenvolvimento de software (dino brasilis)Modelos de desenvolvimento de software (dino brasilis)
Modelos de desenvolvimento de software (dino brasilis)djadrianodez
 
Trabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasTrabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasWANDERSON JONER
 

Similaire à Engenharia de Software - RUP, Implementação e Testes (20)

Aula Gestão de Projetos
Aula Gestão de ProjetosAula Gestão de Projetos
Aula Gestão de Projetos
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
 
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testes
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdf
 
Plano do projeto de software
Plano do projeto de softwarePlano do projeto de software
Plano do projeto de software
 
O papel do Arquiteto de Soluções na RPA.
O papel do Arquiteto de Soluções na RPA.O papel do Arquiteto de Soluções na RPA.
O papel do Arquiteto de Soluções na RPA.
 
Ciclo de vida processo
Ciclo de vida processoCiclo de vida processo
Ciclo de vida processo
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masiero
 
[PARFOR 2017.1] ESW - Aula 01
[PARFOR 2017.1] ESW - Aula 01[PARFOR 2017.1] ESW - Aula 01
[PARFOR 2017.1] ESW - Aula 01
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Visao geraldorup 20slides
Visao geraldorup 20slidesVisao geraldorup 20slides
Visao geraldorup 20slides
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
Rational Unfied Process
Rational Unfied ProcessRational Unfied Process
Rational Unfied Process
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
 
Modelos de desenvolvimento de software (dino brasilis)
Modelos de desenvolvimento de software (dino brasilis)Modelos de desenvolvimento de software (dino brasilis)
Modelos de desenvolvimento de software (dino brasilis)
 
Trabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasTrabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de Sistemas
 

Plus de César França

Plus de César França (6)

[Parfor] esw aula 03
[Parfor] esw   aula 03[Parfor] esw   aula 03
[Parfor] esw aula 03
 
Ensiso day talks
Ensiso day   talksEnsiso day   talks
Ensiso day talks
 
Cap 03 Fatos Leis Teorias
Cap 03 Fatos Leis TeoriasCap 03 Fatos Leis Teorias
Cap 03 Fatos Leis Teorias
 
Cap 02 Metodos Cientificos
Cap 02    Metodos  CientificosCap 02    Metodos  Cientificos
Cap 02 Metodos Cientificos
 
Apres 02 Belbin
Apres 02   BelbinApres 02   Belbin
Apres 02 Belbin
 
Apres 01 Equipes De Projeto
Apres 01    Equipes De  ProjetoApres 01    Equipes De  Projeto
Apres 01 Equipes De Projeto
 

Engenharia de Software - RUP, Implementação e Testes

  • 1. Engenharia de Software Aula 04 Prof. César França PARFOR / UFRPE
  • 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
  • 5. Tropa de Desenvolvimento Implementação Integrador Implementador Revisor de Código Arquiteto de Software 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
  • 9. RUP Análise e Design Sugestão de Arquitetura (Micro): PARFOR / UFRPE
  • 10. Modelo de Dados RUP - Análise e Design Projeto (Design) 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
  • 14. Implementação STUBS STUB Biblioteca Calculadora (1 * 1) = 1 = 1Cos(45) + log(3572) 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
  • 16. Implementação Artefatos Finais Plano de Integração Componentes Implementados Código-fonte Código executável Instaladores Stubs … Freqüência de integração Ferramentas Instruções … 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
  • 23. RUP Análise e Design Sugestão de Arquitetura (Micro): PARFOR / UFRPE
  • 24. Modelo de Dados RUP - Análise e Design Projeto (Design) 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
  • 28. Implementação Artefatos Finais Plano de Testes Casos de Testes Dados de Testes Resultado dos Testes Avaliação dos Testes PARFOR / UFRPE
  • 29. Automação de Testes • É possível construir programas para testar programas! Plano de Testes Casos de Testes Componentes de Testes PARFOR / UFRPE
  • 31. Engenharia de Software RUP Gerência de Configuração 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
  • 44. Gerenciamento de Configuração Artefatos Principais Plano de Configuração Repositório do Projeto PARFOR / UFRPE
  • 45. Engenharia de Software Métricas e Estimativas de Software Prof. César França PARFOR / UFRPE
  • 46. Qual é o maior software do mundo? PARFOR / UFRPE
  • 47. Qual é o tamanho desta casa?
  • 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
  • 60. Outro Resumo (1)… Software (Tamanho) Custo / H Tempo (H) Tamanho / H Custo do Produto Histórico PARFOR / UFRPE
  • 61. Outro Resumo (2)… Software (Requisitos) Tamanho / HHistórico TamanhoEstimativa Esforço (H) 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
  • 67. Análise de Pontos de Função PARFOR / UFRPE
  • 68. Tipos de Estimativas • Relações Simples (Esforço = Tamanho x Produtividade) • Analogias (Wideband Delphi) • Baseado em atividades (WBS - Work Breakdown Structure) • Modelos Paramétricos (COCOMO)
  • 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
  • 72. Composição de Técnicas WBS Wideband Delphi (KlocOtimista + 4 * KlocEsperado + KlocPessimista) 6
  • 74. Qual é o maior software do mundo? PARFOR / UFRPE
  • 80. Engenharia de Software Métricas de Software Prof. César França PARFOR / UFRPE

Notes de l'éditeur

  1. 97,7m2