Home » Software Engineering

Software Reuse: Definition and Advantages | Software Engineering

In this tutorial, we are going to learn about the definition and advantages of software reuse in software engineering.
Submitted by Monika Sharma, on November 25, 2019

Advantages of software reuse

  1. Software products are costly.
  2. Software project managers are worried about the expensive software development and are desperately find for ways to cut development cost are,
    1. A possible way to reduce development costs is to use parts again from previously developed software.
    2. In addition to decrease development cost and time, use again also leads to the higher quality of the developed products.

What can be reused?

It is great to know about the kinds of artifacts associated with software development that can be used again. Almost all artifacts associated with software development, including project plan and test plan, can be used again. However, the important items that can be effectively used again are,

  • Requirements specification
  • Design
  • Code
  • Test cases
  • Knowledge

Basic issues in any reuse program

The following are some of the basic issues that must be for starting any reuse program,

  • Component creation
  • Component indexing and storing
  • Component search
  • Component understanding
  • Component adaptation
  • Repository maintenance

Component creation

The reusable components have to be first identified. The selection of the correct kind of components having the potential for reuse is best.

Component indexing and storing

Indexing requires classification of the again usable components so that they can be easily found when looking for a component for reuse. The components need to be stored in a Relational Database Management System (RDBMS) or an Object-Oriented Database System (ODBMS) for efficient access when the number of components becomes large.

Component searching

The programmers need to search for correct components matching their needs in a database of components. To be able to search components efficiently, the programmers require a perfect method to tells the components that they are looking for.

Component understanding

The programmers need a prefect and sufficiently complete understanding of what the component does to be able to decide whether they can reuse the component or not. To understand, the components should be well documented and should do something simple in the code.

Component adaptation

Before they can be reused, the components may need adaptation, since a selected component may not exactly be mixed the problem at hand. However, tinkering with the code is also not the best solution because this is very likely to be a source of faults.

Repository maintenance

It once is created requires repeated maintenance. New components, as and when made have to be entered inside the repository. The faulty components have to be followed.

Further, when new applications mixed, the older applications become obsolete. In this case, the obsolete components might have to be deleted from the repository.

Domain analysis

The aim is to find the reusable pieces for a problem domain.






Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.





Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates


© https://www.includehelp.com some rights reserved.