|
Information
technology in recent times has become significant in operation of
major industries and now represents a rapidly growing market of
strategic importance. The successful functioning of software products
is critical because nearly all the sectors depend on them. Quality
of software becomes one of the aspects of software engineering that
cannot be overlooked. The single most important cause for software
development project failure is the inability of the developer to
understand customer needs. Software developers often fail to develop
good quality programs because they do not know the characteristics
of a program that will conform to all standards as per business
requirement.
Software quality is defines as :
Conformance to explicitly stated functional and performance
requirements, explicitly documented development standards, and implicit
characteristics that are expected of all professionally developed
software.
Software quality can also be defined as :
.Software requirement
.Development
standards that define a set of criteria that must be followed at
the time of construction.
Quality
Factors
There are a number of factors that affect the quality of software.
These factors are complex mix of conditions that can be measured
based in certain criteria. They can be either measured directly
or indirectly.
Software quality factors based on three most important aspects of
a software product. These aspects are product operations, product
revision and product transition.
The product operations factors that determine the quality of software
when a program is executed are as follows:
-
Correctness
: Correctness determines to what extent the program fulfills
the specifications. It corresponds to the functionality that
is determined by calculating the capability of the program in
terms of accuracy of the program. It also analyses how the program
affects the security of the system.
-
Reliability
: Reliability is evaluated by measuring the frequency of
failure as well as the severity of the error. It also determines
the correctness of the program, ability to recover from a failure
and time between failure and recovery. A functionally correct
system loaded with erroneous data can result in system failure.
-
Efficiency
: Efficiency includes the amount of resources that are required
for the program to run. It is captured in terms of performance
of the program, the ability of a system to perform certain tasks
with in a time frame required by the user, with maximum efficiency.
It is calculated by assessing processing speed, response time,
resource consumption, throughput and efficiency. For a high
performance, the system must make very efficient use of the
resources such as processor, main memory, swap memory, disk
space etc.
-
Integrity
: Integrity measures to what extent unauthorized access
to the software can be prevented or in other words determines
whether or not the software takes care of security.
-
Usability
: Usability specifies the efforts required to learn, operate
and prepare input and output of a program. It is calculated
by taking into account the human factors along with elegance,
uniformity and documentation. The tasks should not be performed
clumsily.
These
factors need to be taken into consideration, to develop dependable
system. It is very important that the product provides safe and
secure services. Good quality software stresses on the fact that
the product is not only correct and reliable but also ensures the
system functionality is defined such that it delivers correct performance
in all circumstances.
|