metrics an overview
DESCRIPTION
Metrics An overview. What are metrics?. “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.” [IEE93] Attributes of metrics - Simple, persuasive, consistent, Independent and effective. What is measured. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/1.jpg)
MetricsAn overview
![Page 2: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/2.jpg)
What are metrics?
“ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.” [IEE93]
• Attributes of metrics - Simple, persuasive, consistent, Independent and effective
![Page 3: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/3.jpg)
What is measured
• Processes are collection of software related activities
• Products are any artifacts, deliverables or documents that result from a process activity.
![Page 4: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/4.jpg)
Types of Metrics• Metrics for Analysis
• System Size• Functionality Delivered• Specification Quality
• Metrics for the Design• Architectural Metrics• Component Level• Interface Design
• Metrics for the Code• Halstead Metrics• Complexity Metrics• Length Metrics
• Metrics for Testing• Defect metrics
![Page 5: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/5.jpg)
Analysis Model Metrics
• Function – Based Metrics– Function point metric
• Variables• Formula • Questions
• Metrics for Specification Quality– Specificity– Completeness
![Page 6: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/6.jpg)
Design Model Metrics
• Architectural Design Metrics
• Object – Oriented Design Metrics
• Component – Level Design Metrics
• User Interface Design Metrics
![Page 7: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/7.jpg)
Architectural Metrics
• Focus on characteristics of the architecture with emphasis on the structure and effectiveness of modules or components within the architecture.– Structural Complexity
• S(i) = [fout(i)] ^2– Data complexity
• D(i) = v(i) / [fout(i) + 1]– System complexity
• C(i) = S(i) + D(i)
where fout is defined as the number of modules directlyinvoked by module i. v(i) = number of input and outputvariables in or out of i.
• Design Structure Quality Index
![Page 8: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/8.jpg)
Object Metrics• Size:
– Population, Volume, Length, Functionality
• Complexity• Completeness• Cohesion• Coupling - an indication of “connectedness” of
a module with others, global data and environment
• Volatility
![Page 9: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/9.jpg)
9
Object-Oriented
• System size – Number of function calls and objects.
• Class or method size– Size of classes and methods
• Coupling and inheritance– Interdependence of classes. Number and
complexity of relationships.
• Class or method internals– Complexity and level of documentation
![Page 10: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/10.jpg)
User Interface Metrics
• Layout• Absolute and relative position of entities• Frequency of use• “Cost of transition”
• Cohesion • Relative connection between on – screen to other on –
screen content
• Time • Time to achieve an specific action• Time to recover from error• Time to achieve a use case
![Page 11: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/11.jpg)
Source Code Metrics• Lines of code metric
– Lines of code used to develop a program– Set limits on coding lines
• McCabe’s cyclomatic metrics– Path control – Logical decision statements and operators
• Halstead Metrics– Depend on the following measures:
• Number of direct operators• Number of direct operands• Number of operator occurrences• Number of operand occurrences
– Predicts • Length• Volume• Time, effort• Number of errors
![Page 12: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/12.jpg)
Testing Metrics• Information for testing metrics can be gathered thru
various sources:– Function – based metrics– Cyclomatic complexity
• Halstead Metrics for testing
• Metrics for OO Testing– Metrics used in design provide an indication of design
quality– The metrics consider aspects of encapsulation and inheritance
![Page 13: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/13.jpg)
13
Web Projects
Since web projects can are more dynamic than most other types of projects it can be harder to measure them.
• Number of static/dynamic pages
• Number of internal page links
• Number of executable functions (scripts, applets, etc)
![Page 14: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/14.jpg)
Product Metrics Future
• Application Domain Complexity Research
• Automated Product Metric Tools– ESQUT (Evaluation of Software Quality from
User’s viewpoinT)– WEBMETRICS
• Mathematical Product Metrics
![Page 15: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/15.jpg)
15
What are process metrics?
Process metrics really encompasses both process and project metrics.– Process metrics are used to measure the
effectiveness of a development process over multiple projects
– Project metrics are used to evaluate accomplishment of a single development effort
![Page 16: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/16.jpg)
16
Process Metrics
Process Metrics are generally used at the project management level.– Strategic in nature– Main goal is process improvement– Metrics from individuals combined to
provide group/project metrics– Care must be taken to keep individual
metrics private
![Page 17: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/17.jpg)
17
Measurement Methods
Due to the variation in software, and the lack of standards, there are many types of metrics that can be used
• Size-Oriented
• Function-Oriented
• Object-Oriented
• Use-Case Oriented
![Page 18: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/18.jpg)
18
Size-Oriented
• Metrics are normalized based on the size of the software
• Focus on LOC (Lines of Code)– Errors Per KLOC (thousand lines of code)– Defects per KLOC– $ per LOC– Page of documentation per KLOC
![Page 19: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/19.jpg)
19
Function-Oriented
• Metrics are normalized based on program functionality
• Most commonly used metric is the FP (function point)– Errors per Function Point– Defects per FP– $ per FP– Pages of documentation per FP– FP per person-month
![Page 20: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/20.jpg)
20
Object-Oriented
• number of classes reused
• number of classes with defects
![Page 21: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/21.jpg)
21
Metrics Tools
• SynQuest• NEXTRA• AMI• SPQR/20• SOFT-ORG• SQUID M-Base• Analyst4j• Eclipse Metrics
![Page 22: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/22.jpg)
22
Why use Metrics?
"If you can not measure it, you can not improve it.“ – Lord Kelvin
• Characterize - Increase Understanding
• Evaluate
• Predict - Managing Software
• Improve - Guiding Improvements
![Page 23: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/23.jpg)
23
Why use Metrics - Benefits
Although it can be hard to generate metrics from software, there are many benefits
• Manage complexity
• Process improvement
• Quality tracking
• Cost estimation
![Page 24: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/24.jpg)
24
Why use Metrics - Obstacles
"Not everything that can be counted counts, and not everything that counts can be counted.“ - Albert Einstein
• Takes time and effort away from the project
• Simple project may not benefit
• Projects may vary substantially
• Indicators must be interpreted
![Page 25: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/25.jpg)
25
Why use Metrics – Bottom Line
Provides the best option to standardize the development process to ensure quality and reliability
![Page 26: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/26.jpg)
26
Establishing a Metrics Program
Software Productivity Center, Inc. suggests an 8 step approach:
1. Document the Software Development Process 2. State the Goals 3. Define Metrics Required to Reach Goals 4. Identify Data to Collect 5. Define Data Collection Procedures 6. Assemble a Metrics Toolset 7. Create a Metrics Database 8. Define the Feedback Mechanism
![Page 27: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/27.jpg)
27
Establishing a Metrics Program
Establishing a program takes planning and time to be effective.
• Need historical data from past projects to establish indicators
• Goals have to be well defined to be meaningful
• Those collecting measures need to be vested in the program
![Page 28: Metrics An overview](https://reader035.vdocument.in/reader035/viewer/2022062408/56813c91550346895da63ee7/html5/thumbnails/28.jpg)
CONCLUSIONS
• Problems in products in each phase can be detected and removed at an early stage by using metrics.
• Metrics provide a quantitative and predictive view of potential problems. Thus, they are a powerful tool for product development.
• Metrics are still in a young stage. Research is needed to set a ground for prediction of problems.