1 / 12

Software Reuse

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

aiko-tran
Download Presentation

Software Reuse

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. 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

  5. What is reusable? • Application system • Subsystem • Component • Module • Object • Function or Procedure

  6. Types of software reuse • Horizontal reuse • Vertical reuse

  7. 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.

  8. 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.

  9. 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.

  10. Impediments in software reuse • Economic • Retrieval • Expensive • Legal • Managerial

  11. 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.

  12. 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

More Related