While it is widely agreed that architectural simplicity is a key factor to the success of large software systems, it is not obvious how to measure architectural complexity. Our ap...
Applications are often designed to take advantage of the potential for integration with each other via shared information. Current approaches for integration are limited, affectin...
Software patterns are generic solutions to recurring problems. They are represented as a triplet (problem, context, solution). Several kinds of software patterns were identified, ...
UML class diagrams of complex software systems are frequently very large, making it difficult to gain a detailed understanding of the underlying software components within the con...
Prototyping is a technique widely used in many engineering fields. However, in software engineering, its usage is limited to requirement elicitation. Little research has been done ...