Many existing software systems can benefit from restructuring to reduce mai
ntenance cost and improve reusability, Yet, intuition-based, ad hoc restruc
turing can be difficult and expensive, and can even make software structure
worse, We introduce a quantitative framework for software restructuring. I
n the framework, restructuring decisions are guided by visualized design in
formation and objective criteria. The design information can be extracted d
irectly from code to restructure existing or legacy software. Criteria for
comparing alternative design structures include measures of design-level co
hesion and coupling. Restructuring is accomplished through a series of deco
mposition and composition operations which increase the cohesion and/or dec
rease the coupling of individual system components, An example and a case s
tudy demonstrate the framework. The framework ensures that restructuring re
sults in measurable improvements in design quality. Copyright (C) 1999 John
Wiley & Sons, Ltd.