are here: Freetutes.com
Analysis and Design
Control of change in Software Quality Assurance
During the development of software product, changes are difficult to avoid.
There is always a need for some change in the software product. Though these changes
must be incorporated into software product, but there should be a specific procedure
that must be followed for putting the changes in the product. Before a change
is implemented, the required change should be thoroughly analyzed, recorded and
reported to people who are responsible for controlling them for quality and errors.
For all these activities there is software configuration management(SCM). It
is applied throughout the software engineering process as changes can occur at
any stage of software development. SCM activities identifies and control changes
and ensures that these changes are properly implemented. A typical change control
process that is followed in many software development process is illustrated in
First thing is need for change is recognized and request of change is submitted.
Developers analyze the request and makes a change report and it is submitted to
change control authority. It is up to the authority to grant permission or deny
request. In case change request is denied, the user is informed about it.
If permission is granted then an Engineer Change Order (ECO) is generated which
contains details of the changes to be made. The individual software engineer is
assigned the configuration object that requires change. These objects are taken
out of system, changes are made upon them and finally changes are reviewed and
again they are put into system.
Testing strategy is finalized. Quality assurance and testing activities are
performed. Changes done to the system are promoted. New version of software is
built. Changes made to the software product are again reviewed and finally the
new version with the required changes is distributed.
There are two more activities in SCM. These are ‘check in’ and
‘check out’ processes for access control and synchronization control.
Access control determines which software engineer has the authority to change
and modify a configuration object. More than one software engineer can have the
authority over a particular object. Access control is very important it is not
advisable to grant access to objects to everyone. Then everybody can make changes
to the object Synchronization controls the parallel changes, done by two or more
developers. It ensures one developer is not writing over the work of the other
Fig. 9.10 Change Control Process
Fig. 9.11 Access and synchronization control
Once it is assigned to a software engineer for change then it is locked for
other software engineers who might also have access for it. This process is check-out
for that object. The software engineer modifies the object and it is reviewed.
It is then check in. That lock that has been put on the object is unlocked and
can be given to other software engineers if required. In this way there is no
chance of one developer writing over the work of other developer.
Page | Contents
| Next Page >>