planejamento e outros diagramas uml - ime-usppoliana/eng de sw/planejamento_e_outros... · mac 0332...

17
MAC 0332 - Engenharia de Software Marco A. Gerosa IME / USP Planejamento e Outros Diagramas UML MAC0332 Engenharia de Software Marco Aurélio Gerosa [email protected] 

Upload: lexuyen

Post on 12-Sep-2018

216 views

Category:

Documents


0 download

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 re­planejar 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 Bottom­up– 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 = Arquivos­mestre– 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 person­months

• Step 3.  Compute the nominal effort – Example:

Organic product12,000 delivered source statements (12 KDSI) (estimated)Nominal effort = 3.2 ×  (12)1.05 = 43 person­months

• 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