Professional Documents
Culture Documents
SOFTWARE PRODUCT ?
ABSTRACT
The field of Information Technology research grows substantially around
the world. In this context, Software plays a fundamental role and its
commercialization goes beyond the territorial limits of the countries that
develop them. In view of its increasing complexity and wide-ranging
action, besides the financial importance for its original country, the quality
of software is a concern that has mobilized in such a way both
governmental efforts as well as private concerns. The norms and models
used by the software organizations always aim at the quality of software
process or software product. The objective of this work is to present an
®
integration proposal of these two approaches: the CMM process model
and the NBR 13596, a Brazilian equivalent of ISO/IEC 9126 that are
concerned about quality characteristics of software product. Activities,
®
goals and work products, of the CMM process areas, were analysed
searching for cases where the definitions, guide lines and quality
characteristics of software product, are embodied in ISO/IEC 9126. The
contributions of this work envolve the increasing efforts that are being
carried out in the software quality, so as to motivate the use of Software
Engineering providing an integrated vision of process and product quality,
besides demonstrating a practical integration possibility. The integration
®
proposed is the simultaneous use of ISO/IEC 9126 and the CMM
process model. The application could be in enterprise which wanted
improve process and product at the same time.
Introduction
The quality of software is a real concern and efforts have been carried out to
increase the quality of the processes involved in its development and maintenance. The
same concern exists with the software product developed where tests, norms and
methods are used to check for its quality.
However, software quality is still a great concern. A process quality does not
guarantee the quality of the product. A gap is perceived in the efforts that have being
carried out to improve the software quality. The process, which will end up in the
software product, concentrates its efforts in development and maintenance, whereas
the software product quality is almost always focused on the final phase of the process
through quality evaluation of the final software product developed.
As described above, the initiatives to improve software quality are of great value
and deal with its objectives in exemplary way but they act in isolated manners.
The structure of the CMM is based on the definition of the 5 (five) "Maturity
Levels", previously described, where KPA "Key Process Areas" pose as essential for an
organization in that given Maturity Level. See anexed table
The KPA possesses a set of Practices considered as a Key so that its goal is
attained in the organization. These "Key Practices" are grouped in accordance with its
KPA objective, which can be: "Responsibilities", "Abilities", "Activities", "Measurements
and Analyses" and, "Verifications".
The NBR 13596 (ABNT, 1996) edited in 1998 by ABNT (ABNT, 2002) as a
Brazilian equivalent of the ISO/IEC 9126 "Information technology - Software product
evaluation: Quality characteristics and guidelines for their use" (ISO, 1991).
One of the reasons why the Software Quality Study Committee elaborated the
NBR 13596 through the translation of the base text of ISO/IEC 9126, and not to create a
new norm, was the increasing integration of the world-wide economy that called for
quality concepts unification. It could offer a common normative text being used by all
countries.
The model of software product quality was defined to support the objective to
apply the characteristics of quality in a software product evaluation and, it is based on
the definition of the software quality characteristics through its subcharacteristics. Its
use is not a must. The important one, according to this Norm, is the necessity of
following a model in an evaluation.
The 6 (six) characteristics and the subcharacteristics that define them, according
to NBR 13596, are the following ones:
Functionality
Accuracy: To provide the right or accepted results or effects with the required
rate of precision.
Reliability
Usability
Understandability: Software qualities that show the user´s effort to recognize the
logical concept and its applicability.
Learning ability: Software qualities that indicate user´s effort to learn its
application.
Operability: Software qualities that show the user´s effort for its operation and
operation control.
Efficiency
Maintainability
Portability
The contribution, provided for the simultaneous use of a process model and a
Norm that describes the characteristics of a quality software product, is to offer a
practical alternative for software organization. So that those software development and
maintenance will field a quality product, as per internationally recognized parameters.
Upon introducing NBR 13596 in the "Key Practices" of the "Activities", it´s aims
at expanding its objective so that they can also define 'What' must be done to establish
the software product capability.
® ®
CMM CMM +NBR 13596
What must be done Software Process Software Process and Software Product
to establish ... Capability Capability
Focus foreseeing Process Process and Product
results of ...
®
The way of using the NBR 13596 concepts in some examples of the CMM
process model, must be simple and easily implemented. In a Master´s Degree Thesis,
®
(Sant’Ana, 2002) displays more than 30 (thirty) chances of CMM application points of
NBR 13596 concepts use. Some examples of these instances are:
Considering the use of NBR 13596 in conditions of this KPA, its intention is to
®
add value to the CMM by changing its purpose into: Establishing a mutual agreement
between customer and the software project team of the customer's requirements,
including the software product quality trends , that will be implemented by the software
project".
An instance in this KPA is the "Activity" number 1 that says: "The software
engineering group revises the requirements to be allocated before they are incorporated
into the software project". The "Software Requirements Specification" document must
describe the behavior of the software as expected by the customer.
Considering the use of NBR 13596 in this activity, the software engineering
group revises the requirements to be prior to including them in the software project and
trying to warrat its inclusion in the documment "Software Requirements Specification"
about quality characteristcs of the software product.
“Activity” number 5 of this KPA states: "New processes, methods, and tools in
limited use in the organization are monitored, appraised and, wherenever appropriate,
transferred to other parts of the organization".
The aggregate value to this purpose, with the incorporation of NBR 13596 into
software process, is the identification of problems in reaching of goals related to the
software product quality characteristics that is being developed or maintained. It can
prevent the recurrences of problems with software product quality characteristics.
On the “Activity” number 2, the KPA describes that "at the beginning of a
software task, the members of the team performing the task meet to prepare for the
activities of that task and the associatedprevention activities". Considering the use of
NBR 13596 in the team preparation, the quality goals for the software products must be
approached based on rule, the quality characteristics defined by this Norm. In that way,
these goals can be monitored, at moments considered important, during the software
process.
Conclusion
®
According to CMM , the organization must work in partnership with the customer
by understanding his necessities and providing a development or keeping of software
products that establish the customer requirements. It has to be registered and warrant
the allocation of these requirements to the software components.
In accordance with NBR 13596, in order to manage the software quality the
technology is very important to specify and to evaluate both the software product quality
and the software process quality, in na objective and quantitative manner
With this simple initiative, the emphasis will be on software quality and no
longer in the process or final product. That is, the best practices in the process must
be carried out to develop and maintain a product that has definite quality trends, and are
widly recognized toward promoting the improvement of the software quality as a whole.
References
Paulk, M. C., et al. (1999). The Capability Maturity Model for Software. Pittsburgh: SEI –
Software Engineering Institute. 26 p.
SEI. (2000). The Capability Maturity Model: Guidelines for Improving the Software
Process (14 ed.). EUA: Addison Wesley Longman. 441 p.
Annex
LEVEL 2: REPEATABLE
PURPOSE
KPA
LEVEL 3: DEFINED
PURPOSE
KPA
LEVEL 4: MANAGED
PURPOSE
KPA
Defect Prevention To identify the cause of defects and prevent them from recurring.
Technology Change To identify new technologies and transition them into the organization
Management in an orderly manner.
Process Change To continually improve the software processes used in the
Management organization with the intent of improving software quality,
increasing productivity, and decreasing the cycle time for product
development.