Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tutorial: Software Cost Estimation Tools – COCOMO II and COCOTS

Similar presentations


Presentation on theme: "Tutorial: Software Cost Estimation Tools – COCOMO II and COCOTS"— Presentation transcript:

1 Tutorial: Software Cost Estimation Tools – COCOMO II and COCOTS
Ye Yang Center for Software Engineering University of Southern California 2018/9/17

2 Part I: COCOMO II Model and Demo
2018/9/17

3 Software Cost Estimation Methods
Cost estimation: prediction of both the person-effort and elapsed time of a project Methods: Algorithmic Expert judgement Estimation by analogy Parkinsonian Best approach is a combination of methods compare and iterate estimates, reconcile differences COCOMO is the most widely used, thoroughly documented and calibrated cost model Price-to-win Top-down Bottom-up 2018/9/17

4 COCOMO Background COCOMO - the “COnstructive COst MOdel”
COCOMO II is the update to COCOMO 1981 ongoing research with new data collection and model calibration Originally developed by Dr. Barry Boehm and published in 1981 book Software Engineering Economics COCOMO II described in new book Software Cost Estimation with COCOMO II COCOMO can be used as a framework for cost estimation and related activities 2018/9/17

5 COCOMO Black Box Model COCOMO II product size estimate
development, maintenance cost and schedule estimates product, process, platform, and personnel attributes COCOMO II reuse, maintenance, and increment parameters cost, schedule distribution by phase, activity, increment organizational project data recalibration to organizational data 2018/9/17

6 COCOMO Submodels 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. 2018/9/17

7 COCOMO Effort Formulation
2018/9/17

8 Coverage of Different Processes
COCOMO II provides a framework for tailoring the model to any desired process Original COCOMO was predicated on the waterfall process single-pass, sequential progression of requirements, design, code, test 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 per work breakdown structure of chosen process 2018/9/17

9 MBASE Phase Distributions
see COCOMO II book for complete phase/activity distributions Phase Effort % Schedule % Inception 6 12.5 Elaboration 24 37.5 Construction 76 62.5 Transition 12 12.5 COCOMO Total 100 100 Project Total 118 125 2018/9/17

10 Cost Factors Significant factors of development cost:
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 2018/9/17

11 Scale Drivers Precedentedness (PREC) Development Flexibility (FLEX)
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 2018/9/17

12 Scale Factors Sum scale factors SFi across all of the factors to determine a scale exponent, B, using B = S SFi 2018/9/17

13 Cost Drivers Product Factors Platform Factors Personnel 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) 2018/9/17

14 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? 2018/9/17

15 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. 2018/9/17

16 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. 2018/9/17

17 COCOMO Reuse Model A nonlinear estimation model to convert adapted (reused or modified) software into equivalent size of new software: 2018/9/17

18 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). 2018/9/17

19 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 nonexecutable statements that affect an assembler's or compiler's interpretation of other program elements Codecount tool available on USC web site 2018/9/17

20 USC COCOMO II Demo 2018/9/17

21 Part II: COCOTS Model and Demo
2018/9/17

22 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 2018/9/17

23 Relationship between CII and COCOTS
2018/9/17

24 COTS Assessment Sub-model
COTS Assessment: the activity of determining the appropriateness or feasibility of using specific COTS products to fulfill required system functions. 2018/9/17

25 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. 2018/9/17

26 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. 2018/9/17

27 COTS Glue Code Sub-model Formula
2018/9/17

28 Total COCOTS Estimation
Sum of three sub-models’ estimates: EffortCOT = EffortA + EffortT + EffortGC “Grand” total effort for developing a COTS-Based System (CBS): EffortCBS = EffortCOC + EffortCOT 2018/9/17

29 COCOTS Demo 2018/9/17

30 Contact Ye Yang Tel: 1 (213) 740-6470 Fax: 1 (213) 740-4927
2018/9/17


Download ppt "Tutorial: Software Cost Estimation Tools – COCOMO II and COCOTS"

Similar presentations


Ads by Google