Architectural design metrics as indicators of changeability of component-based software systems

Component-based Software Development (CBSD) aims at designing and building a system using pre-existing components. CBSD is employed to reduce lifetime process, development costs and to increase the quality of the software. However, component-based software system (CBSS) developed by CBSD must be de...

Full description

Saved in:
Bibliographic Details
Main Author: Mohammed Khair, Majdi Abdellatief Mohammed
Format: Thesis
Language:English
Published: 2012
Online Access:http://psasir.upm.edu.my/id/eprint/39328/1/FSKTM%202012%2030R.pdf
http://psasir.upm.edu.my/id/eprint/39328/
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Component-based Software Development (CBSD) aims at designing and building a system using pre-existing components. CBSD is employed to reduce lifetime process, development costs and to increase the quality of the software. However, component-based software system (CBSS) developed by CBSD must be designed not only to meet the current customer requirements, but also to be receptive to future changes. Usually, designers may not know what the future state looks like. Thus, most often, one or more components of the system may need to be modified. This modification may be compromised by changing reusable software components, but perhaps the system architecture comprises components or interfaces that are difficult to change. The need for changeability keeps on increasing as technology evolves and there are changes that take place after a software system becomes operational, thus affecting maintenance routine. An essential method for managing and controlling such processes is to develop metrics as an indicator of changeability. Previous researches conducted on CBSD metrics have concentrated extensively on the assessment of complexity, reusability and dependency attributes for integration of software components. However, the literature still lacks appropriate metrics for measuring changeability attributes of component-based software system (CBSS). For this reason, the aim of this research was to propose measurements that allow designers to assess the changeability of CBSS architectures. In this research, the relationships between components and size of components were considered as major factors affecting CBSS architectural design. Component information flow-based measures and multidimensional approach were used to handle each factor respectively. Three sets of metrics namely, Component Information Flow Complexity (CIFC), Component Coupling (CC), and Multidimensional Design Size Measures (MDSM) were proposed as indicators of hangeability of CBSS architectural design. Two types of evaluation were used to validate the proposed approaches. While the theoretical validation study was conducted based on Briand’s framework, the empirical validation study was tested under controlled experimental conditions based on eighteen components. Further study was also conducted to help the practical application of the proposed metrics. The theoretical evaluation results indicated that the proposed metrics are theoretically sound and valid internal measures. The empirical results show that the proposed metrics have a positive statistical significant relationship with changeability attribute. The results of the application demonstrated the intuitiveness of the said approach. The overall results indicate that the proposed metrics can be used as indicators of changeability of CBSS architectural design. These measurements were proposed in the light of an extensive systematic literature review conducted by the researchers. Therefore, when the metrics are used in the context, we believe that the results of the metrics will be quite rich in identifying some architectural design problems. The results obtained from the theoretical and empirical evolution of the proposed metrics are of great significance and worth consideration for further research in the field.