Skip to Main Content
A design pattern provides a structure to manage a design aspect by allowing the aspect to be changed without software redesign. For example, the command pattern allows a software design to be easily reconfigured to replace a receiver of a command request or issue a new command request. To prepare for everlasting demands in diverse requirement changes, multiple design patterns are typically deployed to manage various design aspects of a software program. However, this can complicate the underlying program structure, resulting in difficulties of succeeding program revisions to preserve effective management of aspects. In particular, when design aspects cut across each other, realizing changes in one aspect likely revokes the management of other aspects. To address this problem, we propose a documentation approach to govern program revisions. In the approach, a design aspect is associated with a set of proactive views. Each view specifies how an implementation of the aspect is organized so that other aspects can be managed at the same time. The views capture the class relationships that must be kept to preserve effective management of aspects. The approach is illustrated using a pattern-based hotel management system.