Role of process in software
quality
The need
for software products of high quality has pressured those in the profession to
identify and quantify quality factors such as usability, testability,
maintainability, and reliability, and to identify engineering practices that
support the production of quality products having these favorable attributes.
Among the practices identified that contribute to the development of
high-quality software are project planning, requirements management,
development of formal specifications, structured design with use of information
hiding and encapsulation, design and code reuse, inspections and reviews,
product and process measures, education and training of software professionals,
development and application of CASE tools, use of effective testing techniques,
and integration of testing activities into the entire life cycle. In addition
to identifying these individual best technical and managerial practices,
software researchers realized that it was important to integrate them within
the context of a high-quality software development process.
Process, in the software engineering domain, is the
set of methods, practices, standards, documents, activities, policies, and
procedures that software engineers use to develop and maintain a software
system and its associated artifacts, such as project and test plans, design
documents, code, and manuals.
It also was clear that adding individual practices
to an existing software development process in an ad hoc way was not
satisfactory. The software development process, like most engineering
artifacts, must be engineered. That is, it must be designed, implemented,
evaluated, and maintained. As in other engineering disciplines, a software
development process must evolve in a consistent and predictable manner, and the
best technical and managerial practices must be integrated in a systematic way.
These models allow an organization to evaluate its current software process and
to capture an understanding of its state. Strong support for incremental
process improvement is provided by the models, consistent with historical process
evolution and the application of quality principles. The models have received
much attention from industry, and resources have been invested in process
improvement efforts with many successes recorded.
All the software process improvement models that
have had wide acceptance in industry are high-level models, in the sense that
they focus on the software process as a whole and do not offer adequate support
to evaluate and improve specific software development sub processes such as
design and testing. Most software engineers would agree that testing is a vital
component of a quality software process, and is one of the most challenging and
costly activities carried out during software development and maintenance.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.