Software Metrics “How do we measure the software?”

Slides:



Advertisements
Similar presentations
Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore.
Advertisements

Project Estimation: Metrics and Measurement
Chapter 4 Software Process and Project Metrics
Metrics. A Good Manager Measures measurement What do we use as a basis? size? size? function? function? project metrics process metrics process product.
Metrics for Process and Projects
Software Metrics.
Software Engineering II - Topic: Software Process Metrics and Project Metrics Instructor: Dr. Jerry Gao San Jose State University
R&D SDM 1 Metrics How to measure and assess software engineering? 2009 Theo Schouten.
Software project management (intro)
Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.
Project Management Metrics.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Software Process and Product Metrics
Project Metrics Infsy 570 Dr. R. Ocker.
Software Metric capture notions of size and complexity.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
Chapter 6 : Software Metrics
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Function Point Analysis What is Function Point Analysis (FPA)? It is designed to estimate and measure the time, and thereby the cost, of developing new.
Software cost estimation Predicting the resources required for a software development process 1.
Version control – Project repository, version management capability, make facility, issue/bug tracking Change control Configuration audit – compliments.
Software Metrics Software Engineering.
Software Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
1 Estimation Function Point Analysis December 5, 2006.
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
Lecture 4 Software Metrics
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Estimation - Software Metrics Managers frequently have to measure the productivity of software engineers.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
540f07cost12oct41 Reviews Postmortem u Surprises? u Use white background on slides u Do not zip files on CD u Team leader should introduce team members.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
FUNCTION POINT ANALYSIS & ESTIMATION
Intro to Estimating Part Art, Part Science. Importance of Good Estimates Time (Realistic Deadlines) most software projects are late because the time was.
Software Project Management Lecture # 3. Outline Metrics for Process and Projects  Introduction  Software Metrics Process metrics Project metrics Direct.
Cost9b 1 Living with Function Points Bernstein and Lubashevsky Text pp
Software Engineering, COMP201 Slide 1 Software Engineering CSE470.
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
Cost23 1 Question of the Day u Which of the following things measure the “size” of the project in terms of the functionality that has to be provided in.
Software Metrics 1.
RET Rules One of the following rules applies when counting RETs:
Sizing With Function Points
Software Engineering (CSI 321)
Software Project Sizing and Cost Estimation
Why Do We Measure? assess the status of an ongoing project
Function Point Analysis
Software Planning
Lecture 17 Software Metrics
Function Point.
Activities During SPP Size Estimation
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.
Why Do We Measure? assess the status of an ongoing project
COCOMO Models.
Software metrics.
Why Do We Measure? assess the status of an ongoing project
Process and Project Metrics
Software Development Cost Estimation Chapter 5 in Software Engineering by Ian Summerville (7th edition) 4/7/2019.
Why Do We Measure? assess the status of an ongoing project
Software Cost Estimation
COCOMO MODEL.
Presentation transcript:

Software Metrics “How do we measure the software?” TCS2411 Software Engineering

TCS2411 Software Engineering Lecture Objectives To understand the importance of measurement in software engineering To describe and compare the different metrics that can be used for measuring software To understand the important factors that affect the measurement of software TCS2411 Software Engineering

TCS2411 Software Engineering Engineering Method Scientific Precision Accuracy Repeatable Controllable Quality TCS2411 Software Engineering

TCS2411 Software Engineering Why Do We Measure? To indicate the quality of the product To assess the productivity of the people who produce the product To assess the benefits derived from new software engineering methods and tools To form a baseline for estimation To help justify requests for new tools or additional training TCS2411 Software Engineering

TCS2411 Software Engineering Definitions Measure - quantitative indication of the extent, amount, dimension, capacity, or size of some attribute of a product or process. Measurement - the act of determining a measure Metric - a quantitative measure of the degree to which a system, component, or process possesses a given attribute (IEEE) TCS2411 Software Engineering

TCS2411 Software Engineering What Can Be Measured? Direct measures Lines of codes (LOC), speed, cost, memory size, errors, ... Indirect measures Quality, functionality, complexity, reliability, efficiency, maintainability, … Example: length of a pipe is a direct measure. the quality of the pipes can only be measured indirectly by finding the ratio of the accepted pipes to the rejected. TCS2411 Software Engineering

Size-Oriented Metrics Based on the “size” of the software produced. Project data measured, including cost and effort, pages, defects…etc. Mainly uses the LOC as the normalization value. Advantages: easily counted, large body of literature and data based on LOC Disadvantages: language dependent, programmer dependent. Useful for projects with similar environment. Therefore, size-oriented metrics are not universally accepted as the best way to measure the software process. TCS2411 Software Engineering

Example of Project Measurements TCS2411 Software Engineering

Example of Size-Oriented Metrics Productivity = Size / Effort = kLOC / person-month Quality = Errors / Size = Errors / kLOC Cost = $ / kLOC Documentation = pages / kLOC Other metrics can also be developed like: errors/KLOC, page/KLOC...etc. Or errors/person-month, LOC/person-month, cost/page. TCS2411 Software Engineering

Function-Oriented Metrics Based on “functionality” delivered by the software as the normalization value. Functionality is measured indirectly Function points (FP) measure- derived using an empirical relationship based on countable (direct) measures of software’s information domain and assessments of software complexity TCS2411 Software Engineering

Software information domain values Number of user inputs: user inputs. Number of user outputs: reports, screens, error messages, etc. Number of user inquiries: an on-line input that generates an immediate on-line output response. Number of files: each logical (logical grouping of data) master file is counted. Number of external interfaces: all machine readable interfaces (e.g. data files on some storage media) that are used to transmit information to another system are counted. TCS2411 Software Engineering

Steps In Calculating FP 1. Count the information domain values. 2. Assess the complexity of the values. 3. Calculate the raw FP (see next table). 4. Rate the complexity factors to produce the complexity adjustment value (CAV) CAV = 5. Calculate the adjusted FP as follows: FP = raw FP x [0.65 + 0.01 x CAV] i = 1 to 14 TCS2411 Software Engineering

Function Point (FP) Metrics Weighting Factor Parameter Count Simple Average Complex Inputs x 3 4 6 = Outputs x 4 5 7 = Inquiries x 3 4 6 = Files x 7 10 15 = Interfaces x 5 7 10 = Count-total (raw FP) TCS2411 Software Engineering

Rate Complexity Factors For each complexity adjustment factor (F), give a rating on a scale of 0 to 5 0 - No influence 1 - Incidental 2 - Moderate 3 - Average 4 - Significant 5 - Essential TCS2411 Software Engineering

Complexity Adjustment Factors ( ) Does the system require reliable backup and recovery? Are data communications required? Are there distributed processing functions? Is performance critical? Will the system run in an existing, heavily utilized operational environment? TCS2411 Software Engineering

Complexity Adjustment Factors (Continued) 6. Does the system require on-line data entry? 7. Does the on-line data entry require the input transaction to be built over multiple screens or operations? 8. Are the master files updated on-line? 9. Are the inputs, outputs, files, or inquiries complex? TCS2411 Software Engineering

Complexity Adjustment Factors (Continued) 10. Is the internal processing complex? 11. Is the code designed to be reusable? 12. Are conversion and installation included in the design? 13. Is the system designed for multiple installations in different organizations? 14. Is the application designed to facilitate change and ease of use by the user? TCS2411 Software Engineering

Complexity Adjustment Value The rating for all the factors, F1 to F14, are summed to produce the complexity adjustment value (CAV) CAV is then used in the calculation of the function point (FP) of the software TCS2411 Software Engineering

Example of Function-Oriented Metrics Productivity = Functionality / Effort = FP / person-month Quality = Errors / Functionality = Errors / FP Cost = $ / FP Documentation = pages / FP TCS2411 Software Engineering

TCS2411 Software Engineering FP Characteristics Advantages: language independent, based on data known early in project, good for estimation Disadvantages: calculation complexity, subjective assessments, FP has no physical meaning (just a number) TCS2411 Software Engineering

Extended Function Point Metrics Feature points applied to systems and engineering software. includes assessment for complex algorithms. 3D Function points applied to real-time systems and engineered products (by Boeing) integrates data dimension (normal FP) with functional and control dimensions TCS2411 Software Engineering

Reconciling Metrics Approaches A number of studies attempted to relate FP and LOC measures. Relationship depends on programming language and quality of design Example: one LOC of Ada provides approximately 1.4 times as much “functionality” (on average) of one LOC of Fortran TCS2411 Software Engineering

TCS2411 Software Engineering Comparison of LOC/FP Programming Language Assembly Language C Cobol Fortran Pascal Ada Object-oriented language Fourth-generation language Code generators LOC/FP (average) 320 128 105 90 70 30 20 15 TCS2411 Software Engineering

TCS2411 Software Engineering References END TCS2411 Software Engineering