One of the important activities in re-engineering process is detecting design flaws. Such design flaws prevent an efficient maintenance, and further development of a system. Th...
The evolution of software systems over many years often leads to unnecessarily complex and in exible designs which in turn lead to a huge amount of e ort for enhancements and main...
In order to support the maintenance of object-oriented software systems, the quality of their design must be evaluated using adequate quantification means. In spite of the curren...
Design contracts can be used in software development to ensure the preservation of assertions for program correctness. This can increase reliability in software design. Design by ...