1. INTRODUCTION Encouraging software reuse improves the reliability of a product, as a reusable software unit is tried and tested. It reduces the risk of developing a large component from scratch, as it is easy to estimate the cost of using a large reusable software unit. In addition to ensuring rapid product delivery, it allows architects to reuse models and architectures suited to particular situations and developers to use a set of program libraries, which ultimately reduces development time. However, the idea of reusing a software unit seems to do more good than harm, it brings with it some drawbacks. The cost of maintaining a reusable unit will be high if the system is subject to frequent changes. The tools used by developers may not support the library of reusable components, making it extremely difficult to develop. Populating and maintaining a huge library to take advantage of component reuse becomes expensive. Aside from these aspects, the very idea of identifying a reusable unit, understanding the working process of a reusable unit, and using the unit in a new environment is a challenge in itself.2. THE REUSE ARENA Over the past decades, many techniques have been proposed and adopted to increase software reuse. These approaches exploit the idea of reuse in similar application domains because the core functionality of such systems can be implemented using reusable software units. Each approach is suitable for a few scenarios and it is the responsibility of the management and technical team to identify the suitability of the approach in developing a reusable software unit or exploiting the use of a software unit in the development of a product.2.1 ONE SOFTWARE REUSE STUDY IN ANDROID MARKE...... half of the paper...... the pool had fewer LOCs (lines of code) and a few other components, although complex, were implemented using sound principles of reuse design such as a well-defined interface, clarity, understandability and documentation. Furthermore, these components have been implemented using well-known frameworks such as Model-View-Controller (MVC) in Java. The results provided interesting insights into the relationship between complex software units implemented with good design principles and ease of reuse. It was observed that components implemented with good design principles and built using standardized architectural styles and structures resulted in a higher reusability quotient. Therefore, to increase the reusability quotient of a software unit, it must implement solid design principles and a proven reuse-oriented software engineering approach..
tags