Tutkimustuotos: Diplomityö tai pro gradu -työ ›
|Kustantaja||University of Turku|
|Tila||Julkaistu - kesäkuuta 2009|
|OKM-julkaisutyyppi||G2 Pro gradu, diplomityö, ylempi amk-opinnäytetyö|
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.