We do need to change software objects due to various obvious and well defined reasons. As software systems become increasingly large and complex, the need increases to predict and control the effects of software changes.
The problem of objects change in a software can be viewed as:
1. Identifying the victims of change;
2. Identifying the types of changes that may operate on each object of the software;
3. Evaluating the effects of a change;
4. Acquiring knowledge on how to perform a change.
Impact analysis:
Impact analysis can be defined as the activity of identifying which object to modify to accomplish a change, that is, estimating the potential consequences of carrying out a change. Impact analysis of a change is necessary for the following reasons:
1. To estimate the cost of a change. If a proposed change has the possibility of affecting large disjoint sections of the software, then the change might need to be re-examined and if possible abandoned in order to design another safer change.
2. To understand the meaning and the relationship between the item of change and the
structure of the software. The impact analysis tool can use the notion of conductivity because there are some dependency relations that are better conductors of changes. These types of relation allow the identification of the parts of the software that must be modified and that parts may be modified for a given change-type.
3. To record the history of change related information and to evaluate the quality of
a particular change. Examining the feedback information from users of the changed
product helps in maintaining the quality of the software.
4. To determine the parts of the software that may need to be regression tested after a change is carried out and to point out the vulnerability of some critical sections of the software in order to determine whether the functionality of those parts of the software is susceptible to changes made to the software.
No comments:
Post a Comment