Programming languages provide various mechanisms to support information hiding. One problem with information hiding, however, is that providing a stable interface behind which to ...
Scenarios are valuable for supporting communication among system developers in the initial phases of requirements engineering. But the problem of how to fruitfully deal with large...
It is well known that the extensive use of preprocessors can lead to serious maintenance problems. However, these tools are still heavily used by developers and maintainers to imp...
The formal specification of design patterns is widely recognised as being vital to their effective and correct use in software development. It can clarify the concepts underlying ...
Traditional design representations are inadequate for generalized reasoning about modularity in design and its technical and economic implications. We have developed an architectu...