lec4

31
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn

Upload: sibasish-sahu

Post on 03-Sep-2015

212 views

Category:

Documents


0 download

DESCRIPTION

hdfgfhfgh

TRANSCRIPT

  • Cost EstimationCIS 375Bruce R. MaximUM-Dearborn

  • Types of Cost ModelsExperientialderived from past experienceStaticderived using regression techniquesdoesnt change with timeDynamicderived using regression techniquesoften includes the effects of time

  • Expert GuessingA = The most pessimistic estimate.B = The most likely estimate.C = The most optimistic estimate. = (A + 4B + C) 6(Weighted average; where = estimate).

  • Delphi TechniqueGroup of experts, make "secret" guesses."secret" guesses are used to compute group average.Group average is presented to the group.Group, once again makes "secret" guesses.Individual guesses are again averaged.If new average is different from previous, then goto (4).Otherwise = new average.

  • Wolverton Model - 1Uses a software type matrix where the column headings come from the cross product{old, new} X {easy, moderate, hard}For example:

    TypeOEOMOHNENMNHControl212730334049I/O

  • Wolverton Model -2Estimate models in terms of LOC:C(k) = Ss(k) * Ci,j(k)Cost of = Size matrix cost entrymodule k = of module k for modules like K

    System Cost = C(k) where k = 1 to n

  • Problems with Expert JudgementIt is subjective. (consensus is difficult to achieve)Extrapolating from one project to another may be difficult.Users and project managers tend not to estimate costs very well.Cost matrices require periodic updates.

  • Function Points

  • Function Point EquationF.P.s = T * (0.65 + 0.01 * Q)

    T = unadjusted table total

    Q = score from questionnaire (14 items with values 0 to 5)

    Cost of producing one function point? May be organization specific.

  • Function Point QuestionnaireBackup.Data communication.Distributed processes.Optimal performance.Heavily used operating system.On-line data security.Multiple screens.On-line master file update.Complex inputs, queries, outputs.Complex internal processing.Reusable code.Conversion or installation.Multiple user sites.Ease of use.

  • Static Linear ModelsOften built using regression analysis

    Effort = c0 + ci * xi

    C = regression coefficientX = product or process attribute

  • Static Non-Linear ModelsExamplesEffort = c0 + ci * xidiCi and di are non-linear regression constantsorEffort = (a + b S C) * m(X)where S is size in KLOCa, b, and c are regression constants

  • Halsteads Software ScienceAssumptionscomplete algorithm specification existsprogrammer works aloneprogrammer knows what to doBased onN = # of unique operatorsn = # of unique operands

  • Halstead EquationsEffort E = N2 * log2 (n) / 4To compute NN = k * Ssk = average # operators per LOCk is language specificTo compute nN = n * log2 (n / 2)

  • Watson and Felix ModelE = 5.25 * S 0.91composite productivity factorp = wi * xiL = LOC per person-month = f(p)E = S / L

  • Bailey and Basili ModelE` = 5.5 + 0.73 * S 1.6R = E / E = actual effort/predicted effortAdjusted effort isERadj = R 1 if R >= 1 = 1 1/R if R < 1Eadj = (1 + ERadj) * E if R >= 1 = E / (1 + ERadj) if R < 1

  • COCOMO - IModel E = a Sb * m(x)

  • Basic COCOMOComputes software development effort (and cost) as a function of program size, expressed in estimated lines of code.m(x) = 1

  • Intermediate COCOMOComputes software development effort as a function of program size and a set of "cost drivers" that include subjective assessments of product, hardware, personnel, and project attributes.m(x) = m(xi)

  • Detailed COCOMOIncludes all characteristics of the intermediate version with an assessment of the cost drivers impact on each step (analysis, design, ect.) of the software engineering processm(x) based on similar questionnaire

  • Static Model ProblemsExisting models rely at least in part on expert judgmentMost static estimates require estimation of the product in lines of code (LOC)Not clear which cost factors are significant in all development environments

  • Dynamic ModelsIt is helpful to know when effort will be required on a project as well as how much total effort is requiredMost models are time or phase sensitive in their effort computations

  • Putnam ModelBased on Rayliegh curve - > skewed, median & mean offset from one another

  • Putnam Model DetailsVolume of workDifficulty gradient for measuring complexityProject technology factor measuring staff experienceDelivery time constraintsStaffing model based onTotal cumulative staffHow quickly new staff can be absorbed# days in project month

  • Putnam EquationsE = y(T) = 0.3945 * KK = area under curve [0 , 1) measured in programmer yearT = optimal development time in yearsD = K / T2 difficultyP = ci * D 2/3 productivityS = c * K 1/3 * T 4/3 lines of code

  • Parr Model

  • Parr EquationPutnam variationStaff may already be familiar with project tools, methods, and requirements

    Staff(t) = (sech2 (a*t + c) / 2) / 4

  • Jensen ModelPutnam variationLess sensitive to schedule compression than Putnam

    S = Cte * T * K1/2

  • Cooperative Programming ModelIncludes size of project team in estimate as well as code sizeE = E1(S) + E2(M)S = code sizeM = average # team membersE1(S) = a + b * S effort of single team memberE2(M) = c * Md effort required for coordination with other members

  • Dynamic Model ProblemsStill rely on expert judgmentNot clear that all project costs have been accommodated here either