Unit II Cocomo

Embed Size (px)

Citation preview

  • 8/10/2019 Unit II Cocomo

    1/24

    UNIT-II

    COCOMO

  • 8/10/2019 Unit II Cocomo

    2/24

    BACKGROUND

    COCOMO (COnstructive COst estimation MOdel) considers the

    size of the software and several other characteristics of the

    proposed software. Dr Berry Boehm in 1981 proposed this

    approach when software engineers started using OOD,

    automated tools for code generation, testing and so on.

    A series of mathematical formulae are used to predict effort

    base on software size and other factors such as maturity of

    process and capability of development team, risk etc.

    COCOMO considers the software product attributes, platform

    attributes, development team attributes and project

    management attributes and weighs them suitably to improve

    the estimation.

  • 8/10/2019 Unit II Cocomo

    3/24

    BACKGROUND

    According to Boehm any software project can be classified into

    any of the three categories based upon the development

    complexity.

    Organic: If the project is deals with developing a well-understoodapplication program, the size of the development team is reasonably

    small, and the team members are experienced in developing similar

    types of projects.

    Semidetached: A development project can be considered to be of

    semidetached type, if the development team consists of a mixture ofexperienced and inexperienced staff. Team members may have limited

    experience on related systems by may be unfamiliar with some aspects

    of the system being developed.

    Embedded: A development project is considered to be of embeddedtype, if the software being developed is strongly coupled to complex

  • 8/10/2019 Unit II Cocomo

    4/24

    STAGES

    According to Boehm, Software cost estimation should be done

    through three stages:

    Basic COCOMO Intermediate COCOMO

    Complete COCOMO.

  • 8/10/2019 Unit II Cocomo

    5/24

    BASIC COCOMO

    The Basic COCOMO model gives an approximate estimate of the

    project parameters. The basic COCOMO estimation model is

    given by the following expressions:

    Effort= a1 X (KLOC)a2

    PM

    Tdev= b1 X (Effort)b2Months

    Where:

    a) KLOC is the estimated size of the software product expressed in Kilo

    Lines of code.b) a1,a2,b1,b2 are constants for each category of software products.

    c) Tdev is the estimated time to develop the software, expressed in

    months,

    d)

    Effort is the total effort required to develop the software product,expressed in person months.

    E ti ti f d l t

  • 8/10/2019 Unit II Cocomo

    6/24

    -Estimation of developmenteffort

    - Estimation of development

    timeFor the three classes of software products, the formulas forestimating the effort based on the code size are shown below:

    Organic: Effort: 2.4(KLOC)1.05

    PM

    Semidetached Effort: 2.4(KLOC)1.12

    PM

    Embedded Effort: 2.4(KLOC)1.20

    PM

    For the three classes of software products, the formulas for

    estimating the development time based on the effort are given

    below:

    Organic: Tdev= 2.5 (Effort)0.38Months

    Semidetached: Tdev= 2.5 (Effort)0.35

    Months

    Embedded: Tdev= 2.5 (Effort)0.32

    Months

  • 8/10/2019 Unit II Cocomo

    7/24

    BASIC COCOMO Example

    Assume that the size of an organic type software product has

    been estimated to be 32,000 lines of source code. Assume that

    the average salary of software developers is 15,000 per month.

    Determine the effort required to develop the software product, the

    nominal development time, and the cost to develop the product.

    From the basic COCOMO estimation formula for organic software:

    Effort = 2.4 X (32)

    1.05

    PM = 91 Person monthNominal development time = 2.5 X (91) 0.38= 14 months

    Cost required to develop the product = 91 X 15,000 = 1,465,000

  • 8/10/2019 Unit II Cocomo

    8/24

    INTERMEDIATE COCOMO

    The basic COCOMO model assumes that effort and development

    time are functions of the product size alone. But beside size

    some other project parameters is required to develop the product

    as well as the development time.

    In order to obtain an accurate estimation of the effort and project

    duration, the effect of all relevant parameters must be taken into

    account. The intermediate COCOMO model recognizes this fact

    and refines the initial estimate obtained using the basic

    COCOMO expressions by using a set of 15 cost drivers based onvarious attributes of software development.

  • 8/10/2019 Unit II Cocomo

    9/24

    INTERMEDIATE COCOMO

    Ratings upon the 15 cost drivers are asked from project managers

    on a scale of one to three. Depending on these ratings,

    appropriate cost driver values which should be multiplied with the

    initial estimate obtained using the basic COCOMO. The cost

    drivers can be classified as being attributes of the following items:

    Product:

    Computer:Personnel:

    Development environment:

  • 8/10/2019 Unit II Cocomo

    10/24

    INTERMEDIATE COCOMO

    The Intermediate COCOMO formula now takes the form:

    Effort=ai(KLoC)(b

    i).EAF

    Where E is the effort applied in person-months, KLOCis the

    estimated number of thousands of delivered lines of code for the

    project, and EAFis the factor calculated above. The value of ai

    and bi are given in the next table.

    The Development time calculation uses Effortin the same way as

    in the Basic COCOMO.

    Software project ai bi

    Organic 3.2 1.05

    Semi-detached 3.0 1.12

    Embedded 2.8 1.20

  • 8/10/2019 Unit II Cocomo

    11/24

    COMPLETE COCOMO

    A major shortcoming of both the basic and the intermediate

    COCOMO models is that they consider a software product as a

    single homogeneous entity. Most of the times large systems are

    made up of several smaller subsystems.

    The complete COCOMO model considers these differences in

    characteristics of the subsystems and estimates the effort and

    development time as the sum of the estimates for the individual

    subsystems. The cost of each subsystem is estimated separately.

    This approach reduces the margin of error in the final estimate.

  • 8/10/2019 Unit II Cocomo

    12/24

    COMPLETE COCOMO

    In case of a Distributed Management Information System product

    for an organization having offices at several places across the

    country can have the following sub components:

    Database Part

    Graphical User Interface Part

    Communication Part

    The communication part can be considered as embeddedsoftware. The database part could be semidetached software,

    and the GUI part can be considered as Organic Software. The

    costs for these three components can be estimated separately,

    and summed up to give the overall cost of the system.

  • 8/10/2019 Unit II Cocomo

    13/24

    COCOMO - II

    The latest version of COCOMO model is COCOMO-II, released in

    1997. This model has three estimation model to estimate effort

    and cost. The models are:

    Application Suite Model/Application Composition Model:

    This model as the name suggests, can be used to estimate cost

    for prototyping, e.g. to resolve user interface issues.

    Early Design Model: This supports estimates of cost at the

    architectural design stage.

    Post Architectural Model/ Final Design Architectural Model:

    This provides cost estimation during detailed design and coding

    stage. The post architectural model can be considered as an

    update of the original COCOMO.

  • 8/10/2019 Unit II Cocomo

    14/24

    uModel/Application Composition

    ModelThe Application composition model is based on counting the

    number of screens, reports and 3GL modules. Each of these

    components is considered to be an object.

    Effort is estimated in the application composition model as follows:

    1) Estimate the number of screens, reports and 3GL components from an

    analysis of the SRS document.

    2) Determine the complexity level of each screen and report and rate these as

    either simple, medium or difficult.

    Screen Complexity table:Number of views Tables

  • 8/10/2019 Unit II Cocomo

    15/24

    uModel/Application Composition

    Model3. Determine the number of object points

    4. Estimate percentage of reuse expected in the system. Then

    evaluate new object point.

    5. Determine a productivity rate, PROD=NOP/person-month. Theproductivity depends on the experience of the developers as

    well as the maturity of the CASE environment used.

    Developers

    experience

    Very low Low Nominal High Very high

    CASE

    maturity

    Very low Low Nominal High Very high

    PROD 4 7 13 25 50

  • 8/10/2019 Unit II Cocomo

    16/24

    uModel/Application Composition

    ModelThe object points count needs modification by way of reduction as

    the software may use reusable components and libraries.

    Therefore:

    Revised Object Point (ROP)=Object Point X

    For this ROP, the effort in man month is computed using a

    productivity constant, based on the software developmentteams experience and capability. COCOMO-II prescribes

    productivity constant expressed as the number of object points

    per man month as shown in previous table.

    =

  • 8/10/2019 Unit II Cocomo

    17/24

    uModel/Application Composition

    ModelFor example, object points, say are 40 and the re-use possibility is

    10%, then

    ROP= = 40 X 0.90 = 36

    Further, if the development teamsexperience and maturity is at

    level normal, then productivity constant is 13. hence

    MME= 36/13 = 3 Man Months

  • 8/10/2019 Unit II Cocomo

    18/24

    Early Design Model

    The COCOMO uses the base equation:

    MME = A X (size)B

    Where:MME = Man month effort

    A = constant representing nominal productivity

    B = factor indicating economies/diseconimies of scale. B is known

    as scaling factor.Size = KLOC.

  • 8/10/2019 Unit II Cocomo

    19/24

    Early Design Model

    The emphasis in the COCOMO-II model is on scaling factors,

    which together give rise to B. The model uses five factors for

    arriving at economies/diseconimies in scale, namely

    precedentness, development flexibility, risk resolution, team

    cohesion and organization process maturity.

    B is the value of scaling factor is computed as below:

    B = 0.91 + 0.01( Ratings)

    The rating for each of the five factors is based on the

    organization's level on each of these factors.

  • 8/10/2019 Unit II Cocomo

    20/24

    Early Design Model

    Factor Code Very low Low Nominal High Factor Name

    PREC 6.20 4.96 3.72 2.48 Precedentness

    FLEX 5.07 4.05 3.04 2.03 Flexibility

    RESL 7.07 5.65 4.24 2.83 Risk Resolution

    TEAM 5.48 4.38 3.29 2.19 Team CohesionPMAT 7.80 6.24 4.68 3.12 Process Maturity

    Let us assume that in a given software development scenario, the

    organization's level on these factors is very low.

    Then B= 0.91 + 0.01 X(6.20 +5.07+7.07+5.48+7.80) = 1.2262

    A=13, size=10 KLOC, then MME=13 X (10)1.2262person month.

  • 8/10/2019 Unit II Cocomo

    21/24

    Post Architectural Model

    In addition to the 5 factors that affect development efforts, some

    factors have a large impact on MME. In Post Architectural

    Model the MME(Modified) is calculated based upon 16 more

    factors which are significant.

    MME(Modified) = MME X (Product of ratings of 16 factors)

  • 8/10/2019 Unit II Cocomo

    22/24

    Post Architectural Model

    Code Name Very

    low

    Low Nomina

    l

    High

    Product Factors

    RELY Software Reliability 0.82 0.92 1.00 1.10

    DATA Database Size 0.80 0.90 1.00 1.14

    CPLX Software Complexity 0.73 0.87 1.00 1.17

    RUSE Required Reusability 0.85 0.95 1.00 1.07

    DOC

    U

    Documentation 0.81 0.91 1.00 1.11

    Platform Factors

    TIME Time constraint on execution NRA NRA 1.00 1.11

    STPR Main storage constraint NRA NRA 1.00 1.05

    PVOL PLATFORM VOLATILITY NRA NRA 1.00 1.15

  • 8/10/2019 Unit II Cocomo

    23/24

    Post Architectural Model

    Code Name Very

    low

    Low Nomina

    l

    High

    Personnel Factors

    ACAP Analyst capability 1.42 1.19 1.00 0.85

    PCAP Programmer capability 1.34 1.15 1.00 0.88

    AEXP Analyst experience 1.22 1.10 1.00 0.88

    PEXP Programmer experience 1.19 1.09 1.00 0.91

    LTXP Language and tool experience 1.20 1.09 1.00 0.91

    PCON

    Personnel Continuity 1.29 1.12 1.00 0.90

    Project Factors

    TOOL Use of software tools 1.17 1.09 1.00 0.90

    SITE Site environment 1.22 1.09 1.00 0.93

  • 8/10/2019 Unit II Cocomo

    24/24

    Post Architectural Model

    Suppose we have to calculate the MME(Modified) in a post architectural

    scenario according to the previous example where the size is 10 KLOC.

    Let us evaluate tow possibilities of an extreme nature. One assumption is that

    the organization scores very low on all architectural factors, and the second

    possibility is that the organization scores high on all factors.

    Possibility 1: (All ratings are very low)

    Product of ratings of 16 factors = 2.01

    Possibility 2: (All ratings are high)Product of ratings of 16 factors = 0.98

    MME 1 = 220 X 2.01 = 442 Man Months

    MME 2 = 142 X 0.98 = 139 Man Months