0% found this document useful (0 votes)
460 views12 pages

Understanding Software Reuse Benefits

This document provides an outline and overview of software reuse. It defines software reuse as developing or updating software using existing assets. The document discusses advantages like increased productivity. It describes what can be reused like applications, subsystems, and components. It outlines different types of reuse and stages in the reuse development process. It also discusses challenges like economic and retrieval issues and concludes that software reuse is an efficient way to improve quality and productivity, though not perfect.

Uploaded by

Akshay Raut
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
460 views12 pages

Understanding Software Reuse Benefits

This document provides an outline and overview of software reuse. It defines software reuse as developing or updating software using existing assets. The document discusses advantages like increased productivity. It describes what can be reused like applications, subsystems, and components. It outlines different types of reuse and stages in the reuse development process. It also discusses challenges like economic and retrieval issues and concludes that software reuse is an efficient way to improve quality and productivity, though not perfect.

Uploaded by

Akshay Raut
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
  • What is Software Reuse?
  • The Advantages of Reuse
  • What is Reusable?
  • Types of Software Reuse
  • Stages of Reuse Development
  • Reusability Measurement
  • The Problem in Software Reuse
  • Impediments in Software Reuse
  • Conclusion
  • References

Software Reuse

Csc532
Instructor: Dr. Box
Student: Guangyu Chen

Outline

What is software reuse


Advantages of reuse
What is reusable
Types of software reuse
Stages for reuse development
Reusability measurement
The problem in software reuse
Impediments in software reuse
Conclusion

What is software reuse?

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

The advantages of reuse

Increase software productivity


Shorten software development time
Improve software system interoperability
Develop software with fewer people
Move personnel more easily from project to project
Reduce software development and maintenance
costs
Produce more standardized software
Produce better quality software and provide a
powerful competitive advantage

What is reusable?

Application system

Subsystem

Component

Module

Object

Function or Procedure

Types of software reuse

Horizontal reuse

Vertical reuse

Stages of reuse development

Identify domain
Identify and classify reusable abstractions
Identify design/programming language constructs
that support reuse
Study and formulate language reuse guidelines
Study and formulate domain reuse guidelines
Reuse assessmentassess components based on the
guidelines
Reuse improvementmodify and improve these
components.

Reusability measurement

Generality enhances reusability by


making the asset more widely
applicable
Generosity enhances reusability by
reducing the cost of adapting the asset
to its host system.

The problem in software reuse

The principles, methods, and skills required to


develop reusable software cannot be learned
effectively by generalities and platitudes.
To succeed in-the-large, reuse efforts must address
both technical and non-technical issues.
It's easier and more cost effective to develop and
evolve networked applications by basing them on
reusable distributed object computing middleware,
which is software that resides between applications
and the underlying operating systems, network
protocol stacks, and hardware.

Impediments in software reuse

Economic
Retrieval
Expensive
Legal
Managerial

Conclusion
Software reuse is proved to be an
efficient way to help improving software
development quality, productivity
during all these years practices.
Although it is not perfect, but is still
worthy more research effort.

References

[1] N. Nada, [Link], M. Shing, Software Reuse Technology Practices and Assessment Tool-Kit, Naval
Postgraduate School Computer Science Department.
[2] Sadahiro I, An experience of software reuse activities, software laboratories Nippon telegraph and
telephone corporation.
[3] Rubin P, The disappearance of software reuse, reuse Inc.
[4] James J, Characteristics of a flexible software factory: Organization design applied to software reuse,
Hewlett-Packard laboratories.
[5] J.M. Perry, Perspective on software reuse, GTE government systems Corporation.
[6] Will T, Software reuse myths revisited, Loral federal Systems Company.
[7] Jim W, The solution to the reuse problem, SUM micro system Inc.
[8] Ali Mili, Toward an engineering discipline of software reuse, Institute for software research.
[9] Douglas C, Why software reuse has failed and how to make it work for you, Department of electrical
and computer engineering of university of California.
[10] M. Ramachandran, Software reuse guidelines, School of Computing and Mathematical Sciences
Liverpool John Moores University.
[11] Kimberly Jordan, Software reuse term paper, George Mason University.
[12] [Link]
[13] [Link]
[14] [Link]
[15] [Link]

Software Reuse 
                             Csc532 
                          Instructor: Dr. Box
Outline 
What is software reuse 
Advantages of reuse 
What is reusable 
Types of software reuse 
Stages for reuse develo
What is software reuse? 
   Software reuse is the process of implementing or 
updating software systems using existing softwa
The advantages of reuse 
 Increase software productivity   
Shorten software development time   
Improve software system i
What is reusable? 
Application system 
 
Subsystem 
 
Component 
 
Module  
 
Object 
 
Function or Procedure
Types of software reuse 
 

Horizontal reuse 
 

Vertical reuse
Stages of reuse development 
Identify domain 
Identify and classify reusable abstractions 
Identify design/programming lan
Reusability measurement 
Generality enhances reusability by  
making the asset more widely 
applicable 
Generosity enhances
The problem in software reuse 
The principles, methods, and skills required to 
develop reusable software cannot be learned
Impediments in software reuse 
 
Economic  
Retrieval  
Expensive  
Legal  
Managerial

You might also like