Software Quality Engineering is a broad area that is concerned with various approaches to improve software quality. A quality model would prove successful when it suffices the requirements of the developers and the consumers. This research focuses on establishing semantics between the existing techniques related to the software quality engineering and thereby designing a framework for rating software quality
1. Framework for a Software Quality Rating System & Comparison
with Existing Techniques
Karthik Murali
Dept. of Industrial Engineering &
Engineering Management
Western New England University
EMGT 699
Thesis Research Part 2
1
2/24/2014
2. Motivation
o There has been extensive study over delivering, increasing and maintaining software
quality
o But, there has not been enough resources to refer on âRating Software Qualityâ
o This research is split into two parts, first â literature review has been projected and
this in turn it helps to sculpt the scope and the need for evolution of a âRating Systemâ
for software
o The second part â is where the existing methods have been analyzed to reach a point
where a framework can be built
Thesis Research Part 2
2
2/24/2014
3. Why is Rating Essential?
o The term âRatingâ refers to a scoring system that would evaluate the quality of the
software
o The rating system should be useful from the developer and the consumer [end user]
point of view
o The model should not be a single dimension measurement system, it should make
sure that all the metrics are given importance and the requirements or expectations
of the end-user should not be ignored
o Rating will help the consumers to make their decisions
Thesis Research Part 2
3
2/24/2014
4. Scope of the Research
o Software Quality has not only affected the consumer market but also the internal
functioning of developing organizations
o According to the general consumer mindset, a good quality software â a product that
works flawlessly
o Standard quality software relies on metrics that are defined pertaining to the
resources used (Fenton, 1996)
o Functionality, reliability and security are the high quality attributes (Dromey, 1994)
o If there is a defined Quality Rating System, these metrics will be pre-classified
according to the attributes they possess and metric overlapping problem would be
solved
Thesis Research Part 2
4
2/24/2014
5. Proposed Idea For the Rating System
Scaling
System
Criteria
Metrics
Thesis Research Part 2
5
2/24/2014
6. Requirements for the Rating System
o There are eight metrics considered and accordingly a set of influence factors have
been taken into account (included in Thesis Part I)
o The metrics and factors have been arranged in the form of a matrix
o The matrix helps us to understand the relation between the metrics and the
influencing factors
o The concern faced is â how to assign the weights and analyze the relation so as to
help in determining the software quality
Thesis Research Part 2
6
2/24/2014
7. Function Point Analysis
o Function Point â is a unit of measurement that can be used to express the
functionality of a software system (David Longstreet, 2005)
o It is a standard metric which is used for estimating the size and complexity of a
software (Analysis and Design)
o It is a very useful technique for understanding and comparing different projects,
measuring productivity and it is also used for calculating the amount of effort and
time needed to accomplish the project (Dr. Paul Vickers, 2003)
o Function point analysis is performed considering the consumer point of view i.e. the
end user
o Function in a software is a set of inputs, the behavior and the corresponding outputs
Thesis Research Part 2
7
2/24/2014
8. Function Points & Quality
o The software size is a crucial factor that influences many decisions related to the
software's development and deployment procedures
o The size of the software can help in the following,
1. Number of professionals needed to build the product
2. Estimation of total efforts
3. Estimation of cost and corresponding financial decisions
4. Estimating the time required to build the software
o FP can also be used with other metrics to help pinpoint opportunities for
improvement
Thesis Research Part 2
8
2/24/2014
9. Analytical Hierarchical Process
o Analytical hierarchical process is a matrix, where the rows and columns have the same
parameters
o For e.g. if the row starts with a parameter named âAâ, then the column should also
begin with âAâ
o Once the matrix is arranged, a score range of 1 to 9 is selected and allocated
(weights), where a maximum score implies that the row is more important than the
column
o The diagonal of the matrix is allocated a score of 1. Now proceeding columnwise the
value in the corresponding column just below the diagonal is just inverse of the scores
in the corresponding row
Thesis Research Part 2
9
2/24/2014
10. AHP & Quality
o Analytical hierarchical process matrix has been used to understand which of the
factors from the userâs point of view
o If this measure is used constructively then it can result in developing a quality product
o Software Quality Engineering needs a quality model that is usable throughout the
software lifecycle and that it embraces all perspectives of quality
o AHP, in a way helps us to identify the requirements of the user for building the
software quality rating model
Thesis Research Part 2
10
2/24/2014
11. Priority Scaling
The % Scaling of Factors
UNDERSTANDABILITY
SECURITY
EFFICIENCY
FUNCTIONALITY
COMPLEXITY
MAINTAINABILITY
REUSABILITY
TESTABILITY
Thesis Research Part 2
11
2/24/2014
12. Advantages of Priority Scaling
o Priority scaling % helps us to figure out which of the metrics is the most important
o This would give the development team a clear picture of what they need to
concentrate upon and focus
o It would drastically increase the productivity and the progress of the software
development (Performance Improvement)
o If the initial phase of the development is monitored well, quality would be present
throughout the development cycle
Thesis Research Part 2
12
2/24/2014
13. Conclusion
o With the help of Function Point Analysis, we understand the amount of times each
module has been used
o This puts light on the âfunctionalityâ and âreusabilityâ metrics of the software
application
o But interpreting quality with the FPA dimension is dangerous and incomplete
o FPA focuses on separating the system size from the environmental factors which
certainly helps us to monitor, implement and improve quality measures for the
software
Thesis Research Part 2
13
2/24/2014
14. Conclusion
o Once we have a concrete matrix like the âObservablesâ matrix, we can convert the
values to AHP matrix and scale the priority metrics involved in the software
development
o Considering the fact that each metric is important, but taking the user's outlook - the
developing team can focus on those factors and ultimately satisfy the consumer
needs and eventually it will give a quality product
o This research (Part II) has focused on establishing semantics between function point
analysis and the AHP and adapt them to form a framework for rating software quality
Thesis Research Part 2
14
2/24/2014
16. Future Work
o A quality rating system can definitely be designed by incorporating some features
from the function points and using the analytical hierarchical process
o Reverse Engineering of Software Metrics helps us to split the code individually and
measure the importance of each metric
o This supports the team in avoiding any sort of failures to ignore the importance of
each metric in the software thereby elevating the quality of the software
o Quality rating system can be designed if the model is successful in
prediction, estimation and evaluation of the metric elements present in the software
Thesis Research Part 2
16
2/24/2014
17. What is Reverse Engineering of Metrics?
o Reverse engineering lets us break down the big chunks of code into smaller groups
o This will help in studying the structure and the behaviour of the modules used in
designing the software application
o The prime advantage of using reverse engineering is to understand the reusability of
the software
o We can also study the functionality of the modules and make the software precise by
modifying, adding and tweaking the existing code according to the growing and
changing needs of the end users
Thesis Research Part 2
17
2/24/2014
18. âQuality is not a tool â you cannot install it. You need to blend it!â
â Anonymous
Thesis Research Part 2
18
2/24/2014