-
Essay / The importance of software reuse: an overview
1. INTRODUCTIONEncouraging software reuse improves the reliability of a product because a reusable software unit is tried and tested. This reduces the risk of developing a large component from scratch, because it is easy to estimate the cost of using a large, reusable software unit. In addition to ensuring rapid product delivery, this allows architects to reuse models and architectures tailored to a particular situation, and developers to use a set of program libraries, ultimately reducing development time. Although the idea of reusing a software unit seems to do more good than harm, it does have some drawbacks. The maintenance cost of a reusable unit will be high if the system is subject to frequent changes. The tools used by developers may not support the reusable component library, making its development extremely difficult. Populating and maintaining a huge library to leverage component reuse becomes expensive. Apart from these aspects, the very notion of identifying a reusable unit, understanding the process of how a reusable unit works, and using the unit in a new environment is a challenge in itself.2. THE FIELD OF REUSEOver 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 basic functionalities of such systems can be implemented using reusable software units. Each approach is suitable for a few scenarios and it is the responsibility of management and the technical team to identify the suitability of the approach to develop a reusable software unit or to exploit the use of a software unit in the development of a product.2.1 A STUDY ON SOFTWARE REUSE IN ANDROID MARKE...... middle of paper...... pool had less LOC (lines of code) and few other components , although complex, were implemented using good reuse design principles such as a well-defined interface, clarity, understandability and documentation. Additionally, these components have been implemented using well-known frameworks such as Model-View-Controller (MVC) in Java. The results provided interesting insight into the relationship between complex software units implemented with good design principles and ease of reuse. It was observed that components implemented following good design principles and built using standardized architectural styles and frameworks gave a higher reusability quotient. Therefore, in order to increase the reusability quotient of a software unit, it is necessary for it to implement sound design principles and a proven reuse-oriented software engineering approach...