Software Cost Estimation Metrics and Models

 —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  — —
Sup­port this Page: http://amzn.to/2kgnzrf
 — —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  — —

Soft­ware Cost Estim­a­tion Met­rics and Mod­els

The pro­cess of ana­lyz­ing the amount of effort that will be required to built soft­ware. Pre­lim­in­ary estim­ates done in the begin­ning before pro­ject starts estim­ates if the pro­ject is worth mak­ing. When the pro­ject is determ­ined to be feas­ible, more detailed estim­ates are neces­sary for pro­ject plan­ning.







Ana­lys­is of past pro­jects indic­ate that cost depends on a num­ber of factors. Dif­fer­ent mod­els have been cre­ated to make bet­ter pre­dic­tions of soft­ware cost.

The main meth­od to determ­ine cost is size. Size is determ­ined by:
 — lines of code
 — func­tion points

Lines of Code (LOC)

NCLOC (Non com­men­ted lines of code) also known as ELOC (effect­ive lines of code)

CLOC (com­men­ted lines of code)

LOC is the most widely used meth­od to determ­ine source code length.

For­mu­la:

LOC = NCLOCCLOC

Func­tion Points

Meas­ures func­tion­al­ity of a sys­tem. Points are cal­cu­lated res­ult­ing in Unad­jus­ted func­tion point count (UFC)

UFC con­sists of:
 — extern­al inputs
 — extern­al out­puts
 — extern­al inquir­ies
 — extern­al files
 — intern­al files

Once this is cal­cu­lated:
 — com­plex­ity rat­ing is assigned to each count
 — each count is mul­ti­plied by com­plex­ity weight

Tech­nic­al com­plex­ity factor(TCF)

Com­pon­ents of TCF include:
 — reli­able back-up and recov­ery
 — dis­trib­uted func­tions
 — heav­ily used con­fig­ur­a­tion
 — oper­a­tion­al ease
 — com­plex inter­face
 — reusab­il­ity
 — mul­tiple sites
 — data com­mu­nic­a­tions
 — per­form­ance
 — online data entry
 — online update
 — com­plex pro­cessing
 — install­a­tion ease
 — facil­it­ate change

Each has a rat­ing of 0..5 where 5 means it has a great influ­ence on the sys­tem. If you name each com­pon­ent F1, F2..Fn

TCF = 0.65+0.01(SUM(Fi))

:Func­tion Point for­mu­la:

FP = UFC*TCF

Ori­gin­al COCOMO

Con­sists of 3 mod­els:
 — Basic: used early in pro­ject
 — Inter­me­di­ate
 — Advanced: used after design is com­plete

All three take form of:

E = aS^b x EAF

Where:
E = effort in per­son months
S = size with met­ric thou­sands line of code
EAF = effort adjust­ment factor

3 devel­op­ment mod­es:
 — Organ­ic: small pro­ject, inform­al
 — Semi detached: mixed-teams, mix of form­al and inform­al
 — Embed­ded: form­al, fol­lows strict rules

A and b depend on devel­op­ment mode.

Basic COCOMO

Effort as func­tion of pro­gram size
E = aKLOC^b

Inter­me­di­ate COCOMO

Basic COCOMO + cost drivers
E = aKLOC^b*EAF

Advanced COCOMO

Inter­me­di­ate COCOMO weighted accord­ing to phase of soft­ware devel­op­ment.

Phases:
 — Require­ments Plan­ning and Pro­duct design ( RPD)
 — Detailed design (DD)
 — Code and unit test (CUT)
 — Integ­ra­tion and test (IT)

Estim­ates for each mod­ule is com­bined into sub­sys­tems which even­tu­ally res­ult in a pro­ject estim­ate. Detailed cost drivers are used to determ­ine each phase of the life­cycle.

COCOMO II

More use­ful than COCOMO due to the fact that it caters for mod­ern tech­niques. COCOMO II also includes applic­a­tion com­pos­i­tion mod­el (pro­to­typ­ing), early design and post-archi­tec­ture mod­els.

Applic­a­tion com­pos­i­tion mod­el is used to resolve high-risk issues. Object points are used instead of LOC met­ric. Cal­cu­lated by count­ing num­ber of screens, reports and com­pon­ents that will be used. Each is clas­si­fied as sim­ple, medi­um and dif­fi­cult.

Early design mod­el is used to eval­u­ate the archi­tec­ture and oper­a­tions while the Post-archi­tec­ture mod­el is used dur­ing devel­op­ment and main­ten­ance. The mod­el has 5 factors and 17 cost drivers. The 5 factors replace devel­op­ment mod­es of ori­gin­al COCOMO.

SLIM

Used for large pro­jects. Put­nam developed this mod­el. He sug­gests that staff­ing rises and pro­ject pro­gresses and drops after accept­ance test­ing.

2 equa­tions are used:
 — Soft­ware equa­tion
 — man­power-buildup

Cri­ter­ia for eval­u­at­ing Cost mod­els

- defin­i­tion
 — fidel­ity
 — objectiv­ity
 — con­struct­ive­ness
 — detail
 — sta­bil­ity
 — scope
 — ease of use
 — pro­spect­ive­ness
 — parsi­mony

A mod­el is accept­able if 75% of pre­dicted val­ues have a vari­ance of 25% from the estim­ates.

Prob­lems with exist­ing mod­els include:
 — no rela­tion between size and effort
 — no con­sensus on effect of change in dur­a­tion of pro­ject.
 — Mod­els are only suit­able for cer­tain devel­op­ment efforts.
 — Fail­ure to take into con­sid­er­a­tion organ­isa­tion char­ac­ter­ist­ics
 — Size is dif­fi­cult to pre­dict dur­ing devel­op­ment time

“ —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  — – — —  —  —  —  —  —  —  —  —  —  —  —  —  —  — – — —  —  —  —  —  —  —  —  —  —  —  — –
Tap­poġġ­ja dan Paġna: http://amzn.to/2kgnzrf
 — —  —  —  —  —  —  —  —  —  —  —  —  —  —  — – — —  —  —  —  —  —  —  —  —  —  —  —  —  —  — – — —  —  —  —  —  —  —  —  —  —  —  — –

Soft­wer ispiża Met­rics Stima u Mudel­li

Il-proċess tal-analiżi tal-ammont ta sforz li se jkunu meħtieġa li soft­wer mib­n­i­ja. Stimi pre­lim­in­ari jsir fil-bidu qabel ma proġett jib­da stimi jekk il-proġett ikun min jagħmel. Meta l-proġett ikun determ­in­at li jkun fat­tib­bli, stimi aktar dettal­jati huma meħtieġa għall-ippjanar tal-proġett.

Analiżi ta proġet­ti tal-pas­sat tindika li l-ispiża tid­de­pendi fuq num­ru ta’ fat­turi. Mudel­li dif­fer­enti ġew maħluqa sabiex jagħm­lu tbassir aħjar ta kost soft­wer.

Il-met­odu prinċip­ali li jid­de­termina l-ispiża huwa d-daqs. Id-daqs jiġi stabbil­it b ‘:
 — linji ta kodiċi
 — punti fun­z­joni

Linji ta Kodiċi (LOC)

NCLOC (mhux ikkum­menta linji ta kodiċi) magħru­fa wkoll bħala ELOC (linji effet­tivi ta’ kodiċi)

Cloc (linji kkum­mentaw ta kodiċi)

LOC huwa l-met­odu l-aktar użati sabiex jistabbilixxi t-tul source code.

for­mu­la:

LOC = NCLOC + cloc

Punti fun­z­joni

Miżuri fun­z­jon­al­ità ta sis­tema. Punti huma kkalku­lati jir­riżultaw fil-fun­z­joni Meta mhux aġġustat punt num­ru (UFC)

UFC jikkon­sisti minn:
 — inputs esterni
 — out­puts esterni
 — inkjesti esterni
 — fajls esterni
 — fajls interni

Ladar­ba dan kkalku­lat:
 — Klas­si­fikazz­joni kump­lessità huwa assen­jat għal kull għadd
 — Kull għadd huwa mmul­ti­p­likat bil-piż kump­lessità

Fat­tur kump­lessità teknika (TCF)

Kom­pon­enti ta ‘TCF jinklu­du:
 — Min joqgħod fuqha back-up u rkupru
 — fun­z­jon­iji­et imqass­ma
 — Kon­fig­urazz­joni ħafna użati
 — Faċil­ità oper­at­tiva
 — Inter­face kump­less
 — użu mill-ġdid
 — siti mul­ti­pli
 — komunikazz­jon­iji­et ta data
 — rendi­ment
 — Dħul tad-data online
 — Aġġor­na­ment onla­jn
 — Proċes­sar kump­less
 — Faċil­ità install­azz­joni
 — Jiffaċil­ita l-bid­la

Kull wieħed għan­du klas­si­fikazz­joni ta 0..5 fejn 5 ifis­ser li għand­ha influwen­za kbira fuq is-sis­tema. Jekk inti isem kull F1 kom­pon­ent, F2..Fn

TCF = 0.65 + 0.01 (SOMMA (Fi))

: For­mu­la Fun­z­joni Punt:

FP = UFCTCF

COCOMO oriġin­ali

Tikkon­sisti fi 3 mudel­li:
 — Bażiku: użat kmi­eni fil-proġett
 — Inter­med­ju
 — Liv­ell Avvan­zat: użat wara d-disinn huwa kom­plut

It-tli­eta jieħ­du l-forma ta ‘:

E = AS ^ b x EAF

fejn:
E = isforz f’xhur per­suna
S = id-daqs ma eluf met­rika lin­ja tal-kodiċi
EAF = fat­tur ta aġġusta­ment isforz

3 modi ta żvi­lupp:
 — Organ­ic: proġet­ti żgħar, inform­ali
 — Semi detached: mħall­ta Tim­iji­et, ħawwad tad form­ali u inform­ali
 — Inkor­por­ati: form­ali, iseg­wi regoli stret­ti

A u B jid­de­pendi fuq mod­al­ità iżvi­lupp.

bażiku COCOMO

Isforz bħala fun­z­joni tad-daqs pro­gramm
E = aKLOC ^ b

inter­med­ju COCOMO

COCOMO + sewwieqa bażiċi ispiża
E = aKLOC ^ b * EAF

avvan­zata COCOMO

Inter­med­ju COCOMO peżati skond fażi ta żvi­lupp ta’ soft­wer.

fażiji­et:
 — Rek­wiżiti Ippjanar u d-disinn tal-Pro­dott (RPD)
 — Id-disinn dettal­jat (DD)
 — Il-Kodiċi u l-unità tat-test (maqtugħ)
 — Integ­razz­joni u test (IT)

Estimi għal kull mod­u­lu huwa kkom­bin­at f’subsistemi li event­wal­ment jir­riżultaw fi stima proġett. fat­turi ta spe­jjeż dettal­jati huma wżati biex jid­de­terminaw kull fażi tal-ħaj­ja.