Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Software component reuse repository


Published on

In this slide we explain about reuse of software component.

Published in: Software

Software component reuse repository

  1. 1. By : Sandeep singh Student, BCA v semester(Roll – 45) School of Computer And Systems Sciences Jaipur National University Jaipur,India 1
  2. 2. Software Reuse - Introduction   Software reuse is the process of creating software system from existing software rather then building software system from scratch. [Krueger,1992].  In most engineering disciplines, system are designed by composition ( building system out of components that have been used in other system).  Software engineering has focused on custom development of components. 2
  4. 4. Benefits Of Reuse   Increased reliability:- - Components already exercised in working system.  Reduced process risk:- - Less uncertainty in development costs.  Effective use of specialists:- - Reuse components instead of people. 4
  5. 5. Benefits Of Reuse   Standards compliance:- - Embed standards in reusable components.  Accelerated development:- - Avoid custom development and speed up delivery.  Reliability and Safety:- - Better system reliability is one of the goals of software reuse. It is argued that reusable components, because of more careful design and testing and broader and more extensive usage can be more reliable that one use equivalents. 5
  6. 6.  Reuse Approaches 6 APPROACHES Design Patterns Component-Based Development Application Frameworks Service-Oriented System Line Application Product COST Integration Application Configurable Vertical Program Libraries
  7. 7. Component Based Software Reuse   The notion of building software from reused components the same way electronic circuits are built from prefabricated ICs was first published in the NATO conference in 1968. The idea emerged from object-oriented development failure to support systematic reuse, which needed more abstract components than detailed and specific object classes. Component-based development (CBD) allows the reuse of large and highly abstract enterprise components so fewer components are needed to build the application. This reduces the assembling and integration efforts required when constructing large applications.
  8. 8. Definitions Of Components   A component should be executable code.  Component functionality should only be accessible through a consist published interface.  The interface should include an interaction standard and the components should be connectable to other components. [Allen and frest,1998]  A component is any artifact produced during systems development constructed to be reusable. [ Jacobson et al.,1997] 8
  9. 9. How To Retrieve ?   Component retrieval is in fact a form of information retrieval. Despite this fact, “dedicated” component retrieval algorithms are being developed, since software is more than an ordinary text.  Component retrieval is a complex and heuristic process.  Typically needs a well-structured repository of components. 9
  10. 10. How To Retrieve ?   Methods of retrieval 1. Algorithms based on the meta-data accompanying software components. 2. Algorithms based on the structure of the components.  Exact retrieval versus approximated retrieval 10
  11. 11. Retrieval by Meta-Data   By meta-data we mean the documentation accompanying the component.  This method relies on existence and quality of the documentation and needs some pre-processing.  How to find? 1. Using full-text search on documents and program files: No cost, but inaccurate 2. By classification of the components either automatically or manually. (depending on the cost and accuracy we need) 11
  12. 12. Retrieval by Structure   Depends on the availability of the structure in some form (source code, interface, etc)  Depends on the availability of computer language processors. 12
  13. 13. Some Other Methods   Formal component specification 1. Domain theories: algebraic model, signatures, etc 2. Interface specifications 3. Interface matching (automated theorem proving, etc)  Semantic Classification 1. Feature-based methods (What possible features can a component have?).  Deduction-Based Component Retrieval 1. Is the only method which retrieves proven matches only. 2. Suitable for the development of high-reliability or safety-critical applications, e.g. space craft control systems. 13
  14. 14. Reuse Problems   Increased maintenance costs.  Lack of tool support.  Pervasiveness of the “Not invented here” syndrome.  Need to create and maintain a components library (Component Repository).  Finding and adapting reusable components. 14
  15. 15. Summary and Conclusion   Software reuse is a crucial concern in today’s world of complex software products.  Component-based development model plays an important role in software reuse.  Component-based model is useful only when an satisfactory means of retrieval is available.  No definite answer has yet been developed for description of components in unambiguous classifiable terms.  Component retrieval is a difficult problem and more work is needed to find an efficient solution. 15
  16. 16. References    /DomainEngeering/Papers/IEEE/04151749.pdf.     in-open-source-java-projects.pdf.    0Reuse%20Library%20with%20Efficient.pdf.     16
  17. 17. By-Sandeep Singh 17