Presentation is loading. Please wait.

Presentation is loading. Please wait.

2007-10-03CSCI 510 2007 COCOMO Tutorial1 CS510 2007 “Tutorial” Presentation: Software Cost Estimation Tools – COCOMO II and COCOTS A Winsor Brown and Ye.

Similar presentations


Presentation on theme: "2007-10-03CSCI 510 2007 COCOMO Tutorial1 CS510 2007 “Tutorial” Presentation: Software Cost Estimation Tools – COCOMO II and COCOTS A Winsor Brown and Ye."— Presentation transcript:

1 2007-10-03CSCI 510 2007 COCOMO Tutorial1 CS510 2007 “Tutorial” Presentation: Software Cost Estimation Tools – COCOMO II and COCOTS A Winsor Brown and Ye Yang Center for Systems and Software Engineering University of Southern California {AWBrown, YangY}@sunset.usc.edu

2 2007-10-03CSCI 510 2007 COCOMO Tutorial2 Helpful Hints What is COCOMO II.2000.3 vs. COCOMO II.2000 A third code variant of COCOMO II.2000 (in book’s CD) –Added more function point conversion tables –“fixed” the Adapted/Reused Code size input –… Based on 2000 USC model calibration of COCOMO combined Expert Judgement and Data using a Bayesian approach If you’ve installed COCOMO II.2000.3 correctly On line Help is available Scale factor value shows on 2 nd open/change Charts and COPSEMO are available

3 2007-10-03CSCI 510 2007 COCOMO Tutorial3 RUP /ICM Anchor Points Enable Concurrent Engineering VCRVCR IRRIRR ACRACR LCOLCO DCRDCR LCALCA CCDCCD IOCIOC OCROCR PRRPRR VCR: Valuation Commitment ReviewDCR: Development Commitment Review ACR: Architecting Commitment ReviewOCR: Operations Commitment Review

4 2007-10-03CSCI 510 2007 COCOMO Tutorial4 COCOMO Black Box Model COCOMO II product size estimate product, process, platform, and personnel attributes reuse, maintenance, and increment parameters organizational project data development, maintenance cost and schedule estimates cost, schedule distribution by phase and activity (for Elaboration and Construction!) local recalibration to organizational data

5 2007-10-03CSCI 510 2007 COCOMO Tutorial5 COCOMO Sub-models Applications Composition involves rapid development or prototyping efforts to resolve potential high-risk issues such as user interfaces, software/system interaction, performance, or technology maturity. It’s sized with application points (weighted screen elements, reports and 3GL modules). The Early Design model involves exploration of alternative software/system architectures and concepts of operation using function points and a course-grained set of 7 cost drivers. The Post-Architecture model involves the actual development and maintenance of a software product using source instructions and / or function points for sizing, with modifiers for reuse and software breakage; a set of 17 multiplicative cost drivers; and a set of 5 factors determining the project's scaling exponent.

6 2007-10-03CSCI 510 2007 COCOMO Tutorial6 COCOMO Effort Formulation

7 2007-10-03CSCI 510 2007 COCOMO Tutorial7 More helpful hints Edit / Add Module Or Click on Set Size: Click on Select “SLOC” Method Enter SLOC

8 2007-10-03CSCI 510 2007 COCOMO Tutorial8 1 st Run of COCOMO II (cont.)

9 2007-10-03CSCI 510 2007 COCOMO Tutorial9 Coverage of SDLC’s Processes Original COCOMO was predicated on the waterfall process –single-pass, sequential progression of requirements, design, code, test –Still applicable (see Appendix A of SwCEwCII)! Modern processes are concurrent, iterative, incremental, and cyclic –e.g. Rational Unified Process (RUP), the USC Model-Based Architecting and Software Engineering (MBASE) process Effort and schedule are distributed among different phases and activities in MBASE/RUP/ICM per work breakdown structure of chosen process

10 2007-10-03CSCI 510 2007 COCOMO Tutorial10 MBASE Phase Distributions 125118Project Total 100 COCOMO Total 12.512Transition 62.576Construction 37.524Elaboration 12.56Inception Schedule %Effort %Phase see COCOMO II book for complete phase/activity distributions

11 2007-10-03CSCI 510 2007 COCOMO Tutorial11 RUP /ICM Anchor Points Enable Concurrent Engineering VCRVCR IRRIRR ACRACR LCOLCO DCRDCR LCALCA CCDCCD IOCIOC OCROCR PRRPRR VCR: Validation Commitment ReviewDCR: Development Commitment Review ACR: Architecting Commitment ReviewOCR: Operations Commitment Review

12 2007-10-03CSCI 510 2007 COCOMO Tutorial12 COPSEMO Distributes Effort & Schedule

13 2007-10-03CSCI 510 2007 COCOMO Tutorial13 More Helpful Hints – 3 Never do an estimate without REVL!

14 2007-10-03CSCI 510 2007 COCOMO Tutorial14 2 nd Run COCOMO II Set REVL to 15% (a good first guess)

15 2007-10-03CSCI 510 2007 COCOMO Tutorial15 Cost Factors Significant factors of development cost: –SIZE! (the most significant factor) –scale drivers are sources of exponential effort variation –cost drivers are sources of linear effort variation product, platform, personnel and project attributes effort multipliers associated with cost driver ratings –Defined to be as objective as possible Each factor is rated between very low and very high per rating guidelines –relevant effort multipliers adjust the cost up or down

16 2007-10-03CSCI 510 2007 COCOMO Tutorial16 Scale Drivers Precedentedness (PREC) –Degree to which system is new and past experience applies Development Flexibility (FLEX) –Need to conform with specified requirements Architecture/Risk Resolution (RESL) –Degree of design thoroughness and risk elimination Team Cohesion (TEAM) –Need to synchronize stakeholders and minimize conflict Process Maturity (PMAT) –SEI CMM process maturity rating

17 2007-10-03CSCI 510 2007 COCOMO Tutorial17 Scale Factors Sum scale factors SF i across all of the factors to determine a scale exponent, B, using B =.91 +.01  SF i

18 2007-10-03CSCI 510 2007 COCOMO Tutorial18 Cost Drivers Product Factors –Reliability (RELY) –Data (DATA) –Complexity (CPLX) –Reusability (RUSE) –Documentation (DOCU) Platform Factors –Time constraint (TIME) –Storage constraint (STOR) –Platform volatility (PVOL) Personnel factors –Analyst capability (ACAP) –Program capability (PCAP) –Applications experience (APEX) –Platform experience (PLEX) –Language and tool experience (LTEX) –Personnel continuity (PCON) Project Factors –Software tools (TOOL) –Multisite development (SITE) –Required schedule (SCED)

19 2007-10-03CSCI 510 2007 COCOMO Tutorial19 Example Cost Driver - Required Software Reliability (RELY) Measures the extent to which the software must perform its intended function over a period of time. Ask: what is the effect of a software failure?

20 2007-10-03CSCI 510 2007 COCOMO Tutorial20 Many Organizations Provide Generic Guidance PREC RESL See Table 2.42 in SwCEwCII PMAT and DATA most commonly misunderstood

21 2007-10-03CSCI 510 2007 COCOMO Tutorial21 Significant CSCI577A Effort Multipliers DATADOCU

22 2007-10-03CSCI 510 2007 COCOMO Tutorial22 Reused and Modified Software Effort for adapted software (reused or modified) is not the same as for new software. Approach: convert adapted software into equivalent size of new software.

23 2007-10-03CSCI 510 2007 COCOMO Tutorial23 Nonlinear Reuse Effects The reuse cost function does not go through the origin due to a cost of about 5% for assessing, selecting, and assimilating the reusable component. Small modifications generate disproportionately large costs primarily due the cost of understanding the software to be modified, and the relative cost of interface checking.

24 2007-10-03CSCI 510 2007 COCOMO Tutorial24 COCOMO Reuse Model A nonlinear estimation model to convert adapted (reused or modified) software into equivalent size of new software:

25 2007-10-03CSCI 510 2007 COCOMO Tutorial25 COCOMO Reuse Model ( cont’d) ASLOC - Adapted Source Lines of Code ESLOC - Equivalent Source Lines of Code AAF - Adaptation Adjustment Factor DM - Percent Design Modified. The percentage of the adapted software's design which is modified in order to adapt it to the new objectives and environment. CM - Percent Code Modified. The percentage of the adapted software's code which is modified in order to adapt it to the new objectives and environment. IM - Percent of Integration Required for Modified Software. The percentage of effort required to integrate the adapted software into an overall product and to test the resulting product as compared to the normal amount of integration and test effort for software of comparable size. AA - Assessment and Assimilation effort needed to determine whether a fully- reused software module is appropriate to the application, and to integrate its description into the overall product description. See table. SU - Software Understanding. Effort increment as a percentage. Only used when code is modified (zero when DM=0 and CM=0). See table. UNFM - Unfamiliarity. The programmer's relative unfamiliarity with the software which is applied multiplicatively to the software understanding effort increment (0-1).

26 2007-10-03CSCI 510 2007 COCOMO Tutorial26 4th Run COCOMO II

27 2007-10-03CSCI 510 2007 COCOMO Tutorial27 Sizing - Lines of Code Source Lines of Code (SLOCs) = logical source statements Logical source statements = data declarations + executable statements Executable statements cause runtime actions Declaration statements are non-executable statements that affect an assembler's or compiler's interpretation of other program elements CodeCount tool available on CSSE website

28 2007-10-03CSCI 510 2007 COCOMO Tutorial28 Size Estimation By analogy with Wide-Band Delphi before LCO –Ask each team member what they think the size might be Apply personal experience, Look at completed projects, Guess (WAG), SWAG based on “modules” known to date –Collect and share in a meeting: discuss why/how different people made their estimate –Repeat –When stable, Size = (H + 4 X Ave. + L)/6

29 2007-10-03CSCI 510 2007 COCOMO Tutorial29 Part II: COCOTS Model and Demo

30 2007-10-03CSCI 510 2007 COCOMO Tutorial30 Relationship between CII and COCOTS

31 2007-10-03CSCI 510 2007 COCOMO Tutorial31 COCOTS COCOTS is the acronym for the Constructive COTS integration cost estimation model A member of the USC COCOMO II family of cost estimation models For estimating the expected initial cost of integrating COTS software into a new software system development Three sub-models: –COTS Assessment –COTS Tailoring –COTS Glue code development

32 2007-10-03CSCI 510 2007 COCOMO Tutorial32 COTS Assessment Sub-model COTS Assessment: the activity of determining the appropriateness or feasibility of using specific COTS products to fulfill required system functions.

33 2007-10-03CSCI 510 2007 COCOMO Tutorial33 COTS Tailoring Sub-model COTS Tailoring: the activity associated with setting or defining shell parameters or configuration options available for a COTS product, but which do not require modification of COTS source code, including defining I/O report formats, screens, etc.

34 2007-10-03CSCI 510 2007 COCOMO Tutorial34 COTS Glue Code Sub-model COTS “glue” code/integration refers to software developed in-house and composed of –1) code needed to facilitate data or information exchange between the COTS and the system or other COTS; –2) code needed to connect the COTS into the system or other COTS but does not necessarily enable data exchange; –3) code needed to provide required functionality missing in the COTS AND which depends upon or must interact with the COTS.

35 2007-10-03CSCI 510 2007 COCOMO Tutorial35 COTS Glue Code Sub-model Formula

36 2007-10-03CSCI 510 2007 COCOMO Tutorial36 Total COCOTS Estimation Sum of three sub-models’ estimates: –Effort COT = Effort A + Effort T + Effort GC “Grand” total effort for developing a COTS-Based System (CBS): –Effort CBS = Effort COC + Effort COT

37 2007-10-03CSCI 510 2007 COCOMO Tutorial37 Questions and Answers Questions from you? Question from HHGG: “The great question of Life, The Universe and Everything”. Answer: 42! (101010 2 )


Download ppt "2007-10-03CSCI 510 2007 COCOMO Tutorial1 CS510 2007 “Tutorial” Presentation: Software Cost Estimation Tools – COCOMO II and COCOTS A Winsor Brown and Ye."

Similar presentations


Ads by Google