cocomo ii - brhott.files.wordpress.com · cocomo ii cocomo ii foi ... se e = 1.0 a economia está...

17
COCOMO II Bruno Hott

Upload: others

Post on 29-Aug-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

COCOMO II

Bruno Hott

Page 2: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 2

COCOMO II

● COCOMO II foi construído em cima do COCOMO '81 para levar em consideração:

– Novos processos de desenvolvimento (ex. espiral)

– Aumentar a flexibilidade em desenvolvimento de software (ex. reuso, geração de código automático)

– Necessidade de tomada de decisão com informações incompletas

– Novos dados de projetos (161 projects vs 61)

Page 3: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 3

COCOMO II:Modelos

● COCOMO II incorpora um conjunto de submodelos que produzem estimativas ainda mais detalhadas de software.

● Os submodelos do COCOMO II são:

– Application Composition Model – Para prototipação

– Early Design Model – Usado quando os requisitos estão disponíveis mas a arquitetura ainda não começou.

– Post-architecture model – Usando uma vez que a arquitetura do sistema foi concebida e mais informações acerca do sistema está disponível.

● Mais do que isso:

– Reuse model – Usado para calcular o esforço da integração de componentes reusáveis.

Page 4: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 4

COCOMO II: Equações

MM=2.94⋅(SIZE)E⋅∏i=1

n

EM i

E=0.91+0.01⋅∑ j=15 SF j

TDEV=3.67⋅(MM )F

F=0.28+0.2⋅0.01⋅∑j=1

5

SF j

F=0.28+0.2⋅(E−0.91)

O expoente depende de fatores de ajuste(ao invés de ser somente uma constantecomo no COCOMO '81

Todas as contantes (precisam) ser ajustadas com valores da organização.

A diferença entre ED e PA é o número de parâmetros.

Page 5: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 5

COCOMO II:Exemplo 1

● Como exemplo, vamos estimar quanto esforço e tempo de desenvolvimento um projeto médio com 100 KSLOC consumirá.

● Para um projeto médio, todos os multiplicadores de esforço são iguais a 1.0.

● E será definido como 1.15 para refletir um projeto grande qualquer.

Page 6: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 6

COCOMO II:Exemplo 1

● Como exemplo, vamos estimar quanto esforço e tempo de desenvolvimento um projeto médio com 100 KSLOC consumirá.

● Para um projeto médio, todos os multiplicadores de esforço são iguais a 1.0.

● E será definido como 1.15 para refletir um projeto grande qualquer.

● MM = 2.94 * (100)1.15 = 585.61 pessoa-mes

● TDEV = 3.67 * (586.6)(0.28+0.2*(1.15-0.91))

TDEV = 3.67 * (586.6)0.328 = 29.7 meses

● Equipe = 586.6 / 29.7 = 19.75 ~ 20 pessoas.

Page 7: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 7

Relacionando FPs à SLOC

Linguagem SLOC / FP Linguagem SLOC / FP

Access 38 Jovial 107

Ada 83 71 Lisp 64

Ada 95 49 Machine Code 640

Al Shell 49 Modula 2 80

APL 32 Pascal 91

Assembly - Basic 320 PERL 27

Assembly - Macro 213 PowerBuilder 16

Basic - ANSI 64 Prolog 64

Basic - Compiled 91 Query - Default 13

Basic - Visual 32 Report Generator 80

C 128 Second Generation Language 107

C++ 55 Simulation - Default 46

Cobol (ANSI 85) 91 Spreadsheet 6

Database - Default 40 Third Generation Language 80

Fifth Generation Language 4 Unix Shell Scripts 107

First Generation Language 320 USR_1 1

Forth 64 USR_2 1

Fortran 77 107 USR_3 1

Fortran 95 71 USR_4 1

Fourth Generation Language 20 USR_5 1

High Level Language 64 Visual Basic 5.0 29

HTML 3.0 15 Visual C++ 34

Java 53

Page 8: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 8

Scale Factors

● O expoente E é calculado a partir de cinco fatores de escala (SF) que representam as economias relativas (ou dispêndio) de escala encontradas para projetos de diferentes tamanhos de software.

● Se E < 1.0, então o projeto apresenta economias de escala. Algumas economias de projeto podem ser alcançadas via ferramentas específicas do projeto (ex. simulações, testbeds).

● Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar custos de pequenos projetos.

● Se E > 1.0, o projeto apresenta dispêndios de escala. O que ocorre geralmente por causa de dois fatores principais:

– Aumento do overhead de comunicação.

– Crescimento do overhead de integração.

Page 9: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 9

COCOMO II:Exemplo 2

● Os fatores de escala com classificação Extra High são classificados com o peso 0. Então, em um projeto com 100 KSLOC com Extra High para todos os fatores de escala terá sum(SFj) = 0

● Por outro lado, se um projeto possui todos os fatores de escala classificados como Very Low, teremos sum(SFj) = 31.6,

Page 10: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 10

COCOMO II:Exemplo 2

● Os fatores de escala com classificação Extra High são classificados com o peso 0. Então, em um projeto com 100 KSLOC com Extra High para todos os fatores de escala terá sum(SFj) = 0

● E = 0.91 + 0.1 * 0.0 = 0.91

● MM = 2.94 * (100)0.91 = 194 p/m.

● Por outro lado, se um projeto possui todos os fatores de escala classificados como Very Low, teremos sum(SFj) = 31.6,

● E = 0.91 + 0.1 * 31.6 = 1.226

● MM = 2.94 * (100)1.226 = 832 p/m.

Page 11: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 11

Scale Factors:comportamento exponencial

Page 12: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 12

Scale Factors

Scale Factors Very Low Low Nominal High Very High Extra High

Precedentedness PREC 6.20 4.96 3.72 2.48 1.24 0.00

Flexibility FLEX 5.07 4.05 3.04 2.03 1.01 0.00

Design/Risk RESL 7.07 5.65 4.24 2.83 1.41 0.00

Team Cohesion TEAM 5.48 4.38 3.29 2.19 1.10 0.00

Process Maturity (CMMI) PMAT 7.80 6.24 4.68 3.12 1.56 0.00

● Precedentedness: quão novo o projeto é para a organização

● Flexibility: flexibilidade de desenvolvimento (ex. rigidez dos requerimentos)

● Design/Risk: profundidade do projeto e resolução de riscos

● Team Cohesion: coesão do grupo

● Process Maturity: maturidade que vem do questionário CMMI

Page 13: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 13

COCOMO II:Multiplicadores de Esforço

● De 7 (Early Design) ou 17 (Post Architecture) de acordo com o nível de detalhes necessário

Effort Adjustment Factors Early Design cost drivers Post-Architecture cost drivers

Product reliability and complexity RCPX RELY, DATA, CPLX, DOCU

Required reuse RUSE RUSE

Platform difficulty PDIF TIME, STOR, PVOL

Personnel capability PERS ACAP, PCAP, PCON

Personnel experience PREX AEXP, PEXP, LTEX

Facilities FCIL TOOL, SITE

Required Development Schedule SCED SCED

Page 14: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 14

Multiplicadores de Esforço:Post-Architecture

Effort Adjustment Factors - PA Very Low Low Nominal High Very High Extra High

Product Factors

Required Software Reliability RELY 0.82 0.92 1.00 1.10 1.26

Data Base Size DATA 0.90 1.00 1.14 1.28

Product Complexity CPLX 0.73 0.87 1.00 1.17 1.34 1.74

Developed for Reusability RUSE 0.95 1.00 1.07 1.15 1.24

Documentation Match to Life-Cicle Needs DOCU 0.81 0.91 1.00 1.11 1.23

Platform Factors

Execution Time Constraint TIME 1.00 1.11 1.29 1.63

Main Storage Contraint STOR 1.00 1.05 1.17 1.46

Platform Volatility PVOL 0.87 1.00 1.15 1.30

Personnel Factors

Analyst Capability ACAP 1.42 1.19 1.00 0.85 0.71

Programmer Capability PCAP 1.34 1.15 1.00 0.88 0.76

Personnel Continuity PCON 1.29 1.12 1.00 0.90 0.81

Applicatins Experience APEX 1.22 1.10 1.00 0.88 0.81

Platform Experience PLEX 1.19 1.09 1.00 0.91 0.85

Language and Toll Experience LTEX 1.20 1.09 1.00 0.91 0.84

Project Factors

Use of Software Tools TOOL 1.17 1.09 1.00 0.90 0.78

Multisite Development SITE 1.22 1.09 1.00 0.93 0.86 0.80

Required Development Schedule SCED 1.43 1.14 1.00

Page 15: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 15

Multiplicadores de Esforço:Early Design

Effort Adjustment Factors - ED Extra Low Very Low Low Nominal High Very High Extra High

ACAP, PCAP, PCON 3, 4 5, 6 7, 8 9 10, 11 12, 13 14, 15

Personnel Capability (PERS) 2.12 1.62 1.26 1.00 0.83 0.63 0.50

RELY, DATA, CPLX, DOCU 5, 6 7, 8 9 - 11 12 13 - 15 16 - 18 19 - 21

Product Reliability and Complexity (RCPX) 0.49 0.60 0.83 1.00 1.33 1.91 2.72

TIME, STOR, PVOL 8 9 10 - 12 13 - 15 16, 17

Platform Difficulty (PDIF) 0.87 1.00 1.29 1.81 2.61

APEX, PLEX, LTEX 3, 4 5, 6 7, 8 9 10, 11 12, 13 14, 15

Personnel Experience (PREX) 1.59 1.33 1.22 1.00 0.87 0.74 0.62

TOOL, SITE 2 3 4, 5 6 7, 8 9, 10 11

Facilities (FCIL) 1.43 1.30 1.10 1.00 0.87 0.73 0.62

Developed for Reusability (RUSE) 0.95 1.00 1.07 1.15 1.24

Required Development Schedule (SCED) 1.43 1.14 1.00

Page 16: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 16

COCOMO II:Exemplo 3

● Projeto A é um software com 32,000 DSI. Está numa área de missão crítica (RELY = 1.26, TIME = 1.29, CPLX = 1.34). Por outro lado, o time de programadores possuem experiência com a linguagem de programação (LTEX = 0.91) e alta capacidade de programação (PCAP = 0.88). Além da equipe ser altamente coesa (TEAM = 1.10). Pode-se estimar:

Page 17: COCOMO II - brhott.files.wordpress.com · COCOMO II COCOMO II foi ... Se E = 1.0 a economia está em seu ponto de equilíbrio. Este modelo linear é comumente utilizado para estimar

Bruno Hott 17

COCOMO II:Exemplo 3

● Projeto A é um software com 32,000 DSI. Está numa área de missão crítica (RELY = 1.26, TIME = 1.29, CPLX = 1.34). Por outro lado, o time de programadores possuem experiência com a linguagem de programação (LTEX = 0.91) e alta capacidade de programação (PCAP = 0.88). Além da equipe ser altamente coesa (TEAM = 1.10). Pode-se estimar:

● E = 0.91 + 0.01 * sum(SF) = 1.08Esforço: 2.94 * (32)1.08 * prod(EM)MM = 2.94 * 42.2 * 1.74 = 216 p/m

● F = 0.28 + 0.2 * (1.08 – 0.91) = 0.314

Prazo: 3.67 * (216)0.314 = 19.8 ~20 meses

● Número médio de pessoas: 216 / 20 = 10.8 ~11 pessoas