|
| Open and Closed |
| A baseline model should be open for extension but closed for modification |
|
Models at any level, once they are complete and become a baseline, are closed for modification but open for extension. In a knowledge hierarchy, a modification at one level would impact every level above it and causes a series of rework. An extension is an add-on. New elements are added to the existing models. This extension or addition would not impact existing models at all other levels. Existing models are not aware of this add-on, but new models may incorporate and utilize the extension. This way the system will evolve and embrace change without having "surgery." This principle ensures maximum use of abstraction to store base data instead of derived data level by level.
The UCRequirement model is built along one-way dependencies, with the most stable model at the bottom. The open and closed principle ensures that any changes will have minimal impact. |
| |
|
|