Engenharia de Software
© 2002 Universidade do Porto
Engenharia de Software
1
Uma História de Guerra - I
A Equipa tinha 13 engenheiros, 9 de software e 4
de hardware.
Foram encaregados para construir um novo
sistema de hardware-software.
Este deveria ser um novo dispositivo para as
linhas de comunicações.
Administração disse a Equipa que o produto
deve estar pronto em 9 meses.
© 2002 Universidade do Porto
Engenharia de Software
2
Uma História de Guerra - II
Afinal o desenvolvimento do produto levou dois
anos a ser concluido.
Este seria outro projeto de crise?
• Concluido fora do tempo ;
• Custo elevado ;
• Meses de teste ;
• Muitos defeitos.
A Equipa poderia ter sucesso de alguma
maneira?
A pergunta fundamental:
É esta uma Equipa de engenharia?
© 2002 Universidade do Porto
Engenharia de Software
3
Sumario
 PSP
 TSP
 Conclusões
© 2002 Universidade do Porto
Engenharia de Software
4
PSP
Personal Software Process
© 2002 Universidade do Porto
Engenharia de Software
5
Sumário
 PSP
Introdução
Princípios
Processos de desenvolvimento
Script de lançamento
Planeamento
Recolha de informação e gestão de
qualidade
 TSP
 Conclusões
© 2002 Universidade do Porto
Engenharia de Software
6
PSP - Introdução
• Voltado para uma actuação individual;
• Processo para melhorar a capacidade de
planeamento e acompanhamento.
© 2002 Universidade do Porto
Engenharia de Software
7
PSP – Princípios I
• Todos os Engenheiros são diferentes, e para que
seja eficiente tem de planear o seu trabalho com
base nas suas competências e preferências;
• O Engenheiro deve ser responsabilizado pelo seu
trabalho;
• É mais fácil prevenir erros do que corrigi-los.
© 2002 Universidade do Porto
Engenharia de Software
8
PSP – Princípios II
• A maneira correcta é sempre a mais fácil e barata
de executar uma tarefa;
• Para melhorar a sua qualidade e performance, o
Engenheiro de Software deve usar processos bem
definidos e bem avaliados.
© 2002 Universidade do Porto
Engenharia de Software
9
PSP –Processo de Desenvolvimento
© 2002 Universidade do Porto
Engenharia de Software
10
PSP - script
© 2002 Universidade do Porto
Engenharia de Software
11
PSP - Planeamento
• Para se fazerem estimativas de tamanho, tempos,
defeitos, recursos, é utilizado o método PROBE
(PRoxy Based Estimating).
© 2002 Universidade do Porto
Engenharia de Software
12
PSP – Recolha de Informação
Informação relativa a:
• Tempo gasto em cada fase;
• Tamanho do produto;
• Qualidade.
© 2002 Universidade do Porto
Engenharia de Software
13
PSP – Gestão de Qualidade
• Qualquer defeito numa pequena parte pode causar
sérios problemas;
• Produtos de software de qualidade tem que
satisfazer os requisitos do utilizador e executar de
forma fiável e consistente;
• Engenheiro é pessoalmente responsável pela
qualidade do programa que produz.
© 2002 Universidade do Porto
Engenharia de Software
14
TSP
Team Software Process
© 2002 Universidade do Porto
Engenharia de Software
15
Sumário
 PSP
 TSP
Definição
Visao geral
Lancamento e Planeamento
Acompanhamento e Gerência
Reação das Equipas
Exemplos e Benifícios
 Conclusões
© 2002 Universidade do Porto
Engenharia de Software
16
TSP - Definição
É um método que constrói guias funcionais para uma
equipa de trabalho. Fornece:
• processos bem definidos;
• uma estrutura à equipa de trabalho;
• um ambiente de suporte e gerência;
Foi desenvolvido para uma equipa de 2 a 20
engenheiros, mas pode incluir um número maior.
© 2002 Universidade do Porto
Engenharia de Software
17
TSP - Visão geral
O TSP começa em
qualquer fase
Cada fase inicia num
ponto de lançamento ou
de relançamento
Lançamento
Levantamentos
Relançamento
Desenho
Relançamento
A estratégia é
• sobrepor as fases
• desenvolver e
incrementar
• balançar a carga de
trabalho
• acelerar as tarefas o
quanto possível
© 2002 Universidade do Porto
Implementação
Relançamento
Integração
e Teste
Conclusão
Engenharia de Software
18
TSP - Lançamento
Todos os Projectos do TSP começam com um
lançamento.
O lançamento demora cerca de 4 dias.
• é dirigido pelo coordenador da equipa.
• segue-se de imediato um treinamento de PSP.
Nos lançamentos, os engenheiros
• seleccionam as tarefas e definem os próprios
processos
• fazem o balanço dos planos
• avaliam e atribuiem eventuais riscos ao
projecto
© 2002 Universidade do Porto
Engenharia de Software
19
TSP - Plano do Projecto
Em TSP o plano é executado em três níveis:
• Faz-se o plano total do projecto.
• Planos pessoais para fase seguinte.
• Finalmente, o balanço do plano.
© 2002 Universidade do Porto
Engenharia de Software
20
TSP - Planeamento
Produção
conceptual do
projecto
Definição
de processos e
tarefas
Estimativa
dos defeitos
Estimativa de
tarefas
Estimativa
do tamanho
Definição
do plano dos
engenheiros
Faz-se o
Balaço da carga
de trabalho
Estimativa
do ganho
Estimativa
da carga horária
semanal
Projecto
Conceptual
Plano
Total
© 2002 Universidade do Porto
Plano de
Qualidade
Plano
Pessoal
Detalhado
Engenharia de Software
Balanço do
Plano de
Equipa
21
TSP
Acompanhamento do projecto - I
Regularmente os membros da equipa identificam os
riscos e traçam medidas correctivas.
Semanalmente, as equipas apresentam o relatório do
andamento do projecto.
© 2002 Universidade do Porto
Engenharia de Software
22
TSP
Acompanhamento do projecto - II
Define
tempo para cada
tarefa
Define tarefa
semanal
completada
Sumário do
produto
Estado de
tarefa do
Engenheiro A
Actualização e
programação de tarefas,.
Planos de qualidade
Insere defeitos
por componentes
e por fase
Define tamanho
por componente
Quantidade
do produto
Tarefa da equipa,
Sumários de
programação
Estado de
programação
do Engenheiro A
© 2002 Universidade do Porto
Engenharia de Software
23
TSP - Gerência do projecto
Durante o projecto de lançamento as equipas:
• formulam problemas;
• respondem questões;
• exploram alternativas.
Para sustentar o TSP, a gerência deve:
• rever periodicamente o projecto;
• avaliar os dados das equipas;
• dar ênfase à qualidade.
© 2002 Universidade do Porto
Engenharia de Software
24
TSP - Reacção das equipas
Com uma gerência apropriada, os coordenadores do
TSP podem produzir resultados extraordinários.
Os engenheiros preferem utilizar TSP:
• formam-se equipas coesas;
• força-os a projectar e a pensar;
• dá-lhes uma introspecção do desempenho do
projecto;
• tornam-se mais produtivos.
© 2002 Universidade do Porto
Engenharia de Software
25
TSP - Exemplo
Comparação entre engenheiros com e sem treino
de TSP no desenvolvimento de um projecto
TSP
Tamanho
Tempo de teste
Teste de aceitação
Defeitos experimentais
© 2002 Universidade do Porto
não-TSP
89.9
2 semanas
3 semanas
0.02
Engenharia de Software
9.5
3 meses
6 meses
5+
26
TSP – Benefícios I
Tamanho do
Software
(Software #1)
2.36X mais
# de erros
detectados
75% mais
detectado
Treino
PSP/TSP
Lançamento #6 Lançamento # 7
© 2002 Universidade do Porto
Lançamento # 8
Lançamento # 9
Engenharia de Software
27
TSP - Benefícios II
(Software #1)
Tempo de
teste
32 dias
41 dias
28 dias
2.36X mais
94% menos tempo
4 dias
Lançamnto # 6
© 2002 Universidade do Porto
Lançamento # 7
Lançamento # 8
Treino
PSP/TSP
Lançamento # 9
Engenharia de Software
28
TSP - Implementação
Um simples treino em PSP não garante muito grande
produtividade a uma empresa.
Implementar PSP/TSP numa organização requer:
• planeamento rigoroso;
• envolvimento e coordenação dum gerente com
experiência;
• mudança de comportamentos quer dos gerentes,
quer das equipas.
© 2002 Universidade do Porto
Engenharia de Software
29
Sumário
 PSP
 TSP
 Conclusão
© 2002 Universidade do Porto
Engenharia de Software
30
Conclusão
O PSP mostra aos profissionais de software como utilizar o
método de engenharia nos seus trabalhos.
O TSP ensina às organizações como construir e gerir uma
equipa efectiva de engenheiros.
A produtividade de uma equipa é extraordinária quando os
profissionais utilizam esses métodos de engenharia.
© 2002 Universidade do Porto
Engenharia de Software
31
Para mais informações,
www.sei.cmu.edu
www.cert.org
© 2002 Universidade do Porto
Engenharia de Software
32
Obrigado!
[email protected]
© 2002 Universidade do Porto
[email protected]
[email protected]
Engenharia de Software
33
Download

Survivable Systems - Universidade do Porto