You are on page 1of 20

A Study on Software

Metrics and Its


Impact on Software
Quality
Mahbubul Haq Bhuiyan, Khorshed Alam,
Abul Hossain Chowdhury
MSCSE, United International University
The 10 Questions
1. What is the history of software metrics?
2. What are the categories of software metrics
3. What is STREW-H?
4. What is software quality?
5. What is the relation between software metrics and software quality?
6. What is data stream Mining?
7. How the complexity of a software impacts the software quality?
8. How to measure defect severity level and what is its impact on software quality?
9. What is the impact of defect turnaround time on the quality of software?
10. How to measure test coverage? What is its impact on software quality?

08/21/2023 2
Abstract
 Software metrics help predict software development process and improve software
quality.
 Main goal: satisfy customers, reduce costs, and increase software reliability.
 Research examines impact of different software metrics on software quality and
reliability during development.
 Use of metrics improves software quality, leading to increased revenue.
 Customers' expectations for software quality are increasing.
 Countries and companies invest more resources in software quality improvement.
 Early identification of defects, errors, or bugs is significant in software development
process. Ensuring good quality software and avoiding expensive fixes later.

08/21/2023 3
Literature Review
 In 1961, software quality metrics were introduced, measuring
the number of defects per KLOC (thousand lines of code) as an
indicator of program complexity.
 In 1974, LOC was widely used as a measure of software
complexity, and in 1976, McCabe proposed metrics for
measuring software complexity.
 The use of software metrics significantly increased around the
year 2000.

08/21/2023 4
Literature Review
 Before the 1990s, complexity metrics were widely used for
quality control, and attempts were made to count software
defects as a measure of software effectiveness.
 It was discovered that size, complexity, or LOC metrics alone
could not accurately predict software defects. Traditional
statistical methods were deemed inappropriate for defect
prediction.
 Understanding customer requirements is crucial for software
quality, as defects and errors in the requirement phase can
significantly impact on the final product.

08/21/2023 5
Literature Review
 Studies have shown that incomplete requirement specifications
contribute to a significant number of software defects.
 Organizations adopt techniques and methodologies to
minimize software complexity, and software metrics are
commonly used for assessing software quality.
 Software metrics are measurement techniques that evaluate the
functional, reliable, usable, efficient, portable, and maintainable
aspects of software. They provide quantitative measures for
making informed decisions about software quality.
 Metrics can also be used to identify code redundancy and
facilitate the application of refactoring techniques.

08/21/2023 6
Our Learnings
What we’ve learned from the paper
Software Metrics
Software metrics refer to the measuring techniques for systems
software, its different parameters or different processes of that
software which provide measurements of a different aspect of the
software.
 Product metrics: These are the characteristics of a product, such as its
performance, design, size, quality level, and complexity.
 Process metrics: These metrics are used to improve software
development and maintenance processes.
 Project metrics: These metrics describe the project execution and its
characteristics.

08/21/2023 8
Software Quality
Software quality is the degree to which a software product satisfies
its specified requirements, meets customer expectations and needs,
and conforms to applicable standards and regulations, while being
delivered on time and within budget.

08/21/2023 9
How software metrics have its
impact on software quality
• Software metrics provide information about modified or changed parts of software, useful
for configuration management or version control.
• Software metrics are beneficial for assessing software quality.
• Understanding customer requirements is crucial in the initial step of software development.
• Errors in the requirement phase account for 25-40% of defects in software.
• Incomplete requirement specifications lead to 28% of software defects.
• Improving the clarity and specificity of requirements improves software quality.
• Complexity in software can decrease software quality.
• Application features that provide business value often involve complex coding.
• Accidental complexity exists in software design, code practices, deployment, and other
areas.

08/21/2023 10
Several Software Metrics Techniques to Achieve
Quality Through its Maintenance and
Performance
1. Functional Metrics: These metrics focus on evaluating the functionality
and capabilities of a software system. They measure aspects such as the
number of features, usability, reliability, and performance of the software.
2. Periodicity Metrics: These metrics assess the periodic patterns and
trends in data or processes. They help identify recurring patterns, cycles,
or fluctuations, which can be useful in understanding and predicting
behavior over time.

08/21/2023 11
Several Software Metrics Techniques to Achieve
Quality Through its Maintenance and
Performance
3. Maintenance Process Metrics: These metrics are used to measure and
assess the efficiency and effectiveness of software maintenance activities.
They can include metrics related to the number of maintenance requests,
response time, resolution time, and customer satisfaction with the
maintenance process.
4. Equipment Performance Metrics: These metrics are commonly used in
industries that involve machinery or equipment. They measure the
performance, reliability, and availability of equipment, such as uptime,
downtime, meantime between failures (MTBF), mean time to repair (MTTR),
and overall equipment effectiveness (OEE).

08/21/2023 12
Several Software Metrics Techniques to Achieve
Quality Through its Maintenance and
Performance
5. OEE (Overall Equipment Effectiveness) Metrics: OEE is a specific set of metrics used
to evaluate the productivity and efficiency of manufacturing equipment. It considers three key
factors: availability (the percentage of time the equipment is available for production),
performance (the actual speed compared to the ideal speed), and quality (the rate of
production without defects). OEE provides insights into the overall effectiveness of
equipment and opportunities for improvement.

08/21/2023 13
Data Stream Mining
Data stream mining refers to the process of extracting useful information or
knowledge from continuous, rapidly changing data streams. It involves
analyzing data that arrives in real-time or in a continuous flow, rather than
from static datasets. Data streams are often large, high-velocity, and may have
a potentially infinite length.
 Data stream mining techniques aim to discover patterns, relationships, and
trends within streaming data.
 They enable real-time decision-making, prediction, or classification tasks.
 These techniques involve algorithms and models that can adapt and update
with new data.
 The goal is to ensure the analysis remains up-to-date and relevant.

08/21/2023 14
Next Plan
Things to learn
Things to learn:
 Gain a deeper understanding of data stream mining techniques
and their application in measuring product quality.
 Stay updated on the development of automated tools for
providing real-time information to developers and enabling
timely corrections.
 Explore additional metrics and their effectiveness in assessing
software quality.
 Learn about the methodologies for software quality metrics.

08/21/2023 16
Things to learn:
 Research and understand the relationship between complexity metrics and
software quality.
 Investigate advanced studies and their findings on quality metrics for
software improvement.
 Study the impact of reliability metrics, defect removal efficiency, and
other relevant metrics on software quality.
 Learn more about the customer satisfaction model index and its
application in enhancing software quality and customer satisfaction.
 Gain a deeper knowledge of STREW-J and STREW-H Methods.
 Know more about complexity metrics and their phases alongside their
complexity levels.

08/21/2023 17

With the increase of complexity


software quality decreases

08/21/2023 18
Complexity vs Software Quality
In the real world, you can’t always keep software
simple. After all, application features that provide
business value tend to have complex coding. But
applications have a lot of accidental complexity too,
in software design, code practices, deployment and
other areas. Essential complexity is worth having
always.

Ref: G. Lawton, “How to prevent accidental


complexity in software development,” Software
Quality, Jul. 2020, [Online]. Available:
https://www.techtarget.com/searchsoftwarequality/ti
p/How-to-prevent-accidental-complexity-in-
software-development.

08/21/2023 19
Thank you

You might also like