TUTCRIS - Tampereen teknillinen yliopisto


Ohjelmistometriikat arkkitehtuuritasolla

Tutkimustuotos: Diplomityö tai pro gradu -työ


KustantajaUniversity of Turku
TilaJulkaistu - kesäkuuta 2009
Julkaistu ulkoisestiKyllä
OKM-julkaisutyyppiG2 Pro gradu, diplomityö, ylempi amk-opinnäytetyö


Software metrics and architectures are two very different kinds of tools for improving the quality of software. The measurement of software helps to identify the weak parts of a product, a resource or a process. Thus, it is possible to focus additional work on improving the quality of these pieces of software. The objective is to prevent possible faults leading into a failure in the software.

Software architectures are high-level tools for software design. The architectures enable one to divide a complex program into smaller components, which makes the implementation easier than working with the original program as a whole. The architecture consists of components i.e. software units which are reusable, independent and offer uniform services.

This master’s thesis examines software metrics on the architectural level. The architectural level can be divided into two main categories, the component and system levels. The metrics for both sublevels are presented in the study. This thesis reviews the classic software metrics presented in the the 1960–80s and newer, object-oriented metrics. Some of the most central tools and architectural styles in software design are also presented.

This thesis discusses a list of measurable characteristics for the architectural levels. The Martin’s metric, presented by Robert C. Martin in his book Agile Software Development: Principles, Patterns, and Practices (2002), is the most extensive component level measurement. The thesis also presents a theoretical validation and an empirical test of Martin’s metric.

With a few exceptions in the theoretical test, Martin’s metric worked as a theoretically valid software metric. The thesis presents an improved version of Martin’s component cohesion metric. The results of the empirical tests show that five open source projects follow the principles of Martin’s metric. The theoretical and empirical tests combined lead to the conclusion that Martin’s metric is a useful, valid software metric.