SLOC and Size Reporting

Slides:



Advertisements
Similar presentations
A Sizing Framework for DoD Software Cost Analysis Raymond Madachy, NPS Barry Boehm, Brad Clark and Don Reifer, USC Wilson Rosa, AFCAA
Advertisements

Cocomo II Constructive Cost Model [Boehm] Sybren Deelstra.
USC 21 st International Forum on Systems, Software, and COCOMO Cost Modeling Nov 2006 University of Southern California Center for Software Engineering.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
CSCI COCOMO Tutorial1 CS “Tutorial” Presentation: Software Cost Estimation Tools – COCOMO II and COCOTS A Winsor Brown and Ye.
University of Southern California Center for Systems and Software Engineering Productivity Data Analysis and Issues Brad Clark, Thomas Tan USC CSSE Annual.
COSYSMO Reuse Extension 22 nd International Forum on COCOMO and Systems/Software Cost Modeling November 2, 2007 Ricardo ValerdiGan Wang Garry RoedlerJohn.
University of Southern California Center for Systems and Software Engineering 1 © USC-CSSE Unified CodeCounter (UCC) with Differencing Functionality Marilyn.
University of Southern California Center for Systems and Software Engineering © 2010, USC-CSSE 1 COCOMO II Maintenance Model Upgrade Vu Nguyen, Barry Boehm.
Introduction Wilson Rosa, AFCAA CSSE Annual Research Review March 8, 2010.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 Assessing and Estimating Corrective, Enhancive, and Reductive.
COSYSMO Reuse Extension 22 nd International Forum on COCOMO and Systems/Software Cost Modeling November 2, 2007 Ricardo ValerdiGan Wang Garry RoedlerJohn.
USC 21 st International Forum on Systems, Software, and COCOMO Cost Modeling Nov 2006 University of Southern California Center for Software Engineering.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 Reuse and Maintenance Estimation Vu Nguyen March 17, 2009.
COSYSMO Reuse Extension COSYSMO Workshop – USC CSSE Annual Research Review March 17, 2008 Ricardo ValerdiGan Wang Garry RoedlerJohn Rieff Jared Fortune.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 An Analysis of Changes in Productivity and COCOMO Cost.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
COCOMO-SCORM: Cost Estimation for SCORM Course Development
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
University of Southern California Center for Systems and Software Engineering Cost Estimation with COCOMO II Barry Boehm CS 510, Fall 2015 v3: Slide 10.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
University of Southern California Center for Software Engineering C S E USC Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6 Barry.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 3 – Planning and Measuring 1INFO636 Week 3.
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #2 Software Engineering.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Chapter 3: Software Project Management Metrics
CS 350: Introduction to Software Engineering Slide Set 2 Process Measurement C. M. Overstreet Old Dominion University Fall 2005.
University of Southern California Center for Systems and Software Engineering © 2010, USC-CSSE 1 Trends in Productivity and COCOMO Cost Drivers over the.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Proposed Metrics Definition Highlights Raymond Madachy Naval Postgraduate School CSSE Annual Research Review March 8, 2010.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
University of Southern California Center for Systems and Software Engineering Reducing Estimation Uncertainty with Continuous Assessment: Tracking the.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 1/11/2004 Day 2, Part 1 Estimating Software Size Section 2 Calculating.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Productivity Data Analysis and Issues
Metrics and Terms SLOC (source lines of code)
Software Maintenance
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Cost Estimation with COCOMO II
Tutorial: Software Cost Estimation Tools – COCOMO II and COCOTS
COCOMO II Overview CSCI 510 Fall 2013 (c) USC CSSE.
COCOMO II Overview Barry Boehm CSCI 510 Fall 2011 (c) USC CSSE
COCOMO II Overview Barry Boehm CSCI (c) USC CSSE 2018/9/19.
COCOMO II Overview A Winsor Brown (especially from page 50 on)
Constructive Cost Model
COCOMO II Overview Ray Madachy CSCI 510
Cost Estimation with COCOMO II
Personal Software Process Software Estimation
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Cost Estimation with COCOMO II
Cost Estimation with COCOMO II
COCOMO Models.
Cost Estimation with COCOMO II
COCOMO II Overview LiGuo Huang Computer Science and Engineering
Cost Estimation with COCOMO II
Software metrics.
Cost Estimation with COCOMO II
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Software Cost Estimation
Software cost estimation
COCOMO II Overview Marilee Wheaton CSCI 510.
Software Effort Estimation
Chapter 26 Estimation for Software Projects.
Center for Software and Systems Engineering,
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Presentation transcript:

SLOC and Size Reporting Pongtip Aroonvatanaporn [Material by Ray Madachy] CSCI577b Spring 2011 February 4, 2011 2/4/11 (C) USC-CSSE

Outline Size Reporting Process SLOC Counting Rules Reused and Modified Software COCOMO Model The Unified Code Count tool Conclusion 2/4/11 (C) USC-CSSE

Goal of Presentation Understanding the size data required at IOC Why? Important historical data on 577 process Process performance Can be used for COCOMO calibration Specially calibrated COCOMO for 577 Current COCOMO utilize 200+ projects to calibrate Help identify COCOMO deficiencies and additional needs 2/4/11 (C) USC-CSSE

Size Reporting Process Determine what you produced and quantify it Code developed new, reused, and modified Apply code counter to system modules Apply reuse parameters to all reused and modified code to get equivalent size 2/4/11 (C) USC-CSSE

Size Reporting Process Identify any software not counted Provide as much background as possible Someone can follow up and fill in the gaps Acceptable to use function point counts as a last resort Problem with counting COTS code Provide COCOTS inputs if doing COTS-intensive development COTS-development contributes the majority of effort, but size cannot be counted 2/4/11 (C) USC-CSSE

Size Reporting Process Finalizing the report Add up all equivalent lines of code The same top-level size measure that COCOMO uses Count by modules The modules should be consistent with your COCOMO estimation Otherwise, nearly impossible to compare with estimates 2/4/11 (C) USC-CSSE

Lines of Code Source lines of code (SLOCs) Logical source statements NOT physical statements Data declarations Non-executable statements that affect an assembler’s or compiler’s interpretation Executable statements Cause runtime actions 2/4/11 (C) USC-CSSE

Lines of Code LOC = 1 LOC = 5 Example 1 Example 2 1 String[] command = 2 { 3 “cmd.exe”, 4 “/C”, 5 “-arg1”, 6 “-arg2”, 7 “-arg3” 8 }; 1 int arg1=0; int arg2=4; String ans; 2 ans = “Answer is”; System.out.println(ans +arg1+arg2); LOC = 1 LOC = 5 2/4/11 (C) USC-CSSE

SLOC Counting Rules Standard definition for counting lines Based on SEI definition Modified for COCOMO When line or statement contains more than one type Classify it as type with highest precedence 2/4/11 (C) USC-CSSE

SLOC Counting Rules 2/4/11 (C) USC-CSSE

SLOC Counting Rules 2/4/11 (C) USC-CSSE

Reused and Modified Software Also categorized as “adapted software” Problem: Effort for adapted software is not the same as for new software How to compare effort for reused and modified software with new software? Counting approach: Convert adapted software into equivalent size of new software 2/4/11 (C) USC-CSSE

Reuse Size-Cost Model Does not cross origin due to cost for assessing, selecting, and assimilating reusable components ~ 5% Non-linear because small modifications generation disproportionately large costs Cost of understanding software Relative cost of interface checking 2/4/11 (C) USC-CSSE

COCOMO Reuse Model Non-linear estimation model Convert adapted software into equivalent size of new software Percent Design Modified Percent Code Modified Percent of effort for integration and test of modified Adaptation Adjustment Factor Adaptation Adjustment Multipliers (AAM) Equivalent SLOC Assessment and Assimilation Effort Software Understanding Unfamiliarity 2/4/11 (C) USC-CSSE

Reuse Model Parameters DM – Percent Design Modified Percentage of adapted software’s design modified to fit it to new objectives CM – Percent Code Modified Percentage of “reused” code modified to fit it to new objectives IM – Percentage of effort for integration and test of modified software Relative to new software of comparable size IM = 100 * I&T Effort (modified software) / I&T Effort (new software) 2/4/11 (C) USC-CSSE

Reuse Model Parameters (AA) Assessment & Assimilation Effort Effort needed to: Determine whether fully-reused software is appropriate Integrate its description into overall product description 2/4/11 (C) USC-CSSE

Reuse Model Parameters (SU) Software Understanding Effort When code isn’t modified (DM=0, CM=0), SU=0 Take subjective average of 3 categories 2/4/11 (C) USC-CSSE

Reuse Model Parameters (UNFM) Unfamiliarity Effect of programmer’s unfamiliarity with software 2/4/11 (C) USC-CSSE

Improved Reuse Model Unified model for both reuse and maintenance New calibration performed by Dr. Vu Nguyen SLOC modified and deleted are considered to be equivalent to SLOC added 0.3  1 2/4/11 (C) USC-CSSE

Reuse Parameter Guidelines 2/4/11 (C) USC-CSSE

Data Collection 2/4/11 (C) USC-CSSE

Data Collection Refer to COCOMO model definition for details on various parameters DM, CM, IM, etc Indicate the counting method you used Manual approach? Automated? Available Code Counters CSSE Code Counter: UCC Code Counter developed as part of CSC 665 Advanced Software Engineering project Third party. But make sure that the counting rules are consistent. 2/4/11 (C) USC-CSSE

The Unified Code Count Tool Developed at USC-CSSE Based on the counting rule standards established by SEI Evolved to count all major languages including web platforms Can be used to determine modified code (changed and deleted) Use this data to find equivalent “new” code 2/4/11 (C) USC-CSSE

Conclusion Software sizing and reporting is more than just simple line counting Finding actual effort based on equivalent sizing Only logical source code contributes to effort Accurate reporting is essential For research purposes Process performance evaluation and calibration Future planning and productivity predictions Give background on software pieces not counted 2/4/11 (C) USC-CSSE