The software reusability can be achieved in 3 ways
• Application system reuse: it involve the reuse of entire application system either by configuring a system for an environment or by integrating two or more system to create a new application. It can be done in two ways
o Commercial Off-The-Shelf systems product integration: COTS systems are usually complete application systems that offer an API (Application Programming Interface). The main benefit of using this is faster application development and, usually, lower development costs
o Product line development: Software product lines or application families are applications with generic functionality that can be adapted and configured for use in a specific context.
• Component base reuse: Components are more abstract than object classes and can be considered to be stand-alone service providers. The component is an independent, executable entity. It does not have to be compiled before it is used with other components. The services offered by a component are made available through an interface and all component interactions take place through that interface.
• Object and function reuse :Software components that implement a single well-defined object or function may be reused