Software systems have become increasingly complex over the years. Complexity metrics measures software complexity using real numbers. It is, however, hard to gain insight into different complexities by looking at these numbers. In this paper, we present a software complexity metaphor that uses a jigsaw puzzle. In particular, each component of a software system is modelled as a piece of a jigsaw puzzle. The problem complexity is modelled as a pattern on the surface of the piece, and the interconnection complexity as connectors between puzzle pieces. We demonstrate the benefits of this approach using case studies of the complexity measures of a real software system.
Adam Ghandar, A. S. M. Sajeev, Xiaodi Huang