This document discusses algorithmic cost models for estimating software development costs, specifically the Constructive Cost Model (COCOMO). COCOMO uses equations and effort multipliers to estimate costs based on attributes like required reliability, development schedule, and programmer capability. The process involves identifying system modules, estimating their size, and applying multipliers to calculate total effort and time.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
24 views3 pages
Cocomo
This document discusses algorithmic cost models for estimating software development costs, specifically the Constructive Cost Model (COCOMO). COCOMO uses equations and effort multipliers to estimate costs based on attributes like required reliability, development schedule, and programmer capability. The process involves identifying system modules, estimating their size, and applying multipliers to calculate total effort and time.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3
3.2.
4 Algorithmic Cost Models systerm as the
software estimated COst ofa system. Algo. Algorithmic cost estimators compute the that comnprisethe sum of the costs of the modules and subsystems model de rithmic models are thus bottom-up estimators. algorithmic cost (The Constructive Cost Model (COCOMO) is an summarized here. used t COCOMO is briefly Section 3.1 are seribed by Boehm BOE81 ). in presented development schedulefor (When using COCOMO, the equations programnmer-months and provide nominal estimates of Delivered Source Instructions for product of the estimate program unit, based on the estimated number used to adjust Table (DSI) in the unit. Effort multipliers are thenattributes, and project attributes of values. The attributes, computer attributes, personnel and their ranges from 63 soft- 3.4 summarizes the COCOMO effort multipliers by examining data equations and effort multipliers were developed the Delphi technique among a group of ware development projects, and by use of software experts. assumptions. For example, a number of the incorporate in The COCOMO equations the nominal organic mode (applications programs) equations apply following lypes of situations:
Small to medium-size projects (2K to 32K DSI)
Familiar applications area Stable, well-understood virtual machine In-house development effort
Table 3.4 COCOMO effort multipliers
Range of values Multiplier Product attributes 0.75 to 1.40 Required reliability Data-base size 0.94 to 1.16 Product complexity 0.70 to l.65 Computer attributes Execution time constraint 1.00 to 1.66 Main storage constraint 1.00 to 1.56 Virtual machine volatility 0.87 to 1.30 Computer turnaround time 0.87 to 1.15 Personnel attributes Analyst capability 1.46 to 0.71 Programmer capability 1.42 to 0.70 Applications cxperience 1.29 to 0.82 Virtual machine experience 1.21 to 0.90 Programming language experience 1.14 to 0.95 Project attributes Use of modern programming practices 1.24 to 0.82 Use of software tools 1.24 to 0.83 Required development schedule 1.23 to 1.10 Etfort mulipliers are used to modity these assumptions. The following activities are covered by the estimates:
Covers design through acceptance testing
Includes cost of dovumentation and reviews Inludes cost of projetmanager and program librarian The effort estimators exclude planning and analysis costs, installation and raining costs, and the cost of secretaries, janitors, and computer dperators. The DSl estimate includes job control statements and source statements, but excludes comments and unmodified utility routines. A DSI is considered to be one line or card image. and a programmer-month consists of I52 programmer-hours. Other assumptions concerning the nature of software projects estimated by COCOMO include the following: Careful definition and validation of requirements is performed by a small number of capable people. The requirements remain stable throughout the project. Careful definition and validation of the architectural design is performed by asmall number of capable people. Detailed design, coding. and unit testing are performed in parallel by groups of programmers working in teams. Integration testing is based on early test planning. intertace emors are mostly found by unit testing and by inspections and walk throughs before integration testing Documentation is performed incre mentally as part of the development process. In other words, systematic techniques of software engineering are used throughout the development process COCOMO is The following example of algorithmic cost estimation using adapted from Boehm (BOE81 ): product The product to be developed is a 10-KDSI embedded mode software microprocessor. for telecommunications processing on a commercially available The nominal effort equations for a 10-KDSlembedded mode product predict 44.4 programmer-months and 8.4 elapsed months for product development: PM = 2.8*(10)**|.20 = 44.4 TDEV = 2.5*(44)**0.32 = 8.4 aspects of the Effort multipliers are used to adjust the estimate for off-nominal complex, but this is project. For instance, the software is expected to be highly programmers. The the planned use of highly qualified analysts and Talble J.6 Cost cstimutlon proccdure using COCOMO. I kdenuty all ubsyaten and molules in the product. } Imate the size of cach module and caleulate the size of cach subsystem and the total ystem I Spey module level elfont multipliers for cach mnodule. The module-level multiplicrs Ioduct complexity. pogrammner capability, virtual machinc cxperience, and programming language expeielce. 4 Compue the module clfort and devclopment time cstimates for cach module, using the nominal ctiDator cquations and the module-level cffort multipliers. s Sncily the remaining || effort multipliers for cach subsystem. onsteps and 5, compute the cstimatcd cffort and development time for each subsystem. 1 Irom step 6, conpute he total system cffort and development time. 8 erfom ascusitivity analysis on the cstimate to cstablish trade-off benefits. Add other development costs, such as planning and analysis, that are not included in the estimate. rectify l0. Compare the cstimate with one developed by top-down Delphi estimation. Identify and the ditterences in the estimates
assumes that the
COCOMO is that use of a multiplicative effort adjustment factor jIn reality, varying one factor often various effort multipliers are independent. adjusted. other factors should also be Often, it is not clear how implies that other factors. variations in one factor influence the version of COCOMO outlined here is Boehm's intermediate model. In his The presents a detailed model that accounts for differences in the effort text, Boehm also we have drawn heavily on Boehm's multipliers by development phase. Althoughto present an exhaustive discussion of text in thisdiscussion, our purpose is not influence software cost and the indicate the factors that COCOMO, but rather to accounts for those factors. manner in which COCOMO most cost estimation models do not observation that One final note is the code. In one instance, the cost of reuse of existing incorporate cost estimates for developing the equivalent amount of new cost of reusing code was 20percent of the code (ZEL83).