Software Engineering Outline of this presentation • Constructive Cost Modeling (Constructive Cost Model) • 3 COCOMO Models http://en.wikipedia.org/wiki/COCOMO • Project Characteristics • Some Assumptions • Basic COCOMO Model – Equations – When Should You Use It – Limitations – Examples 2 Constructive Cost Modeling • COCOMO is one of the most widely used software estimation models in the world • It was developed by Barry Boehm in 1981 • COCOMO predicts the effort and schedule for a software product development based on inputs relating to the size of the software and a number of cost drivers that affect productivity 3 Constructive Cost Modeling 3 COCOMO Models : • COCOMO has three different models that reflect the complexity: 1. the Basic Model 2. the Intermediate Model 3. and the Detailed Model 4 Constructive Cost Modeling Project Characteristics • Organic Mode – Small to medium size product development – developed in a familiar, in-house & stable environment, – similar to the previously developed projects – relatively small and requires little innovation 5 Constructive Cost Modeling Project Characteristics • Semidetached Mode – Team members have an intermediate level of experience with related systems. – Perhaps a mixture of experienced and inexperienced people. – Parts of the project may require rigorous interfaces. 6 Constructive Cost Modeling Project Characteristics • Embedded Mode – tight, inflexible constraints and interface requirements – The product requires great innovation – Product must operate within a strongly coupled complex of H/W, S/W, regulations, and operational procedures. – Tighter requirements and more inflexible scheduling 7 Constructive Cost Modeling Some Assumptions • Primary cost driver is the number of Delivered Source Instructions (DSI) developed by the project (LOC/KLOC) • COCOMO estimates assume that the project will enjoy good management by both the developer and the customer • Assumes the requirements specification is not substantially changed after the plans and requirements phase 8 Constructive Cost Modeling Basic COCOMO Model • Basic COCOMO model estimates the software development effort using only a single predictor variable (size in DSI) and three software development modes 9 Constructive Cost Modeling Basic COCOMO Model: Equations Mode Effort Schedule Man-Month / Person-Month Organic 1.05 E=2.4*(KDSI) 1.12 Semidetached E=3.0*(KDSI) Embedded 1.20 E=3.6*(KDSI) Month 0.38 TDEV=2.5*(E) 0.35 TDEV=2.5*(E) 0.32 TDEV=2.5*(E) 10 Constructive Cost Modeling When Should You Use It • Basic COCOMO is good for quick, early, rough order of magnitude estimates of software costs 11 Constructive Cost Modeling Limitation of Basic COCOMO Model • Its accuracy is necessarily limited because of its lack of factors which have a significant influence on software costs • The Basic COCOMO estimates are within a factor of 1.3 only 29% of the time, and within a factor of 2 only 60% of the time 12 Constructive Cost Modeling An Example • We have determined our project fits the characteristics of Semi-Detached mode • We estimate our project will have 32,000 Delivered Source Instructions. Using the formulas, we can estimate: 13 Constructive Cost Modeling An Example • Effort = 3.0*(32) 1.12 • Schedule = 2.5*(146) = 146 Man-Months 0.35 = 14 Months • Productivity / Man Month = 32,000 DSI / 146 MM = 219 DSI/MM • Average Staffing / Month = 146 MM /14 M = 10 Man 14 Constructive Cost Modeling An Example Bila sebuah proyek dikelompokkan kedalam organic mode project diperkirakan akan menghasilkan 32,000 DSI, maka: PM = 2.4 * (32) 1.05 = 91 p.m. Dari nilai PM yang diperoleh dapat dihitung berapa lama proyek akan diselesaikan TDEV = 2.5 (91) 0.38 = 14 bulan 15 Constructive Cost Modeling An Example Bila sebuah proyek dikelompokkan kedalam embedded mode project diperkirakan akan menghasilkan 128,000 DSI, maka: PM = 3.6 (128) 1.20 = 1216 p.m. Dari nilai PM yang diperoleh dapat dihitung berapa lama proyek akan diselesaikan TDEV = 2.5 (1216) 0.32 = 24 bulan 16 17 Terimakasih….. Untuk mahasiswa/i yang tidak ngantuk dan tetap konsentrasi Mengikuti Perkuliahan. Sampai berjumpa minggu depan …….. (Dalam perkuliahan dan dosen yang sama)