5.2. Comparison between OO and AO when implementing
perfective changes
When considering refactorings and improvements to the overall design of the HW
system (the addition of two adapter patterns and two factory patterns ) in terms
of extensibility and reusability, the AO solution fared better than its counterpart in
OO. Observing the change propagation values of the CS1 (change scenario 1), we can
note that in the OO version we needed to add much more DbC features to new components;
whereas in AO version, we just reused the existing ones. One crucial evidence
of the benefits of the AO implementation is related to the number of added DbC
features. We had to add 217 features in OO against only 14 in AO version. This
indicates an evidence that the AO solution tend to be much more stable in relation to
propagation changes involving perfective changes than OO solution. Also, this shows
that, in contrast to the OO solution, the existing aspects could be easily expanded to
incorporate new features.