Creator: ACSession No: 5 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringSeptember 2005 Software Measurement - Basics CSE300 Advanced Software Engineering University of Sunderland © 2005 Anne Comer
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 2Reviewer: SS Where does Software Measurement fit in? Look at software measurement from the perspective of software quality assurance….. SQA REVIEWS TESTING MEASURE- MENT STANDARDS& PROCEDURES
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 3Reviewer: SS Software Measurement is... ”the objective assignment of numbers or symbols to attributes of a software process or product in such a way as to describe them according to clearly defined rules...”
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 4Reviewer: SS Why should we measure? what are our goals? what information is required? what can we collect? How do we act upon the data?
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 5Reviewer: SS DON’T! Don’t define what you won’t collect.. Don’t collect what you won’t analyse.. Don’t analyse what you won’t use..
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 6Reviewer: SS Goal / Question / Metric Goal - achieve a 10-fold improvement in post- release defects Question - how many existing faults? how effective are inspection techniques? How effective are tests? Metric - no. & type of faults, no. of defects found, % paths tested, complexity of code
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 7Reviewer: SS What can be measured? Product examples… Spec. - size, functionality, maintainability Design - size, modularity, coupling, cohesion Code - size, modularity, reliability, algorithmic complexity, maintainability Test - coverage, complexity, size
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 8Reviewer: SS What can be measured? Process examples… Spec. - time, effort, changes, stability Design - time, effort, no. of inspection faults Testing- time, effort, no. of failures
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 9Reviewer: SS Objective & Subjective Data Objective (hard) & subjective (soft) All measures must be objective – NO. Real issue is consistency, repeatability and minimisation of errors and ‘noise’ Use measures to characterise, evaluate, predict, or improve
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 10Reviewer: SS Slow acceptance of measurement Inconclusive validation studies No agreement over standard measurements Insufficient tool support Initial set-up expense General lack of quality management
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 11Reviewer: SS Those ‘well-defined rules’.. Nominal- names / categories Ordinal - ‘cold, warm, hot’ ‘small, med, large’ Interval - temperature ‘20 o C, 40 o C’ - scale Ratio - absolute temperature ‘20 o K, 40 o K’, time Absolute - counting no. of occurrences
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 12Reviewer: SS Analysis.. Nominal - equivalence Ordinal - as above + greater than Interval - as above + equality of any intervals Ratio - as above + ratio of any 2 scale values Absolute - as above + geometric mean, coeff. of variation
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 13Reviewer: SS Function Points & Cyclomatic Complexity Function Points: Measure of functionality for ‘size’ -no. of external inputs -no. of external outputs -no. of enquiries -no. of files -no. external interfaces Cyclomatic Complexity: Module complexity based on a ‘graph’ of the module - nodes - predicate nodes
CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:5 Slide No: 14Reviewer: SS Measurement and the CMM Maturity LevelCharacteristicsType of Metrics to use OptimisingImprovement fed back to the process Process, plus feedback for changing the process Quantitatively Managed Measured processProcess, plus feedback for control DefinedProcess defined and institutionalised Product ManagedProcess dependent on individuals Project management InitialAd hocBaseline