MAC 0332 Engenharia de Software MAC 0332 Engenharia

  • Slides: 17
Download presentation
MAC 0332 - Engenharia de Software MAC 0332 Engenharia de Software Planejamento e Outros

MAC 0332 - Engenharia de Software MAC 0332 Engenharia de Software Planejamento e Outros Diagramas UML Marco Aurélio Gerosa gerosa@ime. usp. br Marco A. Gerosa IME / USP

MAC 0332 - Engenharia de Software Planejamento • “Na preparação para uma batalha os

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

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

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 –

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,

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

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 •

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

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

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

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.

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 product 12, 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 Marco A. Gerosa 13 IME / USP

MAC 0332 - Engenharia de Software COCOMO II • COCOMO é fortemente dependente da

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

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

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

MAC 0332 - Engenharia de Software Diagrama de Sequência Marco A. Gerosa 17 IME / USP