Home
usc cocomo ii 2000 - Center for Software Engineering
Contents
1. 3 Converted with automated translators 4 Copied or reused without change 5 Modified 6 Removed 7 8 Origin Definition Dataarray Includes 1 New work no prior existence 2 Prior work taken or adapted from A previous version build or release Commercial off the shelf software COTS other than libraries Government furnished software GFS other than reuse libraries Another product A vendor supplied language support library unmodified A vendor supplied operating system or utility unmodified A local or modified language support library or operating system Other commercial library A reuse library software designed for reuse Other software component or library Excludes 1 1 5 FP Counting with Unadjusted Function Points The function point cost estimation approach is based on the amount of functionality in a software project and a set of individual project factors Behrens 1983 Kunkler 1985 IFPUG 1994 Function points are useful estimators since they are based on information that is available early in the project life cycle A brief summary of function points and their calculation in COCOMO is as follows Function points measure a software project by quantifying the information processing functionality associated with major external data input output or file types Five user function types should be identified as defined in the Table2 External Input Inputs Count each unique user data or user control input type that
2. This first displays the total number of effort estimated for maintenance then sums the effort of development and maintenance together It also displays the total cost of maintenance of the module and then displays the summed total cost of development and maintenance for the entire module FIGURE 7 14 Module Maintenance window page 4 Module Maintenance Module 1 Note Each individual page can be seen by cycling through the pages pressing either the Previous or Next buttons as needed References Amadeus 1994 Amadeus Measurement System User s Guide Version 2 3a Amadeus Software Research Inc Irvine California July 1994 Behrens C 1983 Measuring the Productivity of Computer Systems Development Activities with Function Points IEEE Transactions on Software Engineering November 1983 Boehm B 1981 Software Engineering Economics Prentice Hall Boehm Abts Clark Devnani chulani Horowitz Madachy Reifer Selby and Steece 2000 Software Cost Estimation with COCOMO II Prentice Hall Boehm B and W Royce 1989 Ada COCOMO and the Ada Process Model Proceedings Fifth COCOMO Users Group Meeting Software Engineering Institute Pittsburgh PA November 1989 Boehm et al 1995 Cost Models for future Software Life Cycle Process COCOMO 2 0 Annals of Software Engineering Special Volume on Software Process and Product Measurement J D Arther and S M Henry Eds J C Baltzer AG Science Publish
3. 2 gt Diss xim e rtm sonia retos Devulopewnt odal 1 5 VOR 6 7 8 Extinated Effort Sched tust INST Stati c rota ee crimes ELT eq oq oq oa i we o wed a ef BL BL BIN ol 10 gt i 4 X This column is reserved for identifying a module Pressing upon this field for a given module will mark the desired module Marking is denoted by an x that appears in this column Only one module can be marked atatime Modules are marked in order to perform module deletion cutting copying or pasting 5 Module Name Column This column is used to house the name of each module located in the Module Area The module name can be changed by clicking twice on the desired module name box and entering the changes into the module name field Upon completion of editing press Return 6 Module Size SLOC Column This column is used to house the SLOC of each module located in the Module Area The value for SLOC can be computed in one of three ways One the value can be entered directly in the SLOC field as shown in Figure 1 4 Two by using the function point model as shown in Figure 1 5 Three by using Adaptation Adjustment Factor as shown in Figure 1 6 Upon completion click on OK There is a limit to the range of input The inputted value for SLOC must be within the range 0 9 999 999 The language of implementation of each module is initially unspecified but may be set here Note COCOMO is no
4. Jongmoon Baik and CS665 students COCOMO II 1999 0 Principal Investigator Dr Ellis Horowitz Student Designers Testers and Programmers Jongmoon Baik Cyrus Fakharzadeh Marwan Abi Antoun COCOMO II 2000 0 Principal Investigator Dr Ellis Horowitz Student Designers Testers and Programmers Jongmoon Baik apter 1 Introduction What is COCOMO Effort Estimation Equation Schedule Estimation Equation Scale Factors Sizing Methods FP Counting with Unadjusted Function Points AAF Adaptation Adjustment Factors Effort Multipliers Navigating COCOMO Begin Using COCOMO Obtaining COCOMO Chapter 2 File Menu New Load Project Save Project Save As Project Load Model Save Model Save As Model Make Report Export Save Screens Print Screen Print Preview Print Setup Exit Chapter 3 Edit Menu Add Module Clear All Module Snapshot Undo Cut Copy Paste Chapter 4 Parameters Menu 4 1 4 1 1 4 1 2 4 1 3 4 1 4 Post Architecture Model Product Platform Personnel Project User Defined EAF Early Design Model Scale Factors Equation Person Month Function Point Chapter 5 Calibrate Menu 5 1 File Load File Save File Save As Project Compute Chapter 6 Phase Distribution 6 1 WaterFall Model Project Phase Distribution 6 1 1 Waterfall Overall Project Phase 6 1 2 Waterfall Plans and Requirements Project Phase 6 1 3 Waterfall Programming Project Phase 6 1 4 Waterfall Product Design Project P
5. i enters the external boundary of the software system being measured and ii adds or changes data in a logical internal file External Output Count each unique user data or control output type that leaves the Outputs external boundary of the software system being measured Internal Logical File Count each major logical group of user data or control information Files in the software system as a logical internal file type Include each logical file e g each logical group of data that is generated used or maintained by the software system External Interface Files passed or shared between software systems should be counted Files Interfaces as external interface file types within each system External Inquiry Count each unique input output combination where an input Queries causes and generates an immediate output as an external inquiry type Table 2 User Function Types Each instance of these function types is then classified by complexity level The complexity levels determine a set of weights which are applied to their corresponding function counts to determine the Unadjusted Function Points quantity This is the Function Point sizing metric used by COCOMII The usual Function Point procedure involves assessing the degree of influence DI of fourteen application characteristics on the software project determined according to a rating scale of 0 0 to 0 05 for each characteristic The 14 ratings are
6. As we said previously COCOMO has assigned default values and equations for the annually calibrated default model Each time a COCOMO project is created its effort estimate is based on the default parameter values COCOMO provides flexibility in changing the values of multiplying factors effort estimating equation or schedule estimating equation Adjusted parameter values are stored in the est file but may also be saved in a model file Upon saving this model file these altered values can be applied to another project by loading the saved model file COCOMO system gives all model files a mod extension The report file is a summary report of the COCOMO project This report contains all entered and calculated values of a project These files are given a rpt extension The File menu option will enable you to create retrieve save or print COCOMO files To select the File menu and its options click on File with the mouse The File menu will appear as Figure 2 1 FIGURE 2 1 File Menu EX USC COCOMO HL 2000 0 Untitled 5 2 1 New The New option creates a new project file in the COCOMO working window replacing any previous project file in the working window To Create a New Working File 1 Choose New from the File menu with mouse The working window will now be clear the previous project file in the working window has been removed Note New can be selected anytime however if the previous project file or
7. COCOMO uses a single labor rate for a given module within the project and therefore does not use Cost per Person Month for a phase To compute the cumulative cost per phase or over time the Average Cost per Person Month is computed as Total Cost for entire project excluding requirements Total Effort in Person Months excluding requirements Total Effort Effort Product Design Effort Programming Effort Integration and Test Effort for requirements is assumed at an additional 7 of the Total Effort and with the same Cost per Person Month as the overall project Known Problems If the project does not have any cost information I e cost related data has not been entered and defaults to zero some charts may be incorrectly displayed and some cells may have a Division by Zero error For unusually large COCOMO data sets e g 50 modules the predefined graphs may not display correctly However by disabling the labeling of the data points resizing the graphs you may be able to achieve an acceptable display To Export 1 Choose Export from the File menu 2 The Export dialog box will appear as seen in Figure 2 12 Figure 2 12 File Export Dialog Box File Export x Select a directory for COCOMOII to save csv files Use these files in Excel with COCOMO xls G export cocomo Browse 3 When you click on OK a dialog box appears if Main csv and Phases csv already exist as shown
8. added together and added to a base level of 0 65 to produce a general characteristics adjustment factor that ranges from 0 65 to 1 35 Each of these fourteen characteristics such as distributed functions performance and reusability thus have a maximum of 5 contribution to estimated effort This is inconsistent with COCOMO experience thus COCOMO II uses Unadjusted Function Points for sizing and applies its reuse factors cost driver effort multipliers and exponent scale factors to this sizing quantity 1 1 6 AAF Adaptation Adjustment Factors Adaptation of Existing Code COCOMO is not only capable of estimating the cost and schedule for a development started from scratch but it is also able to estimate the cost and schedule for products that are built upon already existing code Adaptation considerations have also been incorporated into COCOMO where an estimate for KSLOC will be calculated This value will be substituted in place of the SLOC found in the equations already discussed This adaptation of code utilizes an additional set of equations that are used to calculate the final count on source instructions and related cost and schedule These equations use the following values as components m Adapted Source Lines of Code ASLOC The number of source lines of code adapted from existing software used in developing the new product m Percent of Design Modification DM The percentage of the adapted software s design that received mod
9. and reuse risk see Madachy 1997 15 Staff FSWP Column This column houses the calculated most likely estimate for the number of full time developers that would be needed to complete a module in the estimated development time 16 Instruction Cost Column This column contains the calculated most likely cost per instruction This number is calculated from Cost SLOC in each module FIGURE 1 7 EAF Dialog Box Early Design EAF sample wow wom mom mom mom mom wow Lo o o o o o o 1 00 FIGURE 1 8 EAF Dialog Box Post Architecture EAF sample FIGURE 1 9 Schedule Dialog Box Schedule TEN _ _ 17 Cost Column This column contains the calculated most likely estimate of the development cost for a particular module 18 Productivity PROD Column This column contains the calculated result of the module s individual SLOC divided by the module s most likely effort estimate 19 Estimated Person Month EST PM Column This column holds the module s most likely effort estimate obtained from multiplying Effort Adjustment Factor EAF by Nominal Person Month NOM PM 20 Nominal Person Month NOM PM Column This column holds the module s most likely effort estimate without incorporating the Effort Adjustment Factors EAF 21 Languages This column indicates the development language for the module Its value is set
10. below you see the screen that results from the Mbase Model Project Elaboration menu item Figure 6 16 Mbase Model Project Elaboration MBASE Phase Distribution Project Elaboration LCO to LCA 6 3 4 Mbase Model Project Construction In the figure below you see the screen that results from the Mbase Model Project Construction menu item Figure 6 17 Mbase Model Project Construction MBASE Phase Distribution Module Construction LCA to IOC Module 1 6 3 5 Mbase Model Project Transition In the figure below you see the screen that results from the Mbase Model Project Transition menu item Figure 6 18 Mbase Model Project Transition MBASE Phase Distribution Project Trnasition IOC to TCR 6 4 Mbase Model Module Phase Distribution 6 4 1 Mbase Model Module Overall Phase In the figure below you see the screen that results from the Mbase Model Module Overall phase menu item Figure 6 19 Mbase Model Module Overall MBASE Phase Distribution Module Overall Module 1 6 4 2 Mbase Model Module Inception Phase In the figure below you see the screen that results from the Mbase Model Module Inception Phase window Figure 6 20 Mbase Model Module Inception MBASE Phase Distribution Module Inception IRR to LCO Module 1 6 4 3 Mbase Model Module Elaboration Phase In the figure below you see the screen that results from the Mbase Model Module Elaboration Phase w
11. enable you to establish a project more conveniently To select the Edit menu and its options click on Edit with the mouse then the Edit menu will appear as Figure 3 1 FIGURE 3 1 Edit Menu SC EOCOM I 2000 0 Uintithed ne 4 0 Estinated Effort Sched INFT Staff ELSE os cei see 3 1 Add Module The Add Module option adds a new module to the project that is currently being worked upon by the user This Add Module function can be done by pressing the Add Module button in the Tool bar area 3 2 Clear Module The Clear option erases all modules of the current project on the working window To Erase Modules of Current Project 1 Choose Clear from the Edit menu During the execution of the Clear command if some changes have occurred on the currently viewed project and have not been saved the warning dialog box will appear as Figure 3 2 2 If you really want to clear click Yes If not click No 3 After Clear all modules of current project will disappear FIGURE 3 2 Warning Dialog Box USC COCOMO 11 Warning This Operation Is Irreversible Do You Want To Proceed 3 3 Snapshot The Snapshot option enables users to compare the effort estimation change for a project so that he she can decide to apply the change or not This function makes COCOMO more convenient and powerful for software project decision analyses The Snapshot command stores the
12. filename is selected or inputted click the OK button to initiate project saving After a project file is saved the project file name will be displayed on the PROJECT FILE field at the upper left corner of the working window 2 5 Load Model The Load Model command is used when a specific model in which the values of multiplying factors and scale factors are different from the COCOMO default model is to be applied to the current project The Load Model option is used to retrieve a model file as well as loading it for the current project To Retrieve or Load a Model File 1 Choose Load Model from the File menu 2 If a previous model has been modified in the current project the following dialog box will appear FIGURE 2 7 Warning Dialog Box USC COCOMO 11 x e Current Model Has Been Modified Do You Want To Save The Changes 3 If the previous model file is to be saved choose Yes then a Save Model dialog box will appear See Save Model If the modified model is not to be saved choose No 4 The Load Model dialog box will appear as seen in Figure 2 8 FIGURE 2 8 Load Model Dialog Box Look in 3 cocomo amp e File name gres Files of type Project Files mod 7 Cancel The file name of a COCOMO model has a default format with mod as an extension With this window the desired model file can be selected from the Files scroll list for loading If the desired model file do
13. in Figure 2 13 Figure 2 13 Subsequent File Export Dialog Box USC COCOMO II Q Exe we 4 If Yes is selected COCOMO saves two files main csv and phase csv in the chosen directory If No is selected these files will not be replaced 2 10 Save Screens The Save Screens option allows the user to save the image of any Cocomo window To Save Screens 1 Choose Save Screens from the File menu 2 The Save Screens dialog box will appear as seen in Figure 2 14 3 Follow the directions on the dialog box Figure 2 14 Save Screens Dialog Box USC COCOMO 11 2 11 Print Screen The Print Screen option prints the screen of the main Cocomo window To Print Screen 1 Choose Print Screen from the File menu 2 The Print Screen dialog box will appear as seen in Figure 2 15 Figure 2 15 Print Screen Dialog Box 3 The Name of the printer can be selected from the dropdown list Alternatively you can print to a file by clicking on the Print to file checkbox 4 Properties of the printer can be set by clicking on the Properties button 5 The Print range can be or Pages e g from 1 to 3 6 The Number of copies can be selected by clicking the up and down arrows or by typing a number directly 7 Select OK when finished to print or select Cancel to not print 2 11 Print Preview The Print Preview option displays that which will appear when printed if Print Screen is selected from
14. see Figure 7 1 These separate options are discussed in section 7 1 and 7 2 FIGURE 7 1 Maintenance sub menu bevelopnemt Hodel Post Rrchitect ere 7 1 Project Maintenance In order to view the maintenance estimation calculations for an entire project the user can click on Project under the Maintenance menu see Figure 7 1 Upon clicking upon this selection a window will appear displaying the current value of the Scale Factor Clicking on this button produces a window with the individual scale factors each of which is independently editable see Figure7 2 The scale factors can be changed by clicking upon the corresponding scale factor button This action FIGURE 7 2 Project Maintenance Dialog Box Maintenance Project Scale Factors will result in the appearance of an EAF dialog box where the cost driver ratings can be changed as described in the introduction see Figure 7 3 Upon completing the adjustment of the scale factors click the OK button and a series of screens appear with maintenance information as shown in Figures 7 3 and 7 4 Or click the Cancel button to return to the CLEF without viewing maintenance estimations FIGURE 7 3 Project Maintenance window page 1 The second page of the maintenance window can be seen by clicking upon the Next button It contains the settings for 4 Project Maintenance the 16 cost drivers SCED is not applicable see Figure 7 4 FIGURE 7 4 Project Mai
15. the Phase Distribution menu When choosing any of the views of phase distribution you will be confronted with a module selection window see FIGURE 6 8 At this point you may choose which module is to be viewed by clicking on the desired module name which will be highlighted after the click Click the OK button in order to initiate phase distribution of the chosen module FIGURE 6 8 Module selection window Component List Ea Modules List iModulel Modulez Cancel a Module Selected Modulel Help 6 2 1 Waterfall Overall Module Phase The overall phase distribution allows the user to view an entire Module s estimated effort schedule and number of personnel needed for phase completion Upon clicking on Overall Phase a window will be displayed showing the phase breakdown four formats for viewing will appear in another menu overall phase plan amp requirements programming and integration amp test see FIGURE 6 9 To exit from this window click the OK button FIGURE 6 9 Phase Distribution window displaying a sample Module s overall phase distribution Phase Distribution Module Overall Module1 Ea Overall Phase Distribution MODULE Modulel SLOC 7000 TOTAL EFFORT 26 366 Person Months PCNT EFFORT PM PCNT SCHEDULE FSWP Plans And Requirements 7 000 1 846 18 333 2 094 0 881 Product Design 17 000 4 482 25 167 2 875 12559 Programming 60 500 15 951 51 333 5 864 2 720 Detailed Design 25 833 6
16. to the major headings of Project Model and Phase In order to efficiently use COCOMO you must become familiar with the Component Level Estimating Form CLEF The different sections that are to be discussed have been given a corresponding number These sections are given a descriptive label as a point of reference as well as a summary of their contents and functions The sections found in Figure 1 3 and their descriptions are as follows 1 Main Menu bar This area contains the menu selection of the main functions of COCOMO These selections are File View Edit Parameters Calibrate Phase Distribution and Help File View Edit Parameters Calibrate and Phase Distribution are discussed in chapters 2 3 4 5 and 6 respectively Help is the selection used to receive on line assistance with the available functions 2 Tool bar This area contains image buttons like other windows applications for New Project Open Project Save Project Delete Module Copy amp Paste Insert clipboard content Insert a module and About functions 3 Project Name This editable field displays the name of the currently displayed project To edit the name click twice upon this field and proceed to edit name Upon completion of editing press the Return key The Default name of a new project is lt sample gt FIGURE 1 3 COCOMO CLEF 0 1 Fie Edt Ves Paenase Colts Phats Hap
17. while the potential software package is being developed The COCOMO software package is based upon the software cost and schedule estimation model COnstructive COst MOdel version II COCOMO This is the newly revised version of the original COnstructive COst MOdel COCOMO first published by Dr Barry Boehm in his book Software Engineering Economics Prentice Hall 1981 and Ada COCOMO 1989 predecessors The current model is described in Software Cost Estimation with COCOMO II Prentice Hall Boehm et al 2000 The primary objectives of the COCOMO II 2000 effort are m To develop a software cost and schedule estimation model tuned to the life cycle practices of the 21 century To develop software cost database and tool support capabilities for continuous model improvement To provide a quantitative analytic framework and set of tools and techniques for evaluating the effects of software technology improvements on software life cycle costs and schedules The full COCOMO II model includes three stages Stage 1 supports estimation of prototyping or applications composition efforts Stage 2 supports estimation in the Early Design stage of a project when less is known about the project s cost drivers Stage 3 supports estimation in the Post Architecture stage of a project This version of USC COCOMO II implements stage 3 formulas to estimate the effort schedule and cost required to develop a software product It also provides the b
18. 46 Programming 3 667 0 068 2 094 0 032 Test Planning 3 083 0 057 2 094 0 027 Verification and Validation 6 583 0 122 2 094 0 058 Project Office 14 333 0 265 2 094 0 126 0 3 000 0 055 2 094 0 026 Manuals 5 917 0 109 2 094 0 052 1 6 2 3 Waterfall Programming Module Phase The programming phase distribution allows the user to view the components of this particular phase When the Programming distribution is chosen from the Module Phase distribution menu the window shown in FIGURE 6 11 is displayed This window displays the following information Module name the total Module SLOC the total estimated Module effort and the total estimated Module schedule In addition the window displays the activity s requirements analysis product design programming test planning verification amp validation Module office CM QA and manuals These activity estimates are accompanied with a percentage of the phase effort that they encompass the estimated effort schedule and FSWP for the activity s completion as shown in FIGURE 6 11 To exit from this window click the OK button FIGURE 6 11 Programming Phase window for the overall Module Phase Distribution Module Programming Modulel Life Cycle Phase Programming Life Cycle Effort 15 951 Person Months Life Cycle Schedule 5 864 Months SSS SSS SS SSS SSS SS SSS SS HS SS SSS SS SS SS SS SS HS SS SS SS SS SS SS SS SS SS SS SS SS SS SS SS SSS PCNT EFFORT PM SCHEDULE F
19. 6 3 Waterfall Plans and Requirements Phase window for the overall project Waterfall Phase Distribution Project Plans amp Requirements 6 1 3 Waterfall Programming Project Phase The programming phase distribution allows the user to view the components of this particular phase When the Programming distribution is chosen from the Project Phase distribution menu the window shown in FIGURE 6 4 is displayed This window displays the following information project name the total project SLOC the total estimated project effort and the total estimated project schedule In addition the window displays the estimated effort for the activities of requirements analysis product design programming test planning verification amp validation project office CM QA and manuals These activities are accompanied with a percentage of the phase effort that they encompass the estimated effort schedule and FSWP for the activity s completion as shown in FIGURE 6 4 To exit from this window click the OK button FIGURE 6 4 Waterfall Phase Project Programming Window for the Overall Project Waterfall Phase Distribution Project Programming 6 1 4 Waterfall Product Design Project Phase The product design phase distribution allows the user to view the components of this particular phase When the Product Design distribution is chosen from the Project Phase distribution menu the window shown in FIGURE 6 5 is displayed This window displays the
20. 8 21 Platform attributes 8 PM 2 9 57 90 PMAT 50 Post Architecture Model 15 46 Post Architecture 2 PREC 50 predictor factors 21 Print Preview 37 Print Screen 36 Print Setup 38 PROD 18 Product 15 45 Product attributes 8 21 product design phase 63 70 Product Dialog Box 46 Product Release Review 58 Productivity 18 Programming 57 programming phase 62 70 project 2 25 41 45 48 52 55 57 81 83 93 Project attributes 9 21 project file 21 23 24 25 27 28 Project construction 74 Project Elaboration 74 Project Inception 73 Project Maintenance 83 Project Phase Distribution 72 Project Transition 76 PRR 58 PVOL 8 47 R Reifer 93 RELY 8 46 81 82 report 21 report file 21 31 Reset 45 RESL 50 REVL 2 Risk 15 risk level 15 Royce 93 RUSE 8 46 S Save As Model 29 Save As Project 26 Save Model 28 Save Project 25 Save Screens 36 scale factors 4 45 50 Scale factors Dialog Box 50 SCED 9 48 81 82 89 Schedule 15 SEL 4 SF 2 SITE 9 48 SLOC 8 11 15 16 21 62 63 64 69 Snapshot 40 41 Software architecture 57 Stage 2 2 stage 3 2 Steece 93 STOR 8 47 SU 8 T TEAM 50 TIME 8 47 TOOL 9 48 Transition 58 81 U Undo 42 User Defined EAF 49 V V amp V 60 67 X
21. 811 DE Code and Unit Test 34 667 9 140 e ence cmm Integration and Test 22 500 5 932 23 500 2 684 c eT In addition each phase of the Module s development cycle is represented by the estimated effort the estimated schedule and the estimated number of personnel needed for phase completion Again looking at FIGURE 6 9 the information has been separated into columns The first column displays the phase name The second column displays the percentage that the corresponding phase takes in the estimated effort The third column displays the estimated effort for each phase The fourth column displays the percentage of the estimated schedule that is dedicated to the corresponding phase s completion The fifth column displays the estimated schedule for phase completion And the last column displays the estimated number of personnel needed for phase completion FSWP Note The programming phase has been broken down into two additional phases Detailed Design and Code and Unit Test The detailed design is a follow up to the product design phase In this sub phase those points developed in the product design are elaborated to a point necessary to breakdown agreed functions into units necessary for coding The code and unit test sub phase houses the actually coding effort of the individual units of code The testing of these units upon completion is also encompassed within this sub phase 6 2 2 Waterfall Plans and Requirements Module Phase Th
22. 9 Equations 45 51 EST PM 15 18 Exit 39 Exponent 52 Export 31 F File 10 26 FLEX 50 FSWP 15 16 59 61 62 64 67 69 70 85 90 Function point 7 52 97 Function point complexity weights 52 functionality 5 7 G GFS 5 H Help 10 Horowitz 93 l IM 2 8 Inception 58 Inception Phase 78 Inception Readiness Review 58 Initial Operational Capability 58 Instruction Cost 16 integration amp test 57 integration amp test phase 64 71 IOC 58 IRR 58 J K KASLOC 2 KDSI 85 KNSLOC 2 KSLOC 4 8 L Labor Rate 15 21 Languages 18 LEXP 9 48 Life Cycle Architecture 58 LifeCycle Objectives 58 Load Model 27 Load Project 23 M MBASE Project amp Module 96 Madachy 93 Main Menu bar 10 Maintenance 10 81 Make Report 30 Mbase Model 2 57 72 Microhelp 15 model file 21 23 27 28 30 MODP 81 module 2 11 15 43 45 57 81 86 93 Module maintenance 86 Module Phase Distribution 67 77 N New 23 NOM PM 18 57 overall phase 68 77 parameters menu 45 48 50 Paste 43 PCAP 9 48 PCON 9 48 Percent of Code Modification CM 8 Percent of Design Modification DM 8 Percent of Integration Required for Modified Software IM 8 Person Month 51 personnel attributes 8 21 45 48 Personnel attributes 9 PEXP 9 48 Phase Distribution 10 57 58 Plans amp Requirements 57 69 Platform 15 47 platform attribute
23. OK button or click the Cancel button to return to the CLEF without viewing maintenance estimations After exiting the EAF dialog box you will be returned to the Module Maintenance Dialog box to continue inputting the editable values Click upon the OK button upon completion of editing the displayed fields or click upon the Cancel button if no changes are desired to the default values if more assistance the Help button is available to receive on line assistance When the OK button is clicked in the Module Maintenance Dialog Box a window displaying the first of four pages that contains the module name the current development mode the total number of source instructions for development of the module EDSI hat is loaded in the CLEF the nominal effort of the module the actual effort of the module the development cost the inputted maintenance labor rate the inputted percent of code added during maintenance per year the inputted percent of code modified during maintenance per year see figure 7 11 and the calculated annual change traffic FIGURE 7 11 Module Maintenance window page 1 The second page of the maintenance window can be seen by clicking upon the Next button It contains the settings for Module Maintenance Module 1 Ea MODULE Module 1 Development SLOC 13574 Development Nominal Person Month 2 81 Development Adjusted Person Month 345 28 Development Cost 1957717 90 Maintenance Labor Rate 0 00 Percentage Added 0 00 Pe
24. SWP Requirements Analysis 4 000 0 638 5 864 0 109 Product Design 8 000 1 276 5 864 0 218 Programming 56 500 9 012 5 864 1 537 Test Planning 4 583 0 731 5 864 0 125 Verification and Validation 7 583 1 210 5 864 0 206 Project Office 6 917 1 103 5 864 0 188 CM Q A 6 500 1 037 5 864 0 177 Manuals 5 917 0 944 5 864 0 161 Help 6 2 4 Waterfall Product Design Module Phase The product design phase distribution allows the user to view the components of this particular phase When the Product Design distribution is chosen from the Module Phase distribution menu the window shown in FIGURE 6 12 is displayed This window displays the following information Module name the total Module SLOC the total estimated Module effort and the total estimated Module schedule In addition the window displays the activities requirements analysis product design programming test planning verification amp validation Module office CM QA and manuals These activity estimates are accompanied with a percentage of the phase effort that they encompass the estimated effort schedule and FSWP for the activity s completion as shown in FIGURE 6 12 To exit from this window click the OK button FIGURE 6 12 Product Design window for the overall Module Phase Distribution Module Product Design Module1 6 2 5 Waterfall Integration and Test Module Phase The integration amp test phase distribution allows the user to view the components of this particular p
25. Separated Values Files CSV generated by USC COCOMO If COCOMO Import amp Analyze can find the files it is looking for Main csv and Phases csv it will open each file read its contents and place it in the appropriate worksheet Step 2 Generate Charts Once the sheets Main and Phases have been correctly initialized you can generate meaningful analyses of the data with the click of a button Specific help on each chart is given below If the sheet corresponding to the chart you are trying to create has been already created then the existing sheet will be activated and get the input focus If you want to overwrite the existing sheet you will have to delete it by selecting the Delete Sheet command from the Edit menu Performing your own analyses The charts that the COCOMO Import and Analyze tool can generate for you are just a subset of what you can do with the data imported into the Main and Phases sheets COCOMO Import and Analyze Tool provides you with maximum flexibility by Copying the relevant parts of Main and Phases sheets into the sheet for the purpose of the generation of graphs Using references to the values entered in Main and Phases sheets so that if you update the values in those sheets the changes will be reflected in all the other calculated sheets as well as the charts Note however that if you introduce changes in any calculated sheet the changes wont be carried over to Main or Phases Allowing yo
26. USC COCOMO II 2000 Software Reference Manual University of Southern California This manual is compatible with USC COCOMO II 2000 version 0 Copyright Notice This document is copyrighted and all rights are reserved by University of Southern California This document may not in whole or in part be copied photocopied reproduced translated or reduced to any electronic medium or machine readable form without prior consent Copyright 1995 2000 USC rights reserved Warranty This manual is provided as is without warranty of any kind either express or implied including but not limited to the implied warranties of merchantability and fitness for a particular purpose Moreover USC reserves the right to revise this manual and to make changes periodically without obligation to notify any person or organization of such revision or changes Trademark Acknowledgment USC has made every effort to supply trademark information about company names products and services mentioned in this document Trademarks indicated below were derived from various sources UNIX is a registered trademark of AT amp T Bell Laboratories Sun Microsystem and Sun Workstation are registered trademarks and OpenWindows Sun 3 Sun 4 and SPARCstation are trademarks of Sun Microsystems Inc MS Windows95 Windows98 and WindowsNT are trademarks of Microsoft Corporation Note This manual is sufficient for all versions of USC COCOMO II progr
27. ams Some of the material used in this manual has been taken from Software Engineering Economics by Barry Boehm Prentice Hall with permission of the author Printed in the United States of America Acknowledgments Cocomo81 Version 1 0 Principal Investigator Dr Ellis Horowitz Student Designers Testers and Programmers Alfredo Arcilla Joyce Balimbin Gina Gaborno Larry Klein Robert Kosai Deseree Moon Jason Pan Thomas Quayle Isaiah Simmons Scott Zechiel Cocomo81 Version 1 1 Principal Investigator Dr Ellis Horowitz Student Designers Testers and Programmers Ing Jer Huang Cocomo81 Version 10 0 Principal Investigator Dr Ellis Horowitz Student Designers Testers and Programmers M Susan Lane Ping Luo Lorna Zorman Cocomo2 0 Version 2 0 Principal Investigator Dr Ellis Horowitz Student Designers Testers and Programmers Wiryadi Adidharma Sen Ho Chang Shu fen Cheng Yu Chuan Lin Steve K Luk Shawne Robinson Tuan Ton Cocomo2 0 Version 2 0 5 Principal Investigator Dr Ellis Horowitz Student Designers Testers and Programmers Thomas Majchrowski Suppachai Sangtongkhamsuk Lloyd Manglapus COCOMO II 1997 2 Principal Investigator Dr Ellis Horowitz Student Designers Testers and Programmers Jongmoon Baik Jungwon Park James Chou Dana Flora Adams Sang Hyun and Eunsook Bang COCOMO II 1998 0 Principal Investigator Dr Ellis Horowitz Student Designers Testers and Programmers
28. between the various phases are also clearly displayed Staffing levels are assumed to remain constant during a given phase and to experience a sharp increase decrease at the beginning end of a phase Project Personnel per Phase This chart displays the staffing levels of the project during the various phases Staffing levels are assumed to remain constant during a given phase and to experience a sharp increase decrease at the beginning end of a phase Personnel per Module This chart displays the staffing requirements for every module It is useful for identifying the most labor intensive modules and to appropriately plan for the staffing of teams which are typically responsible for modules within the project Activity Project Activity per Phase This chart displays the effort spent by activity during the project lifetime The activities correspond to the ones associated with a waterfall model The effort spent per activity is computed as a percentage from the total effort spent during a phase Refer to the EFFORT 406 section of the Phases sheet to view the percentages used The same percentages are used for the overall project and for the individual modules If you think from your organizational experience that some modules may require different activity distribution than others you can recompute the effort spent by activity for those modules Project Personnel per Activity and Phase This chart displays the personnel required for every act
29. by clicking on the SLOC The initial value is unspecified FIGURE 1 10 Scale Factor Dialog Box Scale Factors FIGURE 1 11 Risk Level Dialog Box Risk Level lt sample gt 1 3 Begin Using COCOMO To begin entering a new module either click on the Add Module button on the Tool bar or on the pulldown menu item EditlAdd Module At this point a new module will appear in the CLEF with all values set to their respective defaults Double click upon the module name field in order to give the new module a name Upon typing the module name press Return A value for SLOC and Labor rate may also be given by clicking on the respective field and editing appropriately see Figure 1 12 FIGURE 1 12 Create Sample Module and give values to SLOC and Labor Rate COCO N 20000 NOTE In order to change any of the editable fields just click on the desired field twice and begin editing the field Upon completing editing either hit the Return key or click on OK AII of the final results can be found at the bottom of the CLEF in the Totals area see Figure 1 13 FIGURE 1 13 Totals area after calculations have been completed EST Sched PROD COST INST FSWP RISK Total SLOC 7000 Optimistic Effort PM 25 0 Most Likely Productivity 280 2 Pessimistic Project File C cocomo test est Is Loaded 2 1 4 Obtaining To download COCOMO you should enter this in a web browser http su
30. code during the maintenance period is known Initial Maintenance Size EQ 7 2 51 BaseCodeSize x Size SizeAdded SizeModified x MAF As shown in EQ 7 2 the initial maintenance size estimate is adjusted with a Maintenance Adjustment Factor see EQ 7 3 Maintenance Adjustment Factor EQ 7 3 SU 1 o x UNPM The resulting maintenance effort estimation formula is the same as the COCOMO II Post Architecture development model see EQ 7 4 17 Ax x 22 1 Maintenance Effort EQ 7 4 As stated previously three cost drivers for maintenance differ from development Those cost drivers are software reliability RELY modern programming practices MODP and schedule SCED The reason for the change in MODP RELY is that increased investment in software reliability and use of modern programming practices during software development have a strong positive effect upon the maintenance stage The SCED attribute is controlled by the number of years value entered by the user As a result the SCED driver is no longer editable in the EAF window but is calculated from the user inputted value for number of years when the maintenance function is engaged For more information on these cost drivers please refer to the introduction of this manual The Maintenance menu option offers sub menu for either a maintenance effort estimation upon either an entire project or an individual module
31. crease the schedule and effort this rating is called nominal These 16 factors or effort multipliers are incorporated into the schedule and effort estimation formulas by multiplying them together see Figure 1 7 for the COCOMO dialog box The numerical value of the i adjustment factor there are 16 of them is called EM and their product is called the adjustment factor or EAF The actual effort is the product of the nominal effort times the EAF total In addition to the 16 EAF factors there are two user defined factors named USR1 and USR2 Their initial values are all set to 1 They may be redefined by using the Parameters User Defined EAF menu item A final effort multiplier Required Development Schedule SCED is treated separately as it operates at the overall project level rather than potentially varying from module to module FIGURE 1 2 Estimate Development Effort 18 PMtotal SCED x PMnominal x I EMi i 1 1 2 Navigating COCOMO This software is a stand alone software system intended for a single user The software is user interactive in that it attempts to interface well with a user s needs using extensive mouse interaction wherever possible On the screen in Figure 1 3 is the CLEF Component Level Estimation Form This is where all of the entered information will be displayed The top of the screen shows all of the subfunctions which the user may call The choices appear in pop down menus according
32. current set of modules effort adjustment factors and all other data associated with a project At a later time this data can be restored To Compare the Overall Change of a Project 1 Choose Snapshot from the Edit menu The Snapshot dialog box will initially appear as Figure 3 3 FIGURE 3 3 Snapshot Dialog Box 1 Snap Shot In the dialog box the lower section represents the current results for the project The upper section is previously snapped results The current project can be snapped by clicking upon the Snap button After completing this action the upper and lower section of the Snapshot window will contain identical information At this point changes can be made to the current project values after clicking upon the Done button 2 Upon completing the modification of the project values a comparison can be made between the previously snapped project and the modified project by clicking again upon the Snapshot option in the Edit menu 3 Now the values in the upper part of the window will likely be different from the current values in the lower part To restore the upper values click on Revert The two sets of values are interchanged FIGURE 3 4 Snapshot Dialog Box 2 Snap Shot x 4 When finished click the Done button 3 4 Undo The Undo option retracts the previous cut or paste done on a module To Retract Previous Cut Paste for a Module 1 Choose Undo from the Edit menu with the mouse 2 The change
33. d module will go back to its previous status 3 5 Cut The Cut option copies a module into the cut buffer and removes it from the current project The cut module can be used for Paste To Cut a Module and Remove It From the CLEF 1 Check the module which is to be cut The Check boxes for modules are located in the leftmost column of the CLEF area Place the mouse in the box just to the left of the module name and click 2 Choose Cut from the Edit menu with the mouse 3 The cut module disappears 3 6 The Copy option copies a module The copied module can be used for Paste To Copy a Module 1 Check the module which is to be copied The Check boxes for modules are located in the leftmost column of the CLEF area 2 Choose Copy from the Edit menu with the mouse 3 The cross sign in the check box disappears 3 7 Paste The Paste option pastes a previously copied or cut module in the CLEF To Paste a Previously Copied or Cut Module 1 Check the module above which the previously copied or cut module is to be pasted The Check boxes for modules are located in the leftmost column of CLEF area 2 Choose Paste from the Edit menu with the mouse 3 The pasted module appears at the checked position and the modules lower than it were pushed one row down 4 If there is no module checked the Paste will attach the previously copied or cut module at the end Note that the Edit Paste command works exactly l
34. e plans and requirements phase distribution allows the user to view the components of this particular phase When the Plans and Requirements distribution is chosen from the Module Phase distribution menu the window shown in FIGURE 6 10 is displayed This window displays the following information Module name the total Module SLOC the total estimated Module effort and the total estimated Module schedule In addition the window displays the activities requirements analysis product design programming test planning verification amp validation Module office CM QA and manuals These activity estimates are accompanied with a percentage of the phase effort that they encompass the estimated effort schedule and FSWP for the activity s completion as shown in FIGURE 6 10 To exit from this window click the OK button FIGURE 6 10 Plans and Requirements Phase window for the overall Module Phase Distribution Module Plans amp Requirements Modulel Life Cycle Phase Plans And Requirements Life Cycle Effort 1 846 Person Months Life Cycle Schedule 2 094 Months PCNT EFFORT PM SCHEDULE FSWP Requirements Analysis 46 833 0 864 2 094 0 413 Product Design 16 583 0 306 2 094 0 1
35. ers Amsterdam The Netherlands Vol 1 pp 45 60 Chidamber S and C Kemerer 1994 A Metrics Suite for Object Oriented Design JEEE Transactions on Software Engineering to appear 1994 Goethert W E Bailey M Busby 1992 Software Effort and Schedule Measurement A Framework for Counting Staff Hours and Reporting Schedule Information CMU SEI 92 TR 21 Software Engineering Institute Pittsburgh PA IEPUG 1994 IFPUG Function Point Counting Practices Manual Release 4 0 International Function Point Users Group Westerville OH Kunkler J 1985 A Cooperative Industry Study on Software Development Maintenance Productivity Xerox Corporation Xerox Square XRX2 52A Rochester NY 14644 Third Report March 1985 Madachy J Raymond 1997 Heuristic Risk Assessment Using Cost Factors IEEE Software May June 1997 pp 51 59 Park R 1992 Software Size Measurement A Framework for Counting Source Statements CMU SEI 92 TR 20 Software Engineering Institute Pittsburgh PA Selby R A Porter D Schimidt J Berney 1991 Metric Driven Analysis and Feedback systems for Enabling Empirically Guided Software Development Proceedings of the Thirteenth International Conference on Software Engineering ICSE 13 Austin TX May 13 16 1991 pp 288 298 Appendix A Accelerator Keys Windows File Alt F New Ctrl N Load Project Ctrl L Save Project Ctrl S Save As Projec
36. es go straight to those edit boxes and type new values When finished with the modification Platform Parameters Default model values used click the OK button 4 1 3 Personnel The Personnel option displays six cost drivers ACAP AEXP PCAP PEXP LTEX and PCON and their corresponding ratings and multiplier values Select Personnel from the Parameters menu with the mouse The Personnel Dialog Box will appear as Figure 4 4 FIGURE 4 4 Personnel Dialog Box Personnel Parameters Default model values used To modify these values go straight to those edit boxes and type new values When finished with the modification click the OK button 4 1 4 Project The Project option displays three cost drivers TOOL SCED and SITE and their corresponding ratings and multiplier values Select Project from the Parameters menu with the mouse The Project Dialog Box will appear as Figure 4 5 FIGURE 4 5 Project Dialog Box Project Parameters Default model values used Ed VLO 0 NOM HI XHI poor poor Cancel 1 To modify these values go straight to those edit boxes and type new values When finished with the modification click the OK button TOOL 17 1 09 SCED 1 43 1 14 SITE 2 22 1 09 1j ti EA 8 0 6 o 9o 0 7 1 00 1 0 o 0 8 Reset 4 1 5 User Defined EAF The User Defined EAF opti
37. es not exist in the scroll list look for it in the other directories 5 Choose desired directory for file loading 6 When the desired file is shown on the Files list click it and click the OK button to initiate model loading 7 After a model file is loaded its file name will be displayed on the MODEL FILE field at upper left corner on the working window and the related costs of current project will be recalculated and shown on the working window 2 6 Save Model The Save Model option is used to store the results of the current COCOMO model as a file with mod extension To Store the Results of Current Model 1 Choose Save Model from the File menu If the current model is loaded from a previously stored model file the Save Model will overwrite the same model file with the current model 2 If the current model is new one the Save Model dialog box will appear as seen in Figure 2 9 FIGURE 2 9 Save Model Dialog Box Save As Save in Sacco mg El e Fie name Save as type Model Files mod 3 Look at the Files scroll window If the file saving is to update overwrite a existing model file the desired filename should be found in the Files scroll list If the filename can not be found from current list change the directory from the Directories scroll list until the desired filename is being shown When the desired filename is on the list click it 4 If the file savin
38. explained below in detail They are displayed in this window and compared to the values currently used by COCOMO II To get COCOMO to use these values click on Accept as shown Figure 5 8 FIGURE 5 8 Compute Dialog Box Calibrated Parameters Chapter 6 Phase Distribution The Phase Distribution is one of the main menu selections Its function is to display a breakdown of the software effort and schedule into the phases of the development cycle COCOMO II offers support for two different development cycles the waterfall model and the mbase model The waterfall model consists of the phases plans amp requirements design programming and integration amp test These phases are described as follows Plans amp Requirements In this phase a statement for the required functions interfaces and performance is created These expectations are used to define the capabilities of the software product as expressed by representatives of all interested parties Product Design In this phase a hardware software architecture control structure and data structure for the product are defined A draft of the user s manual and test plans are also created during this phase Programming In this phase the design of the previous phase is implemented in the creation of complete sets of software components Integration amp Test In this phase the various software components are brought together in order to achieve a properly functionin
39. ext file for printing In Post Architecture mode the text file contains ALL of the COCOMO parameter values and all of the input values In Early Design mode only those parameters that affect Early Design are included To Create Project Report 1 Choose Make Report from the File menu 2 The Make Report dialog box will appear as seen in Figure 2 11 FIGURE 2 11 Make Report Dialog Box File name ftest pt Save as type Report Files rpt Cancel 3 Look at the Files scroll window If the file saving is to update overwrite a existing report file the desired filename should be found in the Files scroll list If the filename can not be found from current list change the directory from the Directories scroll list until the desired filename is shown When the desired filename is on the list click it 4 If the file saving is to store a new report file choose the desired directory then type in the filename 5 Choose desired directory for file saving Look at the filter input box The path found in this box represents the directory where the report file is going to be saved This path will be changed after each directory change To change the directory click the appropriate directory choice from the Directories scroll list then click the Filter button 6 After the desired filename is selected or inputted click the OK button to initiate report file saving 7 print COCOMO project report execute the local co
40. following information project name the total project SLOC the total estimated project effort and the total estimated project schedule In addition the window displays the estimated effort for the activities of requirements analysis product design programming test planning verification amp validation project office CM QA and manuals These activity estimates are accompanied with a percentage of the phase effort that they encompass the estimated effort schedule and FSWP for the activity s completion as shown in FIGURE 6 5 To exit from this window click the OK button FIGURE 6 5 Waterfall Model Product Design Window for the Overall Project Waterfall Phase Distribution Project Product Design 6 1 5 Waterfall Integration and Test Project Phase The integration amp test phase distribution allows the user to view the components of this particular phase When the Integration and Test distribution is chosen from the Project Phase distribution menu the window shown in FIGURE 6 6 is displayed This window displays the following information project name the total project SLOC the total estimated project effort and the total estimated project schedule In addition the window displays the estimated effort for the activities of requirements analysis product design programming test planning verification amp validation project office CM QA and manuals These activity estimates are accompanied with a percentage of the phase effo
41. g is to store a new model file choose the desired directory then type in the filename 5 After the desired filename is selected or inputted click the OK button to initiate model saving 2 7 Save As Model The Save As Model option is to store the current model as COCOMO model file which has a file name different from current model To Store Current Model With different File Name 1 Choose Save As Model from the File menu 2 The Save Model dialog box will appear as seen in Figure 2 10 FIGURE 2 10 Save As Model Dialog Box Save As Fie name Save as type Model Files 3 Look at the Files scroll window If the file saving is to update overwrite a existing model file the desired filename should be found in the Files scroll list If the filename can not be found from current list change the directory from the Directories scroll list until the desired filename is being shown When the desired filename is on the list click it 4 If the file saving is to store a new model file choose the desired directory then type in the filename in the SELECTION box 5 After the desired filename is selected or inputted click the OK button to initiate model saving After a model file is saved the project file name will be displayed on the MODEL FILE field at the upper left corner of the working window 2 8 Make Report The Make Report option creates COCOMO report in the form of a t
42. g software product composed of loosely coupled modules The requirements as defined in the first phase are used to determine the fitness of the delivered product The Mbase model is an implementation of the spiral model A well defined set of common milestones serve as the endpoints between which COCOMO II estimates and actuals are counted These milestones consist of the phases inception elaboration construction and transition nception covers the period of time from Inception Readiness Review IRR to the definition of LifeCycle Objectives LCO Elaboration covers the period of time from LCO to Life Cycle Architecture LCA Construction spans the time from LCA to Initial Operational Capability IOC The final phase is Transition which covers the time from IOC to Product Release Review PRR In either the waterfall model or the Mbase model the phase distribution menu has two selections project phase distribution and module phase distribution The project phase distribution allows the user to view the development phases for the entire project all together or individually The module phase distribution allows the user to view the development phases for a particular module either all together or individually These two variations of phase distribution are discussed further in this chapter FIGURE 6 1 Waterfall Phase Distribution Sub menu Estinated E fert Sched FAOD INST KISE nu ue mine ad edad ames ry
43. government furnished software GFS other products 1 96 significant module interfaces specified 46 significant risks eliminated language support libraries and operating systems or other commercial libraries Code generated with source code generators is not included though measurements will be taken with and without generated code to support analysis The line of code definition can be calculated in several ways One way is to use the software program Amadeus Amadeus 1994 Selby et al 1991 Another software program is Code Count which is ailable from the Center for Software Engineering website under category Tools Figure 1 1 Definition Checklist for Source Statements Counts Definition Checklist for Source Statements Counts Definition name Logical Source Statements Date basic definition Originator COCOMO TD Measurement unit Physical source lines Logical source statements 8 Statement type Definition amp Data When a line or statement contains more than one type classify it as the type with the highest precedence 1 Executable Order of precedence 1 2 Nonexecutable Declarations Compiler directives Comments On their own lines m On lines with source code S 8 Ld Banners and non blank spacers Blank empty comments Blank lines Excludes How produced Definition Data array Includes 1 Programmed 2 Generated with source code generators
44. hase 6 1 5 Waterfall Integration and Test Project Phase 6 2 Waterfall Model Module Phase Distribution 6 2 1 Waterfall Overall Module Phase 6 2 2 Waterfall Plans and Requirements Module Phase 6 2 3 Waterfall Programming Module Phase 6 24 Waterfall Product Design Module Phase 6 2 5 Waterfall Integration and Test Module Phase 6 3 Mbase Model Project Phase Distribution 6 3 1 Mbase Model Project Overall Phase 6 3 2 Mbase Model Project Inception 6 3 3 Mbase Model Project Elaboration 6 3 4 Mbase Model Project Construction 6 3 5 Mbase Model Project Transition 6 4 Mbase Model Module Phase Distribution 6 4 1 Mbase Model Module Overall Phase 6 4 2 Mbase Model Module Inception Phase 6 4 5 Mbase Model Module Elaboration Phase 6 4 4 Mbase Model Module Construction Phase 6 4 5 Mbase Model Module Transition Phase Chapter 7 Maintenance 7 1 Project Maintenance 7 2 Module Maintenance References Appendix A Accelerator Keys Appendix B Function Point Values Index 99 101 103 Chapter 1 Introduction 1 1 What is COCOMO COCOMO COnstructive COst MOdel is a screen oriented interactive software package that assists in budgetary planning and schedule estimation of a software development project Through the flexibility of COCOMO a software project manager or team leader can develop a model or multiple models of projects in order to identify potential problems in resources personnel budgets and schedules both before and
45. hase When the Integration and Test distribution is chosen from the Module Phase distribution menu the window shown in FIGURE 6 13 is displayed This window displays the following information Module name the total Module SLOC the total estimated Module effort and the total estimated Module schedule In addition the window displays the activities requirements analysis product design programming test planning verification amp validation Module office CM QA and manuals These activity estimates are accompanied with a percentage of the phase effort that they encompass the estimated effort schedule and FSWP for the activity s completion as shown in FIGURE 6 13 To exit from this window click the OK button FIGURE 6 13 Waterfall Integration amp Test window for the overall Module Phase Distribution Module Integration amp Test Modulel 6 3 Mbase Model Project Phase Distribution 6 3 1 Mbase Model Project Overall Phase In the figure below you see the screen that results from the Mbase Model Project Overall menu item Figure 6 14 Mbase Model Project Overall MBASE Phase Distribution Project Overall 6 3 2 Mbase Model Project Inception In the figure below you see the screen that results from the Mbase Model Project Inception menu item Figure 6 15 Mbase Model Project Inception MBASE Phase Distribution Project Inception IRR to LCO 6 3 3 Mbase Model Project Elaboration In the figure
46. he current calibration data as a cal file which has a different file name from the current file This command works precisely the same as the File Save As for est and mod files see Figure 5 4 FIGURE 5 4 Save As Calibration Dialog Box Saveim cocomo ek rt File name Save as type Calibration Files cal Cancel 5 4 Project A windows appears shown in Figure 5 5 which displays the archived project data To remove the window click on Cancel To delete an existing entry first place an x at the leftmost end of the row and click on Delete A warning box appears as shown in Figure 5 6 To display the entire set of values for an archived project click on Display Since the display of an archived project eliminates the display of any existing CLEF data a warning message appears as shown in Figure 5 7 To insert a new archived project from the CLEF click on Insert FIGURE 5 5 Projects Dialog Box FIGURE 5 6 Delete Warning Dialog USC COCOMO Il X _ No FIGURE 5 7 Display Warning Dialo USC COCOMO 11 5 5 Compute This command takes all of the data that has been archived and uses it to compute new constant and exponent values for the effort equation and similarly for the schedule equation There are two options to calibrate equation parameters One is the Constant Term and the other one is Development Mode Those two options are
47. ification to fulfill the objectives and environment of the new product m Percent of Code Modification CM The percentage of the adapted software s code that receives modification to fulfill the objectives and environment of the new product m Percent of Integration Required for Modified Software IM The percentage of effort needed for integrating and testing of the adapted software in order to combine it into the new product Percentage of reuse effort due to Software Understanding SU Percentage of reuse effort due to Assessment and Assimilation AA Programmer Unfamiliarity with Software UNFM These components are brought together in Figure 1 6 The AAF is the adaptation adjustment factor The AAF is the calculated degree to which the adapted software will affect overall development 1 1 7 Effort Multipliers There are a number of contributing factors to a project s delivery time and effort Development productivity was found to be affected by additional factors that were found to fall under the headings product attributes platform attributes personnel attributes and project attributes Product attributes refer to the constraints and requirements placed upon the project to be developed These included Required software reliability RELY Database size DATA Documentation match to life cycle needs DOCU Product complexity CPLX Required Reusability RUSE Platform attributes refer to the limitations placed upon devel
48. ike Edit Paste command in Microsoft Word with the exception that instead of highlighting a module one first clicks on the X in the leftmost column Chapter 4 Parameters Menu The Parameters menu option will enable you to look at or change the values of effort adjustment factors scale factors and effort schedule estimating equations factors for the current project To choose the Parameters menu and its options click on Parameters with the mouse The Parameters menu will appear as Figure 4 1 FIGURE 4 1 Parameters Menu PS USC COCOMO 112000 0 Untitled LT O a an Project Hame 4 1 Post Architecture Model 4 1 1 Product The Product option displays five cost drivers RELY DATA DOCU CPLX and RUSE and their corresponding ratings and multiplier values Select Product from the Parameters menu with the mouse The Product Dialog Box will appear as Figure 4 2 FIGURE 4 2 Product Dialog Box Product Parameters Default model values used To modify these values go straight to those edit boxes and type new values When finished with the modification click the OK button 4 1 2 Platform The Platform option displays three cost drivers TIME STOR and PVOL and their corresponding ratings and multiplier values Select Platform from the Parameters menu with the mouse The Platform Dialog Box will appear as Figure 4 3 FIGURE 4 3 Platform Dialog Box To modify these valu
49. iles scroll list for loading If the desired project file does not exist in the scroll list it is necessary to choose an appropriate directory 5 Choose desired directory for file loading 6 When the desired file is shown on the Files list click it and click the OK button to initiate project loading 7 After a project file is loaded its file name will be displayed on the PROJECT FILE field at upper left corner on the working window and all modules and related items will be displayed in the CLEF area If the number of modules is beyond the window scope the scroll bar can be used to look at all items 2 3 Save Project The Save Project option is used to store the results of the current COCOMO project as a file with est extension To Store the Results of Current Project 1 Choose Save Project from the File menu with the mouse If the current project is loaded from a previously stored project file the Save Project will overwrite the same project file with the current project 2 If the current project is a new one i e being created by the New command the Project Save dialog box will appear as seen in Figure 2 5 FIGURE 2 5 Save Project Dialog Box Save As Save in cocoom sg f ek Save as type Project Files est Cancel 3 Look at the Files scroll window If the file saving is to update overwrite a existing project file the desired filename should be found in the File
50. ince these are only estimates error bars are used to display the range within which the actual cost will fall with a very high probability COCOMO generates only the Optimistic as 0 8xMost Likely and the Pessimistic bound as 1 25xMost Likely for the cost of the entire project The Optimistic Pessimistic bounds on the cost estimates of the individual modules are similarly computed This assumes that the error on the cost estimate for the entire project is the sum of the errors on the cost of the component modules You can modify the Optimistic Pessimistic bounds on the individual modules to match your organizational experience The error bars will be adjusted accordingly Effort Project Effort per Phase This chart displays how the total effort for the overall project is distributed across phases The Effort percentages computed by that are displayed under Percentage exclude the effort spent on requirements However the percentages displayed on the chart include the effort spent on Requirements hence the slight difference Effort per Phase and Module This chart displays the effort spent on every module during the phases of the project It can be used to quickly identify the modules which are the most effort intensive Effort for requirements is assumed at an additional 7 of the Total Effort Staffing Project Personnel per Schedule This chart displays the staffing levels of the project over its duration The cutoff points
51. indow Figure 6 21 Mbase Model Module Elaboration MBASE Phase Distribution Module Elaboration LCO to LCA Module 1 6 4 4 Mbase Model Module Construction Phase In the figure below you see the screen that results from the Mbase Model Module Construction Phase window Figre 6 22 Mbase Model Module Construction MBASE Phase Distribution Module Construction LCA to IOC Module 1 6 4 5 Mbase Model Module Transition Phase In the figure below you see the screen that results from the Mbase Model Module Transition Phase window Figure 6 23 Mbase Model Module Transition MBASE Phase Distribution Module Trnasition IOC to TCR Module 1 Chapter 7 Maintenance Maintenance is one of the menu selections in the menu bar that can be accessed by either clicking upon Maintenance in the menu bar or pressing Meta M Its function is to calculate and display an estimate of the effort and cost necessary to maintain a post development software product for a user defined number of years maximum five years Maintenance encompasses the process of modifying existing operational software while leaving its primary functions intact This process excludes the following types of activities m Major re design and re development more than 5096 new code of a new software product performing substantially the same functions m Design and development of a sizeable more than 2046 of the source instructions compris
52. ing the existing product interfacing software package which requires relatively little redesigning of the existing product m Data processing system operations data entry and modification of values in the database Maintenance does include the following types of activities m Re design and re development of small portions of an existing software product Design and development of small interfacing software packages which require some redesign of the existing software product m Modification of the software product s code documentation or database structure Maintenance effort and costs are determined by essentially the same cost driver attributes used to determine the software development costs and effort exceptions are the RELY SCED and MODP factors which will be discussed in greater detail later in this chapter The maintenance calculations are heavily based upon the Maintenance change Factor MCF and the Maintenance Adjustment Factor MAF The MCF is similar to the Annual change Traffic in COCOMOSI except that maintenance periods other than a year can be used see EQ 7 1 Maintenance Change Factor EQ 7 1 SizeAdded Size Modified ET BaseCodeSize The initial maintenance size is obtained in one to two ways The first equation in EQ 7 2 is used when the base code size is known and percentage of change to the base code is known The second equation in EQ 7 2 is used when the fraction of code added or modified to the existing base
53. ion 320 Forth 49 Fortran77 107 Fourth Generation 20 Fifth Generation 5 High Level 91 Lisp 64 Modula 2 80 Object Oriented 29 Pascal 9 Procedural 105 PowerBuilder 16 Prolog 64 Query Default 13 Report Generator 80 Second Generation 107 Spreadsheet Default 6 Third Generation 80 Machine Code 640 Access 38 Ada 95 49 C 53 Database Default 40 Fortran 95 71 HTML 3 0 15 Java 53 Perl 21 Visual Basic 5 0 29 Visual C 34 Simulation Default 46 UNIX Shell 21 USR 1 1 USR 2 USR 3 USR 4 USR 5 1 pah Index A AA 8 AAF 8 ACAP 9 48 Accelerator Keys 95 ACT PM 18 57 Adaptation 8 Adaptation Adjustment Factor 11 Add Module 19 ADSI 8 AEXP 9 48 Amadeus 92 ASLOC 8 B Behrens 93 Boehm 2 93 Breakage 2 C Calibrate 10 45 calibration 21 53 54 Clear 40 CLEF 10 25 43 55 CM 2 8 59 60 61 62 63 64 67 69 70 COCOMO 2 3 4 8 10 11 21 23 24 25 26 277 28 29 30 39 40 45 52 57 60 93 Coefficient 52 complexity level 7 computer 45 Construction 58 Construction Phase 80 Copy 43 Cost 18 cost drivers 15 COTS 5 CPLX 8 46 Cut 42 D DATA 8 46 Design 57 development mode 15 DL 7 DM 2 8 DOCU 8 46 E EAF 9 18 21 52 EAF Rate 87 Early Design model 15 50 Edit 10 39 40 42 43 EDSI 57 Effort Adjustment Factor 15 effort multipliers 9 Elaboration 58 Elaboration Phase 79 EM 2
54. ivity during each phase of the project The activities correspond to the ones associated with a waterfall model The personnel required for every activity is computed from the effort spent per activity The effort spent per activity is computed as a percentage from the total effort spent during a phase Refer to the EFFORT 96 section of the Phases sheet to view the percentages used The same percentages are used for the overall project and for the individual modules If you think from your organizational experience that some modules may require different activity distribution than others you can re compute the effort spent by activity for those modules General Assumptions The general assumptions behind COCOMO are briefly listed below For all the analyses it is assumed that the waterfall model is used in particular a phase does not start until the previous one has been completed treats the effort and the schedule spent on plans and requirements as separate from the effort and the schedule spent on the other phases Product Design Programming Integration and Test The Effort percentages computed by COCOMO exclude the effort spent on requirements COCOMO computes the schedule as the calendar time in months from the determination of a product s requirements baseline to the completion of an acceptance activity certifying that the product satisfies its requirements Time spent in requirements is computed as an additional 20
55. l programming management Test Planning Specification review and update of product test and acceptance test plans Acquisition of associated test drivers test tools and test data Verification amp Validation V amp V Performance of independent requirements validation design V amp V product test and acceptance test Acquisition of requirements and design V amp V tools Are we building the product right and are we building the right product Project Office Functions Project level management functions Includes project level planning and control contract and subcontract management and customer interface Configuration Management and Quality Assurance CM QA Configuration management includes product identification change control status accounting operation of program support library development and monitoring of end item acceptance plan Quality assurance includes development and monitoring of project standards and technical audits of software products and processes Manuals Development and update of users manuals operators manuals and maintenance manuals 6 1 1 Waterfall Overall Project Phase The overall phase distribution allows the user to view an entire project s estimated effort schedule and number of personnel needed for phase completion Upon clicking on Overall Phase a window will be displayed showing the phase breakdown of the current project in COCOMO see FIGURE 6 2 This window displays the project
56. l values used Chapter 5 Calibrate Menu COCOMO II now has the ability to archive your own software project data Using this data COCOMO II will compute various coefficients and exponents involved in the effort and schedule equations This will make your COCOMO II estimates even more reliable Each software project to be archived is described as a complete COCOMO II project It may include multiple modules each with their own SLOC estimate and EAF factors In addition a software project consists of a name date time actual effort and actual schedule The actual effort and actual schedule must be supplied by the COCOMO II user Entering revised values for effort and schedule are always possible Effort is given in units of person months Schedule is given in units of months FIGURE 5 1 Calibrate Menu 5 1 File Load The Calibrate File Load option is used to retrieve a calibration project file as well as loading all project data on the working project window Figure5 2 FIGURE 5 2 Load Calibration Dialog Box Calibration Files cal 5 2 File Save The Calibrate File Save command saves the current calibration data in the file whose name was previously identified using File Save As FIGURE 5 3 Save Calibration Dialog Box Calibration Files cal ance 5 3 File Save As The Calibrate File Save As command stores t
57. mmands for your system in order to send the file for printing 2 9 Export The Export option lets you select a directory to write files that can be imported into Excel This option only works in Post Architecture mode and only deals with the waterfall model and the corresponding phase distributions COCOMO Import amp Analyze Tool is an Excel template which automates the process of importing the Comma Separated Values CSV files produced by the COCOMO Hile Export command This command produces two sheets Main which contains Project and Module information and Phases which contains the phase distribution information DO NOT rename those worksheets The template automates the process of generating charts which are useful for software project management Though the template produces many useful charts it is still possible to perform your own analysis of the COCOMO data However to do that you must have a detailed knowledge of Excel and become familiar with the format of the csv files produced by COCOMO Note that Excel does not permit you to open two workbooks with the same name even if the workbooks are in different folders To open the second workbook you can either close the curren workbook or rename it However it is recommended that you do not rename cocomo xls Step 1 Start Excel and import the files generated by COCOMO Click on Import COCOMO Files The Browse For Folder dialog box will appear Select the folder containing the Comma
58. model file has been modified a warning dialog box will appear and requests confirmation as seen in Figure 2 2 FIGURE 2 2 Warning Dialog Box USC COCOMO 11 X Current Project Has Been Modified Do You Want To Save The Changes 2 If the modifications on the previous file are not to be saved choose Yes otherwise choose No If the No is selected a Save File dialog will appear See Save Project and Save Model respectively 2 2 Load Project The Load Project option is used to retrieve a project file as well as loading it on the working window To Retrieve or Load a Project File 1 Choose Load Project from the File menu with the mouse 2 If a previous project file has been modified in the working window the dialog box as in Figure 2 3 will appear FIGURE 2 3 Warning Dialog Box USC COCOMO 11 x Current Project Has Been Modified Do You Want To Save The Changes 3 If the previous project file is to be saved choose Yes then a Save File dialog box will appear See Save Project If the modified file is not to be saved choose No 4 The Load Project dialog box will appear as seen in Figure 2 4 FIGURE 2 4 Load Project Dialog Box Open Look in a cocomo ek File name Files of type Project Files est T Cancel The file name of a COCOMO project has a default format with est as an extension With this window the desired project file can be selected from the F
59. mpletion FSWP Note The programming phase has been broken down into two additional phases Detailed Design and Code and Unit Test The detailed design is a follow up to the product design phase In this sub phase those points developed in the product design are elaborated to a point necessary to breakdown agreed functions into units necessary for coding The code and unit test sub phases house the actual coding effort of the individual units of code The testing of these units upon completion is also encompassed within this sub phase 6 1 2 Waterfall Plans and Requirements Project Phase The plans and requirements phase distribution allows the user to view the components of this particular phase When the Plans and Requirements distribution is chosen from the Project Phase distribution menu the window shown in FIGURE 6 3 is displayed This window displays the following information project name the total project SLOC the total estimated project effort and the total estimated project schedule In addition the window displays the estimated effort for the activities of requirements analysis product design programming test planning verification amp validation project office CM QA and manuals These activity estimates are accompanied with a percentage of the phase effort that they encompass the estimated effort schedule and FSWP for the activity s completion as shown in FIGURE 6 3 To exit from this window click the OK button FIGURE
60. n Programming Detailed design code unit test and integration of individual computer program components Includes programming personnel planning tool acquisitions database development component level documentation and intermediate level programming management Test Planning Specification review and update of product test and acceptance test plans Acquisition of associated test drivers test tools and test data Verification amp Validation V amp V Performance of independent requirements validation design V amp V product test and acceptance test Acquisition of requirements and design V amp V tools Are we building the product right and are we building the right product Module Office Functions Module level management functions Includes Module level planning and control contract and subcontract management and customer interface Configuration Management and Quality Assurance CM QA Configuration management includes product identification change control status accounting operation of program support library development and monitoring of end item acceptance plan Quality assurance includes development and monitoring of Module standards and technical audits of software products and processes Manuals Development and update of users manuals operators manuals and maintenance manuals In order to view the phase distribution of an entire Module the user can click on the Module Phase Distribution button under
61. name project SLOC and the total estimated effort for the project This information can be seen in the upper left corner of the window FIGURE 6 2 Waterfall Phase Distribution Window Displaying Overall Phase Distribution Waterfall Phase Distribution Project Overall Ea Overall Phase Distribution PROJECT sample SLOC 13574 TOTAL EFFORT 51 759 Person Months PCNT EFFORT PM PCNT SCHEDULE Staff Plans Requirements 7 000 3 623 18 465 2 377 1 525 Product Design 17 000 PS BE 25 232 3 248 z 22709 Programming 60 303 51 071 6 573 4 748 Detailed Design 25 768 13 337 Code and Unit Test 34 535 17 875 Integration and Test 22 697 11 748 23 697 3 050 3 852 Help In addition each phase of the project s development cycle is represented by the estimated effort the estimated schedule and the estimated number of personnel needed for phase completion Again looking at FIGURE 6 2 the information has been separated into columns The first column displays the phase name The second column displays the percentage that the corresponding phase takes in the estimated effort The third column displays the estimated effort for each phase The fourth column displays the percentage of the estimated schedule that is dedicated to the corresponding phase s completion The fifth column displays the estimated schedule for phase completion And the last column displays the estimated number of personnel needed for phase co
62. nset usc edu COCOMOlI cocomo html and scroll down to the section labeled COCOMO II Downloads Software and Documentation Or ftp ftp usc edu pub soft engineering COCOMOII where you will see files c2000windows zip usersman ps usersman pdf modelman ps modelman pdf Chapter 2 File Menu The COCOMO file types include project file model file report file calibration file and comma separated values csv file The first three are discussed here The others are discussed in later chapters The project file in COCOMO stores a project s data which include project name project scale factors project schedule constraint module name SLOC labor rate effort adjustment factors EAF and COCOMO related calculation results The COCOMO system gives all project files an est extension Regarding the model file as we mentioned in chapter one COCOMO incorporates predictor factors or cost driver attributes which are grouped into four categories software product attributes platform attributes personnel attributes and project attributes Each of these cost driver attributes determines a multiplying factor which estimates the effect of the attribute in software development effort There are also two user defined EAF factors plus the project level required development schedule EAF factor Besides these cost drivers COCOMO also has scale factors These multiplying factors and effort estimating equations constitute the model of a project
63. nt languages The goal is to measure the amount of intellectual work put into program development but difficulties arise when trying to define consistent measures across different languages Breakage due to change of requirements also complicates sizing To minimize these problems the Software Engineering Institute SEI definition checklist for a logical source statement is used in defining the line of code measure The Software Engineering Institute SEI has developed this checklist as part of a system of definition checklists report forms and supplemental forms to support measurement definitions Park 1992 Goethert et al 1992 Figure 1 1 shows a portion of the definition checklist as it is being applied to support the development of the COCOMO II model Each checkmark in the Includes column identifies a particular statement type or attribute included in the definition and vice versa for the excludes Other sections in the definition clarify statement attributes for usage delivery functionality replications and development status There are also clarifications for language specific statements for ADA C C CMS 2 COBOL FORTRAN JOVIAL and Pascal Some changes were made to the line of code definition that departs from the default definition provided in Park 1992 These changes eliminate categories of software which are generally small sources of project effort Not included in the definition are commercial off the shelf software COTS
64. ntenance window page 2 lt 4 Project Maintenance The third page of the maintenance window contains the effort and cost estimation for the next N number of years as defined by the user With each year is listed the KDSI EDSI 10 the nominal effort for development PM nom the actual effort for maintenance PM maint the number of full time software personnel necessary to maintain the project for the year FSWP the number of instructions that are to be maintained be per personnel KDSI FSWP and the total cost for maintenance for the year see Figure 7 5 FIGURE 7 5 Project Maintenance window page 3 Project Maintenance The fourth window of the maintenance window contains the cumulative figures for effort and cost for maintenance for the total number of years see figure 7 6 This first displays the total number of effort estimated for maintenance then sums the effort of development and maintenance together It also displays the total cost of maintenance of the project and then displays the summed total cost of development and maintenance for the entire project FIGURE 7 6 Project Maintenance window page 4 Note Each individual page can be seen by cycling through the pages pressing either the Previous or Next buttons as Project Maintenance x SUMMARY OF PROJECTION Cumulative Maintenance Person month 0 00 verall Development and Maintenance Person month 46 63 Cumulative Maintenance Cost 0 00 ve
65. o if DM 0 and CM 0 EQ 1 1 1 1 2 Schedule Estimation Equation Determine time to develop TDEV with an estimated effort PM that excludes the effect of the SCED effort multiplier EQ 1 2 0 28 02x B 101 TDEV 267 where 5 091 0201 bs jzl Symbol Description PM Person Months of estimated effort from Early Design or Post Architecture models excluding the effect of the SCED effort multiplier SF Scale Factors PREC FLEX RESL TEAM PMAT TDEV Time to develop SCED Schedule SCED The compression expansion percentage in the SCED effort multiplier 1 1 3 Scale Factors Equation 1 2 defines the exponent B used in Equation 1 1 Table 1 1 provides the rating levels for the COCOMO II scale drivers The selection of scale drivers is based on the rationale that they are a significant source of exponential variation on a project s effort or productivity variation Each scale driver has a range of rating levels from Very Low to Extra High Each rating level has a weight W and the specific value of the weight is called a scale factor A project s scale factors W are summed across all of the factors and used to determine a scale exponent B via the following formula EQ 1 3 5 B 091 001 p SF For example if scale factors with an Extra High rating are each assigned a weight of 0 then a 100 KSLOC project with Extra High ra
66. on displays two cost driver USR1 and USR2 and their corresponding ratings and multipliers Select User EAF from the Parameters menu with the mouse The User EAF Dialog Box will appear as Figure 4 6 FIGURE 4 6 User Defined EAF Dialog Box To modify these values go straight to those edit boxes and type new values When finished with the modification click USER DEFINED PARAMETERS xi VLO LO NOM HI VHI XHI USRL 1 00 1 00 1 00 1 00 1 00 1 00 USRZ 1 00 1 00 1 00 1 00 1 00 1 00 Cancel Help the OK button 4 2 Early Design Model The Early Design model supports only seven Effort Adjustment factors plus two user defined factors as shown below in Figure 4 7 FIGURE 4 7 Early Design Model EAF Dialog Box Early Design Parameters Default model values used Ea XLO LO LO NOM HI VHI XHI RCPX o 43 0 60 0 83 1 00 1 33 1 91 2 72 RUSE 0 95 1 00 1 07 1 15 1 24 PDIF 0 87 1 00 1 29 1 81 2 61 PERS 12 12 1 62 1 26 1 00 0 83 0 63 0 50 PREX 1 59 1 33 1 12 1 00 0 87 0 74 0 62 1 4 2 10 1 00 fo 27 fo 73 SCED 1 43 1 14 1 00 1 00 1 00 USRl 00 1 00 1 00 1 00 1 00 USRZ oo 1 00 1 00 1 00 1 00 oon Reset Cancel Help 4 3 Scale Factors The Scale Factors option displays five development attributes PREC FLEX RESL TEAM and PMAT and their corresponding ratings and values Select Scale Factors from the Parameters menu wi
67. opment effort by the hardware and operating system being used to run the project These limitations are listed below m Execution time constraint TIME m Main storage constraint STOR m Platform volatility PVOL Personnel attributes refer to the level of skills that are possessed by the personnel The skills in question are general professional ability programming ability experience with the development environment and familiarity with the project s domain These skills are characterized below m Analyst capabilities ACAP m Applications experience APEX Programmer capabilities PCAP Platform experience PLEX Programming language experience LTEX Personnel Continuity PCON Project attributes refer to the constraints and conditions under which project development takes place The issues that affect development are m Use of software tools TOOL m Multisite Development SITE These 16 factors are incorporated into calculating an estimated effort and schedule Each of the factors has associated with it up to six ratings These ratings are very low low nominal high very high and extra high Each rating has a corresponding real number based upon the factor and the degree to which the factor can influence productivity rating less than 1 denotes a factor that can decrease the schedule and effort A rating greater than 1 denotes a factor that extends the schedule or effort Lastly a rating equal to 1 does not extend nor de
68. r It also displays the milestones between the phases using the assumption of the Waterfall Model To obtain the Cost per Phase given that the COCOMO computes only the Effort per Phase it is necessary to compute the average Cost per Person Month as Total Cost for entire project excluding requirements Total Effort in Person Months Effort for requrements is assumed at an additional 7 of the Total Effort and with the same Cost per Person Month as the overall project If your organization uses other Costs per Person Month you can use those values instead Cumulative Cost This chart is useful for determining the cumulative cost of a project over time It also displays the milestones between the phases using the assumption of the Waterfall Model To obtain the Cost per Phase given that the COCOMO computes only the Effort per Phase it is necessary to compute the average Cost per Person Month as Total Cost for entire project excluding requirements Total Effort in Person Months Effort for requirements is assumed at an additional 7 of the Total Effort and with the same Cost per Person Month as the overall project If your organization uses other Costs per Person Month you can use those values instead Cost per Module This chart is useful for determining the cost of every module and comparing which modules are accounting for the highest part of the cost The cost of the entire project is the sum of the costs of the individual modules S
69. rall Development and Maintenance Cost 0 00 Page No 4 Previous needed 7 2 Module Maintenance In order to view the maintenance estimation calculations for an entire module the user can click on Module under the Maintenance menu see Figure 7 1 Upon clicking upon this selection a window will appear displaying the current module names Choose only one of the modules by highlighting the appropriate module name and then clicking upon OK see Figure 7 8 FIGURE 7 8 Module Selection window Upon exiting the module selection window another window will be appear that displays the selected module name an Component List x Modules List Cancel Module Selected d Module 1 1 EAF button an editable labor rate field editable number of years of maintenance field an editable percent of added source instructions field per year of maintenance and an editable percent of modified source instructions field per year of maintenance see Figure 7 9 FIGURE 7 9 Module Maintenance Dialog Box The EAF rate can be changed by clicking upon the corresponding button This action will result in the appearance of an Maintenance Module 1 EAF dialog box where the cost driver ratings can be changed as described in the introduction see Figure 7 10 FIGURE 7 10 Module Maintenance EAF Dialog Box Maintenance EAF Module 1 Upon completing the adjustment of the cost drivers click the
70. rcentage Modified 0 00 Maintenance Software Understanding 30 00 Unfamiliarity with the Software 0 40 Annual Change Traffic 0 00 Previous Next the 16 cost drivers SCED is not applicable see Figure 7 12 Help FIGURE 7 12 Module Maintenance window page 2 Effort Ajustment Factor 1 00 t Product tt Platform E RELY DATA DOCU CPLX RUSE TIME STOR PVOL Nominal Nominal Nominal Nominal Nominal Nominal Nominal Nominal 0 0 0 0 0 0 0 0 t Personnel Ls ACAP AEXP PCAP PEXP LTEX PCON Nominal Nominal Nominal Nominal Nominal Nominal 0 0 0 0 0 0 t Project t User TOOL SITE USRl USRZ Nominal Nominal Nominal Nominal 0 0 0 0 Previous Done 1 The third page of the maintenance window contains the effort and cost estimation for the next N number of years as defined by the user With each year is a listed the KDSI EDSI 10 the nominal effort for development PM nom the actual effort for maintenance PM maint the number of full time software personnel necessary to maintain the module for the year FSWP the number of instructions that are to be maintained be per personnel KDSI FSWP and the total cost for maintenance for the year see Figure 7 13 FIGURE 7 13 Module Maintenance window page 3 Module Maintenance Module 1 The fourth window of the maintenance window contains the cumulative figures for effort and cost for maintenance for the total number of years see Figure 7 14
71. reakdown of effort and schedule into software life cycle phases and activities from both the Waterfall model and the Mbase Model The Mbase model is fully described in Software Cost Estimation with COCOMO II 1 1 1 Effort Estimation Equation 17 PM EM A 1 505 Size 1 where Size KNSLOC KASLOC 0 591 001 SF ASLOC ys 00 ATPROD o 100 A A 100 100 5 0 91 001 XSF 2 1 Estimate effort with Symbol Description Constant currently calibrated as 2 45 AA Assessment and assimilation ADAPT Percentage of components adapted represents the effort required in understanding software AT Percentage of components that are automatically translated ATPROD Automatic translation productivity REVL Breakage Percentage of code thrown away due to requirements volatility CM Percentage of code modified DM Percentage of design modified EM Effort Multipliers RELY DATA CPLX RUSE DOCU TIME STOR PVOL ACAP PCAP PCON APEX PLEX LTEX TOOL SITE IM Percentage of integration and test modified KASLOC Size of the adapted component expressed in thousands of adapted source lines of code KNSLOC Size of component expressed in thousands of new source lines of code PM Person Months of estimated effort SF Scale Factors PREC FLEX RESL TEAM PMAT SU Software understanding zer
72. rt that they encompass the estimated effort schedule and FSWP for the activity s completion as shown in FIGURE 6 6 To exit from this window click the OK button FIGURE 6 6 Waterfall Model Integration and Test Window for the Overall Project Waterfall Phase Distribution Project Integration amp Test FIGURE 6 7 Phase Distribution Module Sub menu ES USC COCOMO 112000 0 Untitled 6 2 Waterfall Model Module Phase Distribution For the waterfall model there are four formats for viewing that will appear in another menu overall phase plan amp requirements programming and integration amp test see FIGURE 6 7 Each of these menu selections will be discussed in the upcoming sections The phase distribution of plan amp requirements programming and integration amp test are broken down into activities These activities include requirements analysis product design programming test planning verification amp validation Module office CM QA and manuals For each of these activities the percentage of the phase the estimated effort the estimated schedule and the estimated FSWP is displayed A description of each of these activities follows Requirements analysis Determination specification review and update of software functional performance interface and verification requirements Product Design Determination specification review and update of hardware software architecture program design and database desig
73. s scroll list If the filename can not be found from current list change the directory from the Directories scroll list until the desired filename is being shown When the desired filename is on the list click it 4 If the file saving is to store a new project file choose the desired directory then type in a new filename 5 After the desired filename is selected or inputted click the OK button to initiate project saving 2 4 Save As Project The Save As Project option is to store the current project as a COCOMO project file which has a file name different from current file To Store Current Project With different File Name 1 Choose Save As Project from the File menu with the mouse 2 The Save Project dialog box will appear as seen in Figure 2 6 FIGURE 2 6 Save Project Dialog Box Save As RES Savein f Bl e Fiename Save as type Project Files est Cancel 3 Look at the Files scroll window If the file saving is to update overwrite a existing project file the desired filename should be found in the Files scroll list If the filename can not be found from current list change the directory from the Directories scroll list until the desired filename is being shown When the desired filename is on the list click it 4 If the file saving is to store a new project file choose the desired directory then type in a new filename in the SELECTION box 5 After the desired
74. ss ad of 6 1 WaterFall Model Project Phase Distribution In order to view the phase distribution of an entire project the user can click on the Waterfall Project Phase Distribution button under the Phase Distribution menu see FIGURE 6 1 Four formats for viewing will appear in another menu overall phase plan amp requirements programming and integration amp test Each of these menu selections will be discussed in later sections The phase distribution of plan amp requirements programming and integration amp test are broken down into sub phases These phases include requirements analysis product design programming test planning verification amp validation project office CM QA and manuals For each of these sub phases the percentage of the phase the estimated effort the estimated schedule and the estimated FSWP are displayed A description of each of these sub phases follows Requirements analysis Determination specification review and update of software functional performance interface and verification requirements Product Design Determination specification review and update of hardware software architecture program design and database design Programming Detailed design code unit test and integration of individual computer program components Includes programming personnel planning tool acquisitions database development component level documentation and intermediate leve
75. t Ctrl A Load Model Save Model Save As Model Make Report KAT lt 2 Exit View Alt V Edit Alt E Add Module Ctrl A Clear All Modules Snapshot Undo Ctrl Z Cut Ctrl X Copy Ctrl C ary gt Paste Ctrl V Parameters Alt R Product Platform Personnel Project User EAF Scale Factor Equation zi Person Month Calibrate Alt C File Load File Save File Save As Project C gt nr Compute Phase Alt P Waterfall Project amp Module Overall Phase Plans amp Requirement Programming Product Design NOU ALO Integration amp Test MBASE Project amp Module Overall Phase Inception IRR to LCO Elaboration LCO to LCA Construction LCA to IOC Transition IOC to TCR Help Alt H On Application On Version COCOMO II User s Manual Using Help About USC COCOMO II gt Appendix B Function Point Values Language Value Ada 83 71 AI Shell 49 APL 32 Assembly Basic 320 Assembly Macro 213 Basic ANSI 64 Basic Compiled 49 Basic Interpreted 32 C 128 Cobol 85 ANSI 91 First Generat
76. t calibrated for Total SLOC 2000 11 12 14 15 16 17 18 19 20 21 FIGURE 1 4 SLOC Dialog Box Source Lines of Code SLOC SLOC Input Dialog lt sample gt ELO Non Specified FIGURE 1 5 SLOC Dialog Box Function Points FP SLOC Input Dialog lt samp Ses Object Oriented Defanl Object Oriented Defanl ted Defaul PO NE HEC og e o og o Log og o FIGURE 1 6 SLOC Dialog Box Adaptation Adjustment Factor AAF SLOC Input Dialog lt sample gt x Non Specified NE EE EJ 7 Labor Rate Column This column contains the amount of money at which a developer working on a particular module would be paid per month The labor rate can be edited by clicking on the corresponding Labor Rate box and entering the new value via the edit area The range on labor rate is between 0 and 99 999 8 Effort Adjustment Factor EAF Column This column displays the product of the cost drivers for each specific module By clicking on this field a dialog box appears see Figure 1 7 This box displays all of the cost drivers inter cost drivers and their current ratings The cost drivers are divided into the groupings Product Platform Personnel and Project The inter cost drivers are rated as 0 25 50 and 75 96 The ratings for each multiplier can be changed by cycling through
77. tal estimated productivity Prod the total estimated project cost the estimated cost per instruction the total estimated FSWP and the total estimated schedule for project completion see each individual column for more information The latter six quantities have not only a most likely estimate but also an optimistic estimate no less than this 90 of the time and a pessimistic estimate no greater than this 90 of the time 10 Status bar This window displays a short definition of the column headings clicked upon and also displays a short description of the result of the last function initiated by the user 11 Schedule Button This button displays the Schedule Dialog Box as shown in Figure 1 8 12 Scale Factor Button This button displays the Scale Factor Dialog Box as shown in Figure 1 9 13 Model Selection button This button displays COCOMO II Post Architecture and Early Design Model One of the Models can be selected and applied to the project 14 Risk Column This column contains the Total risk level for each specific module By clicking on this field a dialog box appears see Figure 1 10 This box displays all of the risk levels for the chosen module The total risk of a module is computed as total_risk schedule_risk product_risk personnel_risk process_risk platform_risk reuse_risk total risk of a module total risk 373 100 For the definitions of schedule risk product risk platform risk personnel risk process risk
78. th the mouse The Scale Factor Dialog Box will appear as Figure 4 8 FIGURE 4 8 Scale Factors Dialog Box Scale Factor Parameters Default values used x VLO LO NOM HI VHI XHI To modify these values go straight to those edit boxes and type new values When finished with the modification click OK button 4 4 Equation The Equation options displays effort and schedule equations Select Equation from the Parameters menu The Equation Dialog Box will appear as in Figure 4 9 FIGURE 4 9 Equation Dialog Box Equation Parameters Default model values used Ed Exponent Equation B o 91 Gp tate bh e ye Soe ty E Effort Equation 2 54 Size Bt ASLOC AT 100 ATPROD Schedule Equation TDEV 3 67 PM fo ze 0 2 B 0 91 SCED 100 Reset 1 To modify these values go straight to those edit boxes and type new values When finished with the modification click the OK button 4 5 Person Month It is possible to vary the number used to calculate person months Figure 4 10 shows the dialog box Figure 4 10 Dialog Box for Person Month Hours Person Month Default model value used EL 4 5 Function Point This command causes a dialog box to appear that permits alteration of the Function Point complexity weights Figure 4 11 Dialog Box for Function Point Complexity Weights Function Point Default mode
79. the File menu To Preview what is to be printed 1 Choose Print Preview from the File menu 2 The Print Preview dialog box will appear as seen in Figure 2 16 Figure 2 16 Print Preview Dialog Box Select the Print button to print The Next Page button to advance to the next Page The Zoom In button zooms in and the Zoom Out button becomes enabled so that the user can zoom out The Close button closes the Print Preview dialog Dns 2 12 Print Setup The Print Setup option allows the user to set up printing To set up Printing 1 Choose Print Setup from the File menu 2 The Print Setup dialog box will appear as seen in Figure 2 17 Figure 2 17 Print Setup Dialog Box Print luo sDe automatically Select Select 3 The Name of the printer can be selected from the dropdown list 4 Properties of the printer can be set by clicking on the Properties button 5 The Size and Source of the paper can be selected from the dropdown lists 6 The Network button can be selected to connect to a printer on a network 7 Select OK when finished to print or select Cancel to not print 2 13 Exit The Exit option leaves the COCOMO system To Exit COCOMO 1 Choose Exit from the File menu with the mouse 2 This causes your system to terminate the cocomo program Chapter 3 Edit Menu The Edit Menu option supplies several useful commands which will
80. the available ratings until the desired rating is displayed As the cost driver ratings are changed the total product of the cost drivers is displayed in the upper right hand corner of the dialog box along with the module name The final rating of a cost driver is calculated using this formula for the interpolation Final rating Next cost driver rating Current cost driver rating Current inter cost driver 100 COCOMO supports two different models called Early Design and Post Architecture The Early Design model is supposed to be used at the earliest phase of a software project The Post Architecture Model applies once a software architecture has been formulated In terms of the COCOMO program the Early Design Model differs from the Post Architecture Model in its use of Effort Adjustment Factors The Early Design Model considers only seven pre defined effort adjustment factors including schedule SCHED Only six are shown in Figure 1 7 The Post Architecture Model makes use of seventeen pre defined effort adjustment factors and sixteen of these are shown in Figure 1 8 Each of the models can be specified by selecting it using the button in the upper right portion of the COCOMO main screen 9 Totals Area This area houses the calculated results of all of the modules combined Within this area is the total SLOC count for the module the total nominal effort PM the total nominal productivity SLOC PM the total estimated effort EST PM the to
81. tings for all factors will have SF 0 1 01 and a relative effort E 100 105 PM If scale factors with Very Low rating are each assigned a weight of 5 then a project with Very Low 5 ratings for all factors will have SF 5 1 26 and a relative effort E 331 PM This represents a large variation but the increase involved in a one unit change in one of the factors is only about 4 7 Scale Factors Very Low Low Nominal High Very High Extra High SF thoroughly largely Somewhat generally largely thoroughly unprecedented unprecedented unprecedented familiar familiar familiar FLEX rigorous occasional some general some general goals relaxation relaxation conformity conformity RESL little 20 some 40 often 60 Generally mostly 90 full 100 75 TEAM very difficult some difficult Basically largely highly seamless interactions interactions cooperative cooperative cooperative interactions interactions PMAT Weighted average of Yes answers to CMM Maturity Questionnaire Table 1 1 Scale Factors for COCOMO II Early Design and Post Architecture Models 1 1 4 Sizing Methods SLOC Lines of Code Counting Rules In COCOMO IL the logical source statement has been chosen as the standard line of code Defining a line of code is difficult due to conceptual differences involved in accounting for executable statements and data declarations in differe
82. u to change some values In particular the sheets Project Cumulative Cost and Project Cost per Phase allow you to enter the Cost per Person Month per Phase The provided value is just an average computed from the COCOMO values However you can use the value which reflects more accurately your organizational process If you click on the button marked Delete All Generated Sheets and you select OK all the calculated sheets will be deleted If you introduce changes to one of the calculated sheets and to prevent the sheet from being deleted it is recommended that you rename the sheet The Menw sheet is protected to avoid accidental displacement of the various buttons It also disables resizing rows and columns as well as selecting a range of cells If you need to make changes to the Menu sheet toggle the Protect Sheet Unprotect Sheet from the Protection command under the Tools menu Chart Explanations Project Schedule per Phase This chart is useful for determining the total calendar time required for the completion of the project COCOMO computes the schedule as the calendar time in months from the determination of a product s requirements baseline to the completion of an acceptance activity certifying that the product satisfies its requirements Time spent in requirements is computed as an additional 2096 Cost per Phase This chart is useful for determining the cumulative cost as the project moves from one phase to anothe
Download Pdf Manuals
Related Search
Related Contents
Anti-Crak® HP 67/36 AVM FRITZ!Powerline 500E Set International VDLL300DE des minéraux et pierres précieuses STR-DB940 Samsung SGH-C130 service manual Bedienungsanleitung Manual Manuel d'utilisation Copyright © All rights reserved.
Failed to retrieve file