Overview of Software Reuse

Thanusri swetha J October 22, 11:00 AM Technology

Software reuse is the process of implementing or updating software systems using existing software assets. The systematic development of reusable components. The systematic reuse of these components as building blocks to create new system. [1]

Figure 1. The Overview of Software Reuse

Figure 1 shows software elements of a product or system take time to create. Thus re-using blocks of code developed for previous applications may save on development time. Software created with re-use in mind most likely used a structured and modular programming approach.

This permits the elements which provide a discreet function to encompass a self-contained block of code. It accepts specific inputs and returns the desired outputs. A printer driver is an example of software code that may become part of many different applications and printing tools. [3]

The advantages of software reuse

  • Less effort: Software reuse requires less effort because many components use in the system are ready made components.
  • Time-saving: Re-using the ready made components is time saving for the software team.
  • Reduce cost: Less effort, and time saving leads to the overall cost reduction.
  • Increase software productivity: when you are provided with ready made components, then you can focus on the new components that are not available just like ready made components.
  • Utilize fewer resources: Software reuse save many sources just like effort, time, money etc.
  • Leads to a better quality software: Software reuse save our time and we can consume our more time on maintaining software quality and assurance. [2]

Downside of software reuse

  • Creating, maintaining, and using a component library: Populating a reusable component library and ensuring the software developers can use this library can be expensive. Development processes have to be adapted to ensure that the library is used.
  • Finding, understanding, and adapting reusable components: Software components have to be discovered in a library, understood and, sometimes, adapted to work in a new environment. Engineers must be reasonably confident of finding a component in the library before they include a component search as part of their normal development process.
  • Increased maintenance costs: If the source code of a reused software system or component is not available then maintenance costs may be higher because the reused elements of the system may become increasingly incompatible with system changes.
  • Lack of tool support: Some software tools do not support development with reuse. It may be difficult or impossible to integrate these tools with a component library system. The software process assumed by these tools may not take reuse into account. This is particularly true for tools that support embedded systems engineering, less so for object-oriented development tools. [4]
References:
  1. http://www2.latech.edu
  2. https://t4tutorials.com/software-reuse-and-software-reuse-oriented-software-engineering/
  3. https://accendoreliability.com/software-reuse-considerations/
  4. Source: https://cs.ccsu.edu/~stan/classes/CS530/Notes18/15-SoftwareReuse.html
Cite this article:

Thanusri swetha J (2021), The Overview of Software Reuse, Anatechmaz, pp. 59

Recent Post

Blog Archive