Abstract
Modularity is at the core of software quality. It is an attribute which reflects the complexity of software systems, and their ability to evolve. In previous metric-based research, modularity has been predominantly assessed at the class level, but this level seems inappropriate for the large-scale software systems of today due to information overload. More recently work has begun to focus on the assessment of modularity at higher levels of abstraction for these types of software systems.In moving to assess such systems at the module rather than the class level, the first question that arises is to define the nature of a module. In previous research, the concept of module has many definitions some of which are ambiguous. In this chapter we investigate if metrics for higher level abstractions can help to inform on the composition of High Level Modules (HLMs). Another interesting question is focused on whether class level modularity metrics in object-oriented systems reflect module level modularity metrics in systems. In other words, do relationships exist between metrics extracted at different levels of abstraction in systems. This chapter probes these two issues by reviewing the relevant literature and performing a preliminary empirical study that aims to identify candidate HLMs and assesses the ability of modularity metrics at that level to inform on modularity issues at lower levels of abstraction in the system. It proposes a simple metric-based characterization of HLMs and suggests that metric correlations, at different levels of abstraction, do exist.
Original language | English |
---|---|
Title of host publication | Software Quality Assurance |
Subtitle of host publication | In Large Scale and Complex Software-intensive Systems |
Publisher | Elsevier Inc. |
Pages | 177-200 |
Number of pages | 24 |
ISBN (Electronic) | 9780128025413 |
ISBN (Print) | 9780128023013 |
DOIs | |
Publication status | Published - 2016 |
Keywords
- Class
- Module
- Object-oriented software
- Package
- Software metrics
- Software modularity
- Software quality