COCOMO II/Chapter 5 figures/Boehm et al. Step 1: Assess Application Counts: estimate the number of screens, reports, and 3GL components that will comprise this application. Assume the standard definitions of these elements in your ICASE environment. Step 2: Classify each element instance into simple, medium and difficult complexity levels depending on values of characteristic dimensions. Use the following scheme: Numbe r of Views contai ned <3 3-7 >8 Step 3: For Screens # and source of data tables Total<4 Total<8 Total 8+ (<2srvr< (2/3 srvr (>3 srvr 3clnt) 3-5 clnt) >5 clnt) simple simple medium simple medium difficult medium difficult difficult Number of Sections contained 0-1 2 or 3 4+ For Reports #and source of data tables Total<4 Total<8 Total 8+ (<2srvr< (2/3 srvr (>3 srvr 3clnt) 3-5 clnt) >5 clnt) simple simple medium simple medium difficult medium difficult difficult Weigh the number in each cell using the following scheme. The weights reflect the relative effort required to implement an instance of that complexity level: Element Type Screen Report 3GL Component Simple 1 2 Complexity-Weight Medium 2 5 Difficult 3 8 10 Step 4: Determine application Points: add all the weighted element instances to get one number, the Application Point count. Step 5: Estimate percentage of reuse you expect to be achieved in this project. Compute the New Application Points to be developed, NAP=(Application Points) (100-%reuse)/100. Step 6: Determine a productivity rate, PROD=NAP/person-month, from the following scheme. Developers’ experience and capability ICASE maturity and capability PROD Step 7: Very Low Very Low 4 Low Low 7 Nominal Nominal 13 High High 25 Very High Very High 50 Compute the estimated person-months: PM=NAP/PROD. Figure 5.1. Baseline Application Point Estimation Procedure © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Activity levels over time PS Activities Phases Process Components LCO LCA Inception Elaboration PR IOC Construction Transition Requirements Capture Analysis & Design Organization along content Implementation Test Supporting Components Management Environment Deployment preliminary iteration(s) iter. #1 iter. #2 iter. #n iter. iter. #n+1 #n+2 iter. #m Iter. #m+1 Iterations . Figure 5.2. Activity levels © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.3 COCOMO II Schedule Estimate vs. COPSEMO Schedule Estimate © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. CoSSEMo Months as F(PM) 16.00 ~3*cube-root (COCOMO II) Months M 12.00 8.00 Square root ;; 4.00 Effort PM 0.00 0 16 32 48 64 80 96 112 CII-M [Cube Root] COSSEMO-M M [Square Root] Figure 5.4 COCOMO II Schedule Estimate vs. COPSEMO Schedule Estimate © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. . COCOMO II Drivers Phase Distributions COCOMO II.2000 (COPSEMO) Baseline Effort & Schedule and SCED driver & SCED% Schedule calculated; SCED removed; PM & M distributed per phase Figure 5.5 COPSEMO Logical Model © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Export (to COCOMO.xls) including cost drivers COCOMO II.2000 E%phase & S%phase User Input Phase Distributions COCOMO.xls (COPSEMO.xls) Baseline Effort & Schedule and SCED driver & SCED% via links back to COCOMO.xls Schedule calculated; SCED removed; PM & M distributed per phase Figure 5.6 COPSEMO Physical Model © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.7 Both pages of the COPSEMO Implementation in a spreadsheet © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.8 2nd page of the COPSEMO Implementation for 2000 SLOC © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.9 2nd page of the COPSEMO Implementation for 4700 SLOC © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.10 2nd page of the COPSEMO Implementation for (8M) SLOC © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.11 2nd page of the COPSEMO Implementation for (12M) SLOC © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Hierarchy of COCOMO Dynamism static n=1 n=1 n=4 Intermediate COCOMO cost driver rating effort multiplier R PD DD&C I&T n=1 n=4 n=4 Detailed COCOMO “Dynamic” or “Continuous” COCOMO dynamic staffing profile R PD DD&C n= # of time intervals evaluated at I&T n= tFINAL/DT n= tFINAL /DT n= tFINAL /DT R PD DD&C I&T Figure 5.12. Hierarchy of COCOMO Dynamism © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.13. Sample Interface to Dynamic COCOMO © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Business process reengineering - O Development process reengineering - DPRS Reusing assets - RVHL Applications generation - RVHL Design-to-schedule - O Eliminating Tasks Reducing Time Per Task Tools and automation - O Work streamlining (80-20) - O Increasing parallelism - RESL Reducing Single-Point Failure Risks Reducing failures - RESL Reducing their effects - RESL Reducing Backtracking Early error elimination - RESL Process anchor points - RESL Improving process maturity - O Collaboration efficiency - CLAB Activity Network Streamlining Increasing Effective Workweek Better People and Incentives Transition to Learning Organization Minimizing task dependencies - DPRS Avoiding high fan-in, fan-out - DPRS Reducing task variance - DPRS Removing tasks from critical path - DPRS Prepositioning resources - PPOS Nightly builds, testing - PPOS Weekend warriors, 24x7 development - PPOS - constraint -O O: covered by classic cube root model Figure 5.14 Annotated RAD Opportunity Tree © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. COCOMO II Drivers Phase Distributions COCOMO II.2000 (COPSEMO) Baseline Effort & Schedule and SCED driver & SCED% Schedule calculated; SCED removed; PM & M distributed per phase Figure 5.15 COPSEMO Logical Model © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. RVHL DPRS CLAB RESL COCOMO II cost drivers (except SCED) COPSEMO distributions and "drivers" like SCED. COCOMO II Baseline effort, PPOS schedule Phase Distributions Effort, RAD Extension schedule by phase RAD adjusted effort and schedule by phase Figure 5.16 RAD Extension Logical Model © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Situations Staffing Level Impact (a) Good RESL conventional staffing Schedule (M) = S_COPSEMO same effort (b) Good RESL higher staffing M < S_COPSEMO more effort in Construction (via RESL rating) (c) Poor RESL higher staffing M => S_COPSEMO Effort (E_COPSEMO) higher due to poor RESL Figure 5.17 Staffing and RESL © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Export (to COCOMO.xls) including cost drivers COCOMO II.2000 E%phase & S%phase User Input Phase Distributions COCOMO.xls (COPSEMO.xls) Baseline Effort & Schedule and SCED driver & SCED% via links back to COCOMO.xls Schedule calculated; SCED removed; PM & M distributed per phase Figure 5.18 COPSEMO Physical Model © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. RVHL COCOMO II.2000 COCOMO II cost drivers DPRS CLAB Export (to COCOMO.xls) including cost drivers RESL PPOS RESL; Baseline COCOMO.xls effort,schedule User Input E%phase & S%phase Baseline Effort & Schedule, SCED driver & SCED% via links back to COCOMO.xls Phase Distributions RAD Extension (CORADMO tab of CORADMO.xls) (COPSEMO tab of CORADOM.xls) Schedule recalculated; SCED removed; PM & M distributed per phase; all via links to COPSEMO (tab) worksheet. RAD effort, schedule by stage Figure 5.19 CORADMO Physical Model © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.20 Page 1 of CORADMO Spreadsheet (worksheet) implementation © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.21 Page 2 of CORADMO Spreadsheet (worksheet) implementation © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.22 COCOMO II modeled effort sources Figure 5.22 - the determinants of a feasible COTS solution. © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.23 COCOMO II modeled effort sources © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.24 COCOTS modeled effort sources © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.25 the Assessment sub-model. © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.26 the Tailoring sub-model. © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.27 scope of Glue Code. © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.28 the Glue Code sub-model. © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Approximate Model: Total Effort = (Application Effort) [ BRAK COTS 100 ]• (EAF) COTS Detailed Model with COCOMO II Parameters: Total Effort = (Application Effort) [( 1+ BRAK COTS 1+BRAK ) 1.01+ ]• -1 (EAF) COTS BRAK COTS: % application code breakage due to COTS volatility BRAK : % application code breakage otherwise : COCOMO II scale factor EAF : Effort Adjustment Factor (product of effort multipliers) Figure 5.29 the Volatility sub-model. © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.30. The Software Defect Introduction and Removal Model © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.31. The Defect Introduction Sub-Model of COQUALMO © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. RUSE STOR TIME DATA ACAP AEXP PEXP DOCU SITE TEAM SCED LTEX PVOL PREC TOOL PCON PCAP CPLX RESL RELY PMAT 1.00 1.20 1.40 1.60 1.80 2.00 2.20 2.40 2.60 Figure 5.32. Coding Defect Introduction Ranges © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.33. The Defect Removal Sub-Model of COQUALMO © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.34. The Cost/Schedule/Quality Model: COQUALMO Integrated with COCOMO II © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Driver Values COCOMOII COPSEMO CORADMO COPROMO Graphing CORADMO Drivers Figure 5.35 A Logical Model of COPROMO © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. COPROMO Activity Model 05/13/99 @ 08:39 Select domain and prototypical application Completed Project COCOMOII Data Technology Advancement Benchmark current developments in domain [evaluations OK] OR [What-Ifing] [Done] Select time-frame and technologies COCOMOII & CORADMO Driver Values Over Time COCOMOII & CORADMO evaluations over time Figure 5.36 COPROMO Activity Model © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. COPROMO Concept of Operations Select representative corporate application Formulate set of productivity strategies Prepare current COCOMO II, CORADMO factor ratings for application User COPROMO Estimate current efffort and schedule for application 06/24/99 @ 11:35 Select set of future dates For each strategy and future date, prepare expected future COCOMO II, CORADMO factor ratings For each strategy and future date, estimate expected future effort and schedule for application Summarize, display time histories of expected effort & schedule for each productivity strategy Figure 5.37 COPROMO Activities based on a Concept of Operations © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. COCOMO-II Driver value per strategy over time RAD Driver value per strategy over time with rationale with rationale CORADMO ~~~~~~~~~~ Inception COCOMO II for single time and strategy ++++++++++ Elaboration Impact Charts ++++++++++ Construction Impact Charts ========== Totals Figure 5.38 Evaluator logical structure © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 CP LX AC AP PC AP T IM E PC ON RE LY SIT E DO CU AE XP TO OL PV OL ST OR PM AT SC ED LT EX DA TA PE XP RE SL PR EC RU SE TE AM FL EX 0.5 1 1.5 2 COCOMO II/Chapter 5 figures/Boehm et al. Average Multiplier for 1990’s projects Figure 5.39 Productivity multipliers © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.40 RESL: Architecture/Risk Resolution © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.41 TOOL: Use of Software Tools © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. KSLOC SIZE Baseline CD 8 100 60 15 KG 8 30 40 15 KD 8 15 60 15 K 8 30 40 15 E 8 15 35 15 EK 8 12 30 15 10 2015 2010 2005 2000 1995 0 20 40 CD 60 Scale Factor KG KD K 80 E 100 120 EK Figure 5.42 SIZE: KSLOC © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.43 RVHL: Resuse and Very High Language (Inception) © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.44 RVHL: Resuse and Very High Language (Elaboration) © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Ef f o r t Effort 510 .0 0 50 5 .4 8 4 8 0 .0 0 4 5 0 .0 0 4 2 0 .0 0 3 9 0 .0 0 3 6 0 .0 0 3 3 0 .0 0 3 0 0 .0 0 2 7 0 .0 0 2 4 0 .0 0 210 .0 0 2 0 4 .5 5 18 0 .0 0 15 0 .0 0 12 0 .0 0 10 8 .8 3 9 0 .0 0 8 5 .6 6 6 6 .7 1 6 5 .7 6 6 0 .0 0 3 0 .0 0 2 1.5 1 16 .3 7 10 .9 0 0 .0 0 199 5 2000 2 0 05 CD K 2 010 E 2 0 15 EK Figure 5.45 Impact of Technologies on Software Effort or Cost © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. S c h e d u le 30 26.5 25 20 Months 15 11.4 10 5 RA D C RA D K RA D E RA D E K 3.7 3.1 2.3 0 1995 2000 2005 2010 2015 Tim e Figure 5.46 Impact of Technologies on Software Schedule © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. ATTRIBUTE 1 very low extra high very low very high high moderate ATTRIBUTE 2 very high discretized into ATTRIBUTE 1 VERY LOW LOW NOMINAL VERY LOW LOW ATTRIBUTE 2 NOMINAL HIGH VERY HIGH HIGH VERY HIGH EXTRA HIGH MODERATE HIGH VERY HIGH MODERATE HIGH MODERATE Figure 5.47 Typical Assignment of Risk Levels © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Overall Project Risk Schedule risk Product risk Platform risk Personnel risk Process risk Reuse risk SCED sced_cplx sced_rely sced_time sced_pvol sced_tool sced_acap sced_aexp sced_pcap sced_vexp sced_ltex sced_pmat sced_docu sced_pcon sced_site sced_prec sced_flex sced_resl sced_team rely_data_sced rely_stor_sced cplx_time_sced cplx_stor_sced time_stor_sced time_pvol_sced sced_vexp_pcap pvol_sced_pcap ltex_aexp_sced cplx_time_sced cplx_stor_sced time_stor_sced time_pvol_sced RELY rely_acap rely_pcap rely_pmat sced_rely rely_data_sced rely_stor_sced rely_acap_pcap prec_rely resl_rely ruse_rely DATA rely_data_sced SIZE size_pcap CPLX cplx_acap cplx_acap_pcap cplx_pcap cplx_stor_sced cplx_time_sced cplx_tool prec_cplx sced_cplx DOCU docu_pcon sced_docu ruse_docu site_docu prec_docu flex_docu resl_docu TIME sced_time time_pcap time_acap cplx_time_sced time_stor_sced time_pvol_sced ruse_time time_tool prec_time flex_time resl_time STOR stor_acap stor_pcap ruse_stor cplx_stor_sced time_stor_sced prec_stor flex_store resl_stor PVOL sced_pvol pvol_vexp pvol_sced_pcap time_pvol_sced pcon_pvol prec_pvol ACAP acap_risk cplx_acap cplx_acap_pcap pmat_acap rely_acap rely_acap_pcap ruse_acap sced_acap stor_acap time_acap tool_acap pcon_acap prec_acap resl_acap AEXP ltex_aexp_sced ruse_aexp sced_aexp pcon_aexp resl_aexp team_aexp LTEX ltex_aexp_sced sced_ltex ruse_ltex pcon_ltex PCAP pvol_sced_pcap pmat_pcap rely_pcap cplx_pcap TOOL sced_tool tool_acap tool_pcap cplx_tool time_tool tool_pmat pcon_tool site_tool resl_tool SITE site_docu site_tool pcon_site sced_site prec_site team_site PREC prec_flex prec_rely prec_cplx prec_ruse prec_docu prec_time prec_stor prec_pvol prec_acap prec_pcap prec_pcon prec_site sced_prec resl_prec RUSE ruse_rely ruse_aexp ruse_ltex ruse_acap ruse_time ruse_stor ruse_docu prec_ruse resl_ruse Figure 5.48 Partial Rule Taxonomy © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.49 Partial Sample Input Screen © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185 COCOMO II/Chapter 5 figures/Boehm et al. Figure 5.50 Partial Sample Risk Outputs © 1999-2000 USC Center for Software Engineering. All Rights Reserved 533581185