220 likes | 602 Views
Predicting Understandability of a Software Project Using COCOMO II Model Drivers. Ali Afzal Malik Barry Boehm A. Winsor Brown {alimalik, boehm, awbrown} @usc.edu 23 rd International Forum on COCOMO and Systems/Software Cost Modeling. Outline. Introduction Motivation & Related Work
E N D
Predicting Understandability of a Software Project Using COCOMO II Model Drivers Ali Afzal Malik Barry Boehm A. Winsor Brown {alimalik, boehm, awbrown} @usc.edu 23rd International Forum on COCOMO and Systems/Software Cost Modeling ©USC-CSSE
Outline • Introduction • Motivation & Related Work • Methodology • Results • Future Work • References ©USC-CSSE
Introduction • Understandability • “Degree of clarity of the purpose and requirements of a software system to the developers of that system at the end of the Inception phase” • Basic idea • Quantification enables prediction • Reuse inputs of software cost estimation • Empirical Study • Projects ©USC-CSSE
RUP Hump Chart (Kruchten, 2003) ©USC-CSSE
Empirical Study • SE I (Fall) and SE II (Spring) • 2004 – 2007 • 24 real-client, MS-student, team projects (SE I 2008, SE II 2008) • Process: MBASE/RUP (Boehm et al. 2005, Kruchten 2003) • Projects • Development-intensive • Used COCOMO II ©USC-CSSE
Motivation & Related Work • Some important considerations • 18% of software project failures due to unclear objectives and incomplete R&S (Standish Group 1995) • Escalation in cost of fixing requirements defects: rapid for large and considerable for smaller projects (Boehm 1981, Boehm and Turner 2004) • Requirement changes have significant impact on project’s budget and schedule (Zowghi and Nurmuliani 2002) ©USC-CSSE
Motivation & Related Work (2) • An objective mechanism to predict understandability enables • Minimization of resource wastage due to rework • Answering “How much RE is enough?” • Related previous work • “Expert COCOMO” (Madachy 1997) • Uses COCOMO II cost factors to quantify risk ©USC-CSSE
Methodology • Identified 8 relevant COCOMO II model drivers ©USC-CSSE
Methodology (2) • Weighted-sum formula • UNDR – understandability • MDi – ith Model Driver’s value • wi – weight of MDi • ni – nature of MDi; Є{-1, +1} • -1 for CPLX; +1 for the rest ©USC-CSSE
Methodology (3) • Model driver rating scale ©USC-CSSE
Methodology (4) • Voting for model driver weights • 22 students from SE II class • Rating scale • 1 (least important) – 5 (most important) ©USC-CSSE
Methodology (5) • Determine the lowest and highest numerical values of understandability ©USC-CSSE
Methodology (6) • min() and max() min (MDi) { if (ni = = +1) return minimum numerical value of MDi else return maximum numerical value of MDi } max (MDi) { if (ni = = +1) return maximum numerical value of MDi else return minimum numerical value of MDi } ©USC-CSSE
Methodology (7) ©USC-CSSE
VUA ICA WUA 2.86 44.12 85.38 126.64 UNDRLow UNDRHigh Methodology (8) • Project categories using UNDR ranges • Vaguely-understood applications (VUA) • Intermediate-clarity applications (ICA) • Well-understood applications (WUA) ©USC-CSSE
Methodology (9) • Ranges defining VUA, ICA, and WUA groups are adjustable • End-points of spectrum depend on weights • Range sizes can be non-uniform ©USC-CSSE
Results ©USC-CSSE
Results (2) • Prediction accuracy • ICA: 100% • VUA: 50% (2 out of 4) • WUA: 33% (1 out of 3) • Overall: 83% (20 out of 24) • Possible reasons for discrepancies • Inappropriate COCOMO II model drivers • Voters are different from developers • Projects # 5 & 22 ©USC-CSSE
Future Work • Weights for commercial projects using techniques such as Wideband Delphi (Boehm 1981) • Investigate other widely-used models e.g. SLIM (Putnam 1978) and PRICE-S (Freiman and Park 1979) • Analyze understandability’s contribution towards degree of requirements elaboration (Malik and Boehm 2008) ©USC-CSSE
References • Books • Boehm, B., Software Engineering Economics, Prentice-Hall, 1981. • Boehm, B., Abts, C., Brown, A., Chulani, S., Clark, B, Horowitz, E., Madachy, R., Reifer, D., and Steece, B., Software Cost Estimation with COCOMO II, Prentice Hall, 2000. • Boehm, B. and Turner, R., Balancing Agility and Discipline: A Guide for the Perplexed, Addison-Wesley, 2004. • Kruchten, P., The Rational Unified Process: An Introduction, Addison-Wesley, 2003. • Conference papers • Boehm, B., “Anchoring the Software Process”, IEEE Software 13(4), 1996, pages 73-82. • Freiman, F.R. and Park, R. E., “PRICE Software Model–Version 3: An Overview”, Proc. IEEE-PINY Workshop on Quantitative Software Models, 1979, pages 32-41. • Madachy, R., “Heuristic Risk Assessment Using Cost Factors”, IEEE Software4 (3), 1997, pages 51-59. • Malik, A. A. and Boehm, B., “An Empirical Study of Requirements Elaboration”, The 22nd Brazilian Symposium on Software Engineering (SBES’08), 2008. • Putnam, L. H., “A General Empirical Solution to the Macro Software Sizing and Estimating Problem”, IEEE Trans. Software Engr., 1978, pages 345–361. • Zowghi, D. and Nurmuliani, N., “A Study of the Impact of Requirements Volatility on Software Project Performance”, Proceedings of the Ninth Asia-Pacific Software Engineering Conference, 2002, pages 3-11. • Miscellaneous • Boehm, B., Klappholz, D., Colbert, E., et al., “Guidelines for Lean Model-Based (System) Architecting and Software Engineering (LeanMBASE)”, Center for Software Engineering, University of Southern California, 2005. • SE I (2008). Links to websites of all past semesters of Software Engineering I (CSCI 577A) course at USC, http://sunset.usc.edu/csse/courseroot/course_list.html#577a • SE II (2008). Links to websites of all past semesters of Software Engineering II (CSCI 577B) course at USC, http://sunset.usc.edu/csse/courseroot/course_list.html#577b • Standish Group (1995). “CHAOS”, http://www.standishgroup.com ©USC-CSSE