Evaluating the Implications of a Package Design Principle upon Software Maintainability
Marcelo de F. Costa, Márcio de Oliveira Barros · 2010
Software systems are evolvable constructs which must be constantly changed to remain useful. However, the effort required to support this evolution is usually huge, growing as the system ages and is changed in less-than-controlled ways. Software design principles propose ways to organize the basic components of these systems in order to accommodate change and reduce the overall maintenance effort. In this paper, we address the Common-Closure package design principle, proposing a technique to organize the classes comprising a system into packages according to this principle. We present the results of an experimental evaluation to ascertain whether the adoption of the Common-Closure principle improves a set of software design metrics.