Software reuse also sometimes referred as code reuse is the process of using existing software for the creation of new software. Software engineering in the past was more focused on the original development and now it has recognized the importance of the software reuse method which is helpful in achieving better software, at low costs and more quickly. There are two types of software reuse,s one is opportunistic reuse and the other is planned reuse. Further opportunistic reuse can be categorized in to two types that is internal reuse and the external reuse. Reuse has an enormous impact on productivity. The elements of software that can be reused are software specifications, designs, tests cases, data, prototypes, plans, documentation, frameworks, and templates.
- Software reuse increases the software productivity and decreases the time required for the development of a software.
- By using the technique of software reuse, a company can improve software system interoperability and needs less people for software development.
- This provides a competitive advantage for the company and helps to produce better quality software and standardized software.
- Software reuse technique helps the company to reduce the costs involved in software development and maintenance.
- By using it the software developers can be moved from one project to the other project easily.
- Systems that incorporate a high level of reusable components are more reliable and more easily constructed.
- Software reuse also reduces the risk involved in software development process.
Although software reuse provides many benefits for the developers, there are some disadvantages, like it increases the maintenance cost and occasionally there may be lack of tool support.