Comparative analysis of software reusability attributes in web and mobile applications - Dhaya Nor, Beshar (2015)
Software reuse is an important approach to software engineering, where it aims to use previous software components to create new software systems. Reusability minimizes work repetition, development time, cost, efforts, and increases systems reliability. Reusability measurements help developers to provide the right metrics for measuring the reusability attributes and to identify reusable components among the wealth of existing programs. The main problem encountered in software reuse is the proper selection of the right software component for reuse due to similarity between the desired functionality and the function of the retrieved software component. In addition, it is difficult to define the right metrics that capture important quality attributes of a given class. This research aims to identify and measure the attributes that affect the software components reusability in two open source web and mobile applications. It also aims to compare the usage rate of reusability components in these applications to decide their ability to reuse. Four attributes were selected due to their impacts on reusability namely flexibility, portability, variability and understandability. Five metrics were identified to measure these attributes based on specified formulas. The metrics are Coupling Between Object (CBO), Lack Of Cohesion (LCOM), Depth Of Inheritance (DIT), Number Of Children (NOC) and Line Of Code (LOC). The research results indicate that the same attributes and metrics are suitable for measuring the reusability components in both applications. The comparison between the two applications for reuse indicates that the web application is more difficult for reuse than the mobile application.