An Empirical Study of Requirements-to-Code Elaboration Factors

Slides:



Advertisements
Similar presentations
Estimation using COCOMO More Science, Less Art. COCOMO History COCOMO History Constructive Cost Model Dr. Barry Boehm TRW in 1970s COCOMO
Advertisements

Chapter 26 Estimation for Software Projects
University of Southern California Center for Systems and Software Engineering Design-Code Review Preparation Pongtip Aroonvatanaporn CSCI577b Spring 2012.
Cocomo II Constructive Cost Model [Boehm] Sybren Deelstra.
Software Effort Estimation based on Use Case Points Chandrika Seenappa 30 th March 2015 Professor: Hossein Saiedian.
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE1 Requirements Elaboration Ali Afzal Malik, Barry Boehm,
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
University of Southern California Center for Software Engineering CSE USC COSYSMO: Constructive Systems Engineering Cost Model Barry Boehm, USC CSE Annual.
University of Southern California Center for Systems and Software Engineering Cost Modeling for Commercial Organizations Anandi Hira, USC Graduate Student.
2/13/07(c) USC-CSSE1 An Empirical Study on MBASE and LeanMBASE Supannika Koolmanojwong Center for Systems and Software Engineering CSSE- Annual Research.
University of Southern California Center for Systems and Software Engineering Building Cost Estimating Relationships for Acquisition Decision Support Brad.
Introduction Wilson Rosa, AFCAA CSSE Annual Research Review March 8, 2010.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Introduction to Educational Statistics
Process management Basic concepts and stat-of-the art research.
UNCLASSIFIED Schopenhauer's Proof For Software: Pessimistic Bias In the NOSTROMO Tool (U) Dan Strickland Dynetics Program Software Support
Local Bias and its Impacts on the Performance of Parametric Estimation Models Accepted by PROMISE2011 (Best paper award) Ye Yang, Lang Xie, Zhimin He (iTechs)
7-1 Introduction The field of statistical inference consists of those methods used to make decisions or to draw conclusions about a population. These.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 An Analysis of Changes in Productivity and COCOMO Cost.
Copyright © 2012 by Gan Wang, Lori Saleski and BAE Systems. Published and used by INCOSE with permission. The Architecture and Design of a Corporate Engineering.
Information System Economics Software Project Cost Estimation.
Software Project Management
CS433 Modeling and Simulation Lecture 16 Output Analysis Large-Sample Estimation Theory Dr. Anis Koubâa 30 May 2009 Al-Imam Mohammad Ibn Saud University.
Measures of Variability Objective: Students should know what a variance and standard deviation are and for what type of data they typically used.
University of Southern California Center for Systems and Software Engineering Retrospective Analysis Supannika Koolmanojwong October 21,
1 Software Cost Estimation. Outline  Introduction  Inputs and Outputs  Methods of Estimation  COCOMO  Conclusion 2.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
1 Lecture 17: Chapter 26 Estimation for Software Projects Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Developed at Utah State University Dept of Engr & Tech Educ — Materials and Processes 5.6 calculate the mean and standard deviation of.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Correlation and Prediction Error The amount of prediction error is associated with the strength of the correlation between X and Y.
REAL TIME GPS TRACKING SYSTEM MSE PROJECT PHASE I PRESENTATION Bakor Kamal CIS 895.
Determination of Sample Size: A Review of Statistical Theory
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
Overview of COCOMO Reporter:Hui Zhang
Introduction to Statistical Inference Jianan Hui 10/22/2014.
Ali Afzal Malik, Supannika Koolmanojwong, Barry Boehm USC-CSSE
Estimation using COCOMO
UNCLASSIFIED Approved for Public Release 07-MDA-2965 (26 OCT 07) Load Bearing Walls: Early Sizing Estimation In The NOSTROMO Tool (U) Dan Strickland Dynetics.
 A Characteristic is a measurable description of an individual such as height, weight or a count meeting a certain requirement.  A Parameter is a numerical.
University of Southern California Center for Systems and Software Engineering Reducing Estimation Uncertainty with Continuous Assessment: Tracking the.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
University of Southern California Center for Systems and Software Engineering Reducing Estimation Uncertainty with Continuous Assessment Framework Pongtip.
COCOMO Software Cost Estimating Model Lab 4 Demonstrator : Bandar Al Khalil.
Data Mining: Data Prepossessing What is to be done before we get to Data Mining?
THE FAMU-CIS ALUMNI SYSTEM
Chapter 33 Estimation for Software Projects
Confidence Intervals and Sample Size
7-1 Introduction The field of statistical inference consists of those methods used to make decisions or to draw conclusions about a population. These.
Al-Imam Mohammad Ibn Saud University Large-Sample Estimation Theory
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Supannika Koolmanojwong CSCI 510
COCOMO II Security Extension Workshop Report
SLOC and Size Reporting
COCOMO Model Basic.
Phase Distribution of Software Development Effort
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
(or why should we learn this stuff?)
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
DACS–USC CSSE Data Repository: Overview and Status
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Relating Effort Reporting to Project Estimation
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Multi-Build Software Cost Estimation Using COINCOMO
DESIGN OF EXPERIMENT (DOE)
Chapter 26 Estimation for Software Projects.
Descriptive Statistics
Presentation transcript:

An Empirical Study of Requirements-to-Code Elaboration Factors Ali Afzal Malik, Supannika Koolmanojwong, Barry W. Boehm {alimalik, koolmano, boehm} @usc.edu 24th International Forum on COCOMO and Systems/Software Cost Modeling 9/22/2018 ©USC-CSSE

Outline Introduction Motivation Related Work Empirical Setting Method Results Case Study Conclusions & Future Work 9/22/2018 ©USC-CSSE

Introduction Requirements elaboration Elaboration factor 9/22/2018 ©USC-CSSE

Requirements Elaboration Requirements Level Cockburn Metaphor Objectives Cloud Shall Statements Kite Use Cases Sea Level Use Case Steps Fish SLOC Clam 9/22/2018 ©USC-CSSE

Elaboration Factor Set of elaboration factors for each project {EF(1, 2), EF(2, 3), …, EF(n-1, n)} 9/22/2018 ©USC-CSSE

Motivation Importance of size in cost estimation Cost estimation models COCOMO II: SLOC, FP Problem: Not available during inception COSYSMO: # of Requirements Problem: Inconsistency in level of detail Elaboration factors solve these problems Enable early cost estimation Achieve consistency in level of detail 9/22/2018 ©USC-CSSE

Related Work (Cockburn, 2001) (Antón, 1996) Hierarchical refinement of use cases (Antón, 1996) GBRAM (Letier and van Lamsweerde, 2002) Agent-based tactics (Malik and Boehm, 2008) Quantitative analysis of requirements elaboration 9/22/2018 ©USC-CSSE

Empirical Setting 25 e-services projects done at USC Similarities Real-client SAIV: 24-weeks Architected-agile process Custom-development Differences Domains Types 9/22/2018 ©USC-CSSE

Method Data collection process Define mapping with Cockburn metaphor Identify relevant artifacts Retrieve requirements data from artifacts Normalize requirements data Calculate elaboration factors 9/22/2018 ©USC-CSSE

Step 1: Mapping Cockburn Metaphor Requirements Level Cloud Capability goals Kite Capability requirements Sea Level Use cases Fish Use case steps Clam SLOC 9/22/2018 ©USC-CSSE

Step 2: Relevant Artifacts Requirements Level Artifact Capability goals Operational Concept Description Capability requirements System and Software Requirements Definition Use cases System and Software Architecture Description Use case steps SLOC Source Code 9/22/2018 ©USC-CSSE

Step 3: Data Retrieval SLOC Rest Code counting tools Inspection 9/22/2018 ©USC-CSSE

Step 4: Normalization Improves Examples Consistency in level of detail Accuracy of analysis Examples CG: merge low-level goals CR: split aggregate requirements SLOC: filter auto-generated code 9/22/2018 ©USC-CSSE

Elaboration Factor Formula Step 5: Calculate EFs Elaboration Stage Elaboration Factor Formula Cockburn Metaphor E-Services Projects Cloud-to-Kite Capability Goals-to-Capability Requirements Kite-to-Sea Level Capability Requirements-to-Use Cases Sea Level-to-Fish Use Cases-to-Use Case Steps Fish-to-Clam Use Case Steps-to-SLOC 9/22/2018 ©USC-CSSE

Results Distribution of EFs EF statistics Utility of EFs 9/22/2018 ©USC-CSSE

Distribution of EFs 1 3 2 4 9/22/2018 ©USC-CSSE

EF Statistics Statistic Elaboration Factors Average 2.46 0.89 7.06 66.91 Median 2.75 6.57 40.72 Standard Deviation 0.94 0.55 2.97 64.46 9/22/2018 ©USC-CSSE

Utility Early SLOC estimation of similar new projects Most likely SLOC and 1-sd confidence interval Example: New e-services project; CG = 5 Most Likely SLOC = 5 * 2.46 * 0.89 * 7.06 * 66.91 ≈ 5171 Minimum SLOC = 5 * (2.46 – 0.94) * (0.89 – 0.55) * (7.06 – 2.97) * (66.91 – 64.46) ≈ 26 Maximum SLOC = 5 * (2.46 + 0.94) * (0.89 + 0.55) * (7.06 + 2.97) * (66.91 + 64.46) ≈ 32, 256 9/22/2018 ©USC-CSSE

Number of Requirements Case Study Large IBM projects Ball park figures from (Hopkins & Jenkins, 2008) Requirements Level Number of Requirements Business events 50 Use cases 200 Main steps 1, 500 Detailed operations 20, 000 SLOC 1, 500, 000 9/22/2018 ©USC-CSSE

Case Study cont… Elaboration Stage Elaboration Factor Cockburn Metaphor Large IBM Projects Cloud-to-Kite Business Events-to-Use Cases 4.00 Kite-to-Sea Level Use Cases-to-Main Steps 7.50 Sea Level-to-Fish Main Steps-to-Detailed Operations 13.33 Fish-to-Clam Detailed Operations-to-SLOC 75.00 9/22/2018 ©USC-CSSE

Case Study cont… EFs helpful in early sizing and cost estimation of similar large projects Example: New project with 60 business events Rough size = 60 * 4 * 7.5 * 13.33 * 75 ≈ 1, 800 KSLOC Caveat: code reuse Best approach is to obtain confidence intervals for SLOC estimates using EF distributions 9/22/2018 ©USC-CSSE

Conclusions & Future Work Entire process of requirements elaboration can be quantified using a set of EFs Sets of EFs helpful in early sizing and cost estimation of similar projects Same approach can be used to study elaboration of different types of project Future work Framework for predicting variance in EFs Other mappings More elaboration data of real projects! 9/22/2018 ©USC-CSSE

Further Information Details and a complete list of references available in accompanying paper 9/22/2018 ©USC-CSSE