04-07-2012, 04:28 PM
Factor Strategy Model: Proofs of Prototype Concept For Software Quality Evaluation
Factor Strategy Model.pdf (Size: 584.42 KB / Downloads: 151)
Abstract
The objective of this study is to provide software developers
some measures to evaluate software quality of a Java program.
Studies on software quality requirements, software quality
models (as a quantifying measurement technique) and various
good design rules are required for. This study aims to solve the
problem for software developers or students having difficulty
to identify the bad software design in their software product.
Introduction
Software products are important in our everyday life. From
small mobile phone to critical management system used in
nuclear power plant, software aids the operations of these
devices. Hence, software quality is important as it indirectly
affects the quality of other products. Meanwhile, Object-Oriented
design and development are getting more and more popular in
today’s software development environment [23]. Quality itself is
defined as a conformance to specification by Crosby [6]. Deming
[8] defines quality as meeting the customer’s needs. According
to Feigenbaum [9], quality is meeting customer needs, without
the determination by engineer, marketer, or the general manager.
However it is software product quality often described vaguely
and in broad terms [13]. As difficult to understand what software
quality really is, software engineers or software developers often
encounter difficulties identifying the possible consequences caused
by low quality software products.
Literature Review
Software Quality
Even though a software is already delivered on budget, on
time and on requirement as well, yet the problem of the software
quality will arise as the software may be difficult to modify,
difficult to use, or difficult to integrate with the existing system
[3]. According to Kitchenham and Pfleeger [15], software quality
is complex and multifaceted. They stated that there are five
perspectives on viewing the software quality itself, which are
transcendental view, user view, manufacturing view, product view
and value-based view respectively. Developers who agree Software
Quality described in transcendental view believes that software
quality is something that they can strive at but can never be fully
implemented [15]. According to Cavano and McCall [5], software
development process need to be measured in a way to determine
the product has met its objective.
Accuracy Evaluation
Accuracy is very important in many calculation-related
systems, as it directly affects the reliability of the system. A system
that is unable to provide accurate result will be considered as not
reliable by the user. As the main objective of the proposed project
is to convince people on the quality model and raise awareness on
software quality, it is utmost important for the author to provide a
tool that is highly reliable.
As advised by various software engineers, the development
of such tool requires enormous amount of time and effort, which
follows by more improvements so it is beyond doubt for the
user to believe in the measurement results provided by the tool.
Therefore this study will provide the accuracy evaluation result
of the tool, most of which are carried out by analyzing various
source code.
Conclusion
This research provides an overview of software quality
and how Factor Strategy Model can be applied in evaluating
the quality of software program. This research describes the
proof of concept system developed by us which demonstrated
the application of Factor Strategy Model in an object oriented
programming environment. We have also compared the results
generated from our system with manual way of calculating the
software metrics and the results shows that our system is able
to evaluate the quality of the software accurately (i.e. 90.62%
accuracy). As Java programming language is one of the most
popular programming language used by software developers, we
have specifically design our prototype to measure the quality of
software written in Java.