Presentation is loading. Please wait.

Presentation is loading. Please wait.

Presented by Trey Brumley and Ryan Carter

Similar presentations


Presentation on theme: "Presented by Trey Brumley and Ryan Carter"— Presentation transcript:

1 Presented by Trey Brumley and Ryan Carter
Metrics Presented by Trey Brumley and Ryan Carter

2 Overview What are metrics? Types of metrics What is measured? Analysis
Design Coding Testing

3 What are metrics? “A quantitative measure of the degree to which a system, component, or process possesses a given attribute.” [IEE93] Some quantitative attribute within a program that can be measured. Simple, persuasive, consistent, independent, and effective “If it can be measured, it can be improved.”

4 What is measured? Processes Products
Collections of software-related activities Products Any artifacts, documents, or deliverables that result from a process activity.

5 Different types of Metrics - Pt. 1
Metrics for Analysis System size Functionality delivered Specification quality Metrics for Design Architectural Metrics Component Level Interface Design

6 Different types of Metrics - Pt. 2
Metrics for Coding Halstead metrics Complexity metrics Length metrics Metrics for Testing Defect metrics ADCT or alternatively, DACT

7 Metrics of Analysis System size Function-based Metrics
Total number of functions, classes, etc. Function-based Metrics Function point metric variables, formulae, and questions Specification quality Specificity Completeness

8 Metrics of Design - Pt. 1 Architectural Design Object
System, Data, and Structural complexities Design Structure Quality Index Object Size, complexity, completeness, cohesion, coupling, volatility Object-Oriented System size, class or method size, coupling and inheritance, class/method internals

9 Metrics of Design - Pt. 2 Layout Cohesion Time
Position of entities, frequency of use, cost of transition Cohesion Connection between different on-screen contents Time Time to achieve a specific action, time to recover from error, time to achieve a use case

10 Metrics of Coding Lines of Code metric McCabe’s Cyclomatic Complexity
Total lines of code and related functions McCabe’s Cyclomatic Complexity Determines program complexity value Number of edges minus number of nodes plus number of connected components Halstead metrics Number of operators, operands, and respective occurrences Determines length, volume, time, effort, and error quantity

11 Metrics of Testing Can be gained from various sources
Cyclomatic complexity, function-base metrics Halstead testing metrics Metrics for Object-Oriented testing Metrics used in design provide an indication of design quality Metrics consider aspects of encapsulation and inheritance

12 Sample metrics Lines of Code (LOC) metrics Complexity metrics
Errors, defects, dollars, or documentation pages per KLOC (thousand lines of code) Complexity metrics Structural Complexity S(i) = [fout(i)]2 -- fout = num. of modules directly invoked by module i. Data complexity D(i) = v(i)/[fout(i) + 1] -- v(i) = num. of iin/output variables in or out of i. System complexity C(i) = S(i) + D(i)

13 Source Monitor Free tool to measure software metrics How to use:
Available at: How to use: Step 1: Write a complete program. Step 2: In a new project SM, specify your program’s directory when prompted to search for source code. Step 3: SM will read through all source code and compile a list of metrics. Simple as that!

14 Conclusion Metrics are used to quantify and measure data
Helps to improve efficiency Different metrics for different stages in programming Some are simple, some are complex, some even rely on other metrics’ results to compute their own. Source Monitor is a free, easy way to measure metrics in programs.


Download ppt "Presented by Trey Brumley and Ryan Carter"

Similar presentations


Ads by Google