3.3. Change scenarios
As mentioned in Sec. 2.3, in the second phase of our investigation, we evolved both
OO and AO implementations of the HW base release according to a set of change
scenarios. Table 1 summarizes changes made in each release. The scenarios comprise
di®erent types of changes involving refactoring and improvement, addition of six new
functional use cases (which represent typical operations encountered in the maintenance
of information systems), removal of one functional use case, and the complete
removal of the design by contract concern. Table 1 also presents which type of
change each release encompassed. The purpose of these changes is to exercise the
implementation of the design by contract features boundaries and, so, assess the
overall modularity of contracts in the presence of maintenance and evolution tasks
that are recurring in incremental software development.