Software Quality attributes is the sum of functionality, usability,
reliability, efficiency, maintainability, security and scalability.
Software quality has been developed over the last few decades
and beyond, however, there still many flaws and failures encountered,
e.g. missed or misunderstood requirements, errors in design,
over budget, poor performance etc. It could also be faults identified
by users which were not discovered during the testing phase.
This is where software quality comes into its use. Developing
systematic ways to relate software quality attributes of software
will arrive in implementing successful software. In addition,
with rapid changes and development over the Internet such as
email and web evolution in the business environment, software
quality needs to be inline and adapt with these changes.
However, because there are so many different attributes and
not all of them can be used in all the products. The following
section describes how the majority of attributes brings successful
implementation to software.
 |
 |
 |
| |
Functionality
Functionality is when the product performs the requirements
and specification. It is the capability of the software
to provide and perform its desired functions which
meet stated conditions based on agreed user requirements.
It is the essential purpose of any product or service.
The more functions a product has, then the more
complicated it becomes to define its functionality.
It is the basic attribute for software quality but
can be problematic for complex software. The major
goal for quality software must be able to offer
the functions that fulfill user requirement. Therefore
requirement phase is an initial and critical stage
to determine the rest of the phases will run correctly.
Usability
User friendliness is the goal of usability, no one
likes to crawl through pages of manuals and help
pages just to find out how to use a function. In
general, usability is the ability to use the software
easily and be maintained in a user friendliness
way. For example, it should take less time to complete
a job, to learn a new function and be easily memorized.
Reliability
Reliability is about whether the system can perform
its intended functions satisfactorily in each of
these stages: requirement, design, coding, testing
and runtime. It is an important facet of software
quality because it should be maintained in a failure-free
condition at all times. Once the software is running
effectively, then we have to make sure the information
provided is accurate and dependable. Reliability
must also maintain its level of performance within
stated period of time.
Efficiency
Efficiency is the capability of the software to
provide appropriate performance, relative to the
amount of resources used. This characteristic is
concerned with the system resources used when providing
the required functionality. The amount of disk space,
memory, network and the processing time provides
a good indication of this characteristic.
Time Behavior
It is the capability of the software product to
provide appropriate response time, processing time
and throughput rates when performing its function
under stated conditions. It is an attribute that
can be measured for each function of the system.
Resources Management
This is the amount and type of resources used and
the duration of such use in performing its function.
It involves the attribute complexity that is computed
by a metric involving size (space for the resources
used and time spent using the resources). A software
product which is considered to be efficient should
not allow excessive use of resources. This could
mean extra memory and processor speed.
Maintainability
Maintainability is the capability of the software
product to be modified. Modifications may include
corrections, improvement or adaptations of the software
to changes in the environment and in the requirements
and functional specifications. The product is said
to have a high degree of maintainability if it is
easy to understand, enhance and correct for users
and developers.
In general, application system has to be support
and maintained from time to time. Quality software
allows user to easily manage system resources, providing
effective functionalities and even automatic house
keeping. Thus the software product which is maintainable
should be well-documented and understandable for
different levels of users and system staffs.
Security
Security is a vital component in enterprise applications.
To keep software product away from security threats
is one of the critical attribute in software quality.
A single attack could lead to the destruction of
the system or the entire network. Today, all of
us are covered by the network that convenient to
communicate. However, the chances of security leak
are also increasing. Therefore a strong security
protection is always needed.
Other factors which should be taken into consideration
are: security policies, security mechanism, security
implementation and security testing.
Scalability
Scalability has the ability to allow systems to
be upgraded easily and transparent to users without
interruptions. E.g. A scalable online transaction
processing system or database management system
is one that can be upgraded to process more transactions
by adding new processors, devices and storage, and
which can be upgraded easily and transparently without
shutting it down.
Extensibility
Extensibility is one of the factors in the implementation
stage which should be taken into consideration for
future growth. E.g. Has memory and storage capacity
been reserved for future expansion? If so, how much
should we reserve within a certain period?
The business environment keeps changing, and the
business processes continue to add new elements
for improvement. A software product must have high
level of flexibility and extensibility so that it
is easily customized to meet requirement changes.
|
|
|
 |
|
 |
|
|
| |
© 版權所有。 FlexSystem Limited 2008 |
|