function getEffort(project, model, sfkeys, emkeys, key, indx, a, b, ksloc, sfsum, emprod) { split(model[getSFKeys()], sfkeys, " ") split(model[getEMKeys()], emkeys, " ") emprod = 1 #to avoid multiplying by zero ksloc = project[getTuning("ksloc")] a = project[getTuning("a")] b = project[getTuning("b")] # print "r1" project[getEffortSlope("aexp")] #returns 0 # printDump(project) # print "result: " em2effort("aexp", project) for (indx in sfkeys) { key = sfkeys[indx] sfsum = sfsum + sf2effort(key, project) } for (indx in emkeys) { key = emkeys[indx] emprod = emprod * em2effort(key, project) } return a * (ksloc^( b + 0.01 * sfsum ) ) * emprod } function getMonths(effort, project, model, c,d,f,indx,\ sced,scedPercent,pmNs,sfkeys,sfsum,elessb,key) { c = 3.67 d = 0.28 sced = project[getRating("sced")] if (sced == 1) scedPercent = 75 if (sced == 2) scedPercent = 85 if (sced == 3) scedPercent = 100 if (sced == 4) scedPercent = 130 if (sced == 5) scedPercent = 160 pmNs = effort / em2effort("sced", project) split(model[getSFKeys()], sfkeys, " ") for (indx in sfkeys) { key = sfkeys[indx] sfsum = sfsum + sf2effort(key, project) } elessb = 0.01 * sfsum f = d + (0.2 * elessb) return c * (pmNs^f) * (scedPercent / 100) }