planejamento e outros diagramas uml - ime-usppoliana/eng de sw/planejamento_e_outros... ·...
TRANSCRIPT
MAC 0332 Engenharia de Software
Marco A. Gerosa IME / USP
Planejamento e Outros Diagramas UML
MAC0332 Engenharia de Software
Marco Aurélio [email protected]
MAC 0332 Engenharia de Software
Planejamento• “Na preparação para uma batalha os planos são inúteis,
porém o planejamento é indispensável.”General Eisenhower
• Planejar e replanejar o tempo todo
Marco A. Gerosa 2 IME / USP
MAC 0332 Engenharia de Software
Quando fazer a estimativa?
Marco A. Gerosa 3 IME / USP
MAC 0332 Engenharia de Software
Fatores de risco• Há uma variação muito grande entre programadores.
Sackman et al. (1968) identificou variações de produtividade de 28 para 1. Eliminando os extremos e pegando programadores com o mesmo tempo de experiência a diferência caiu para 5 para 1, o que ainda implica em muita variação.
• Desenvolvedores críticos podem sair do projeto
Marco A. Gerosa 4 IME / USP
MAC 0332 Engenharia de Software
Técnicas de estimativa• Julgamento de especialistas
– Ex: Estimar o preço de um imóvel
• Estimativa Bottomup– Qual o peso total do que há nesta sala?– O problema é que o sistema é mais do que a soma de suas partes
• Uso de métricas
Marco A. Gerosa 5 IME / USP
MAC 0332 Engenharia de Software
Planejamento• Organização do projeto
– Equipe, papéis, Work Packages
• Práticas e métricas• Milestones e objetivos• Estratégias de Implantação• Avaliação
Marco A. Gerosa 6 IME / USP
MAC 0332 Engenharia de Software
Métricas de estimativa• Lines of code (LOC)• FFP• Pontos de função• COCOMO e COCOMO II
Marco A. Gerosa 7 IME / USP
MAC 0332 Engenharia de Software
Linhas de código• Vantagem: Métrica simples• Desvantagem:
– Não leva em consideração outros artefatos e atividades do desenvolvimento
– Variações para diferentes linguagens– O que é código? Definições de dados, comentários?– Como contar linhas alteradas?– Como levar em conta o reuso? – Uso de geradores de código distorcem a métrica
Marco A. Gerosa 8 IME / USP
MAC 0332 Engenharia de Software
FFP• Files + Flows (fluxos) + Processes [Van der Poel & Schach,
1983]• Custo = constante x (Fi+Fl+Pr)
Marco A. Gerosa 9 IME / USP
MAC 0332 Engenharia de Software
Pontos de função• [Albrecht, 1979]• Pontos de função simplificado• FP = 4 x Inp + 5 x out + 4 x Inq + 10 x Maf + 7 x Inf
– Inp = Inputs– Out = Outputs– Inq = Consultas– Maf = Arquivosmestre– Inf = Interfaces
• Pontos de função completo– Passo 1: Para cada módulo, estimar os Inp, Out, Inq, Maf e Inf com base
na tabela
Marco A. Gerosa 10 IME / USP
MAC 0332 Engenharia de Software
Pontos de função• Passo 2: Calcular o fator de complexidade técnica atribuindo
valores de 0 a 5 para cada um dos fatores da tabela abaixo.• Somar e aplicar o ajuste:• TCF = 0.65 + 0.01 × Soma
• O TCF varia de 0,65 a 1,35• Passo 3: Calcular FP
– FP = UFP x TCF
Marco A. Gerosa 11 IME / USP
MAC 0332 Engenharia de Software
COCOMO• Constructive Cost Model• Step 1. Estimate the length of the product in KDSI • Step 2. Estimate the product development mode (organic,
semidetached, embedded) – Example:
Straightforward product (“organic mode”)Nominal effort = 3.2 × (KDSI)1.05 personmonths
• Step 3. Compute the nominal effort – Example:
Organic product12,000 delivered source statements (12 KDSI) (estimated)Nominal effort = 3.2 × (12)1.05 = 43 personmonths
• Step 4. Multiply the nominal value by 15 software development cost multipliers
Marco A. Gerosa 12 IME / USP
MAC 0332 Engenharia de Software
COCOMO
Marco A. Gerosa 13 IME / USP
MAC 0332 Engenharia de Software
COCOMO II• COCOMO é fortemente dependente da estima de LOC• COCOMO II é uma extensão feita em 1995 do COCOMO
(proposto em 1981)• Leva em conta:
– Orientação a objetos – Ciclos de vida moderno– Prototipação rápida– Linguagens modernas– Reuso
• COCOMO II é bem mais complexo
Marco A. Gerosa 14 IME / USP
MAC 0332 Engenharia de Software
Outros diagramas da UML
Marco A. Gerosa 15 IME / USP
MAC 0332 Engenharia de Software
Visibilidade e estereótipo
Marco A. Gerosa 16 IME / USP
MAC 0332 Engenharia de Software
Diagrama de Sequência
Marco A. Gerosa 17 IME / USP