12
Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

Embed Size (px)

Citation preview

Page 1: Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

Software Reuse

Csc532 Instructor: Dr. Box Student: Guangyu Chen

Page 2: 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

Page 3: Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

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

Page 4: Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

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

Page 5: Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

What is reusable? Application system

Subsystem

Component

Module

Object

Function or Procedure

Page 6: Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

Types of software reuse

Horizontal reuse

Vertical reuse

Page 7: Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

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 assessment—assess components based

on the guidelines Reuse improvement—modify and improve

these components.

Page 8: Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

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.

Page 9: Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

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.

Page 10: Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

Impediments in software reuse

Economic Retrieval Expensive Legal Managerial

Page 11: Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

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.

Page 12: Software Reuse Csc532 Instructor: Dr. Box Student: Guangyu Chen

References [1] N. Nada, L.Luqi, 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] http://www.cs.wustl.edu/~schmidt/reuse-lessons.html [13] http://www.baz.com/kjordan/swse625/htm/tp-kj.htm [14] http://gta.georgia.gov/00/channel_modifieddate/0,2096,1070969_1209920,00.html [15] http://www.selectbs.com/products/solutions/software_reuse.htm