SlideShare a Scribd company logo
By : 
Sandeep singh 
Student, BCA v semester(Roll – 45) 
School of Computer And Systems Sciences 
Jaipur National University 
Jaipur,India 
1
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
Types of Software Reuse 
 
3 
TYPES 
OPPORTUNISTIC 
RESUSE 
INTERNAL 
REUSE 
EXTERNAL 
REUSE
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
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
 
Reuse Approaches 
6 
APPROACHES 
Design Patterns 
Component-Based 
Development 
Application 
Frameworks 
Service-Oriented 
System 
Line 
Application Product 
COST Integration 
Application 
Configurable Vertical 
Program Libraries
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.
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
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
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
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
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
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
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
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
References 
 
 http://psrcentre.org/images/extraimages/1211442.pdf 
 http://mogno.googlecode.com/svn/trunk/PhD/mappingStudy/ReusableSoftware 
/DomainEngeering/Papers/IEEE/04151749.pdf. 
 www.ijric.org/volumes/Vol1/5Vol1.pdf 
 http://esem.cs.lth.se/esem2012/idoese/pdf/164_IDoESE__AnguswamyFrakes.pdf. 
 http://arxiv.org/pdf/1210.2506 
 https://www.cqse.eu/publications/2011-on-the-extent-and-nature-of-software-reuse- 
in-open-source-java-projects.pdf. 
 http://paper.ijcsns.org/07_book/200905/20090532.pdf 
 http://homepages.dcc.ufmg.br/~figueiredo/disciplinas/papers/acm96frakes.pdf 
 http://www.techniajournal.com/attachments/article/121/Building%20Software%2 
0Reuse%20Library%20with%20Efficient.pdf. 
 www.cs.toronto.edu/pub/eric/CAiSE05.pdf 
 www.st.ewi.tudelft.nl/~arie/phds/DeJonge.pdf 
 www.inf.puc-rio.br/wer02/zip/Metamodeling_reuse(6).pdf 
 http://ijcsi.org/papers/IJCSI-9-1-2-24-29.pdf 
16
By-Sandeep Singh 
17

More Related Content

PPT
Software System Engineering - Chapter 1
PPT
Software Reuse
PPTX
Component based software engineering
PDF
An Introduction to Software Architecture
PPTX
Software process
PPTX
Web Engineering - Web Applications versus Conventional Software
PPTX
Software myths | Software Engineering Notes
PPTX
Software maintenance
Software System Engineering - Chapter 1
Software Reuse
Component based software engineering
An Introduction to Software Architecture
Software process
Web Engineering - Web Applications versus Conventional Software
Software myths | Software Engineering Notes
Software maintenance

What's hot (20)

PPTX
Software evolution and maintenance basic concepts and preliminaries
PPT
Pressman ch-22-process-and-project-metrics
PPTX
Software Development Life Cycle
PPTX
Software quality assurance
PPTX
DevOps Foundation
PPT
Software resuse
PPTX
Cost estimation using cocomo model
PPTX
Unit iii-Architecture in the lifecycle
PPTX
What is software engineering
PPTX
Software Evolution
PDF
What is Regression Testing? | Edureka
DOCX
Software engineering Questions and Answers
PPTX
Software quality assurance
PPT
Unit 2 spm
PPT
Software quality assurance lecture 1
PPT
Software Engineering (Introduction to Software Engineering)
PPTX
Software maintenance ppt
PPTX
Software development process models
PPTX
Software requirement and specification
PPTX
Software evolution and maintenance basic concepts and preliminaries
Pressman ch-22-process-and-project-metrics
Software Development Life Cycle
Software quality assurance
DevOps Foundation
Software resuse
Cost estimation using cocomo model
Unit iii-Architecture in the lifecycle
What is software engineering
Software Evolution
What is Regression Testing? | Edureka
Software engineering Questions and Answers
Software quality assurance
Unit 2 spm
Software quality assurance lecture 1
Software Engineering (Introduction to Software Engineering)
Software maintenance ppt
Software development process models
Software requirement and specification
Ad

Viewers also liked (20)

PPTX
PPTX
Ch15 software reuse
KEY
Stop Building It From Scratch: Creating Reusable eLearning Components
PDF
Designing Configurable and Customizable Applications
PDF
ReSAR Reusable Software Artifacts Repository
PDF
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...
PDF
Slides for presentation of "A reuse repository with automated synonym suppor...
PDF
Masters Thesis: A reuse repository with automated synonym support and cluster...
PDF
Window functions with SQL Server 2016
PDF
Share and Reuse: how data sharing can take your research to the next level
PPTX
Improving Support for Researchers: How Data Reuse Can Inform Data Curation
PPTX
Software Reuse: Challenges and Business Success
PPTX
Window server editions
PPTX
Repository and preservation systems
PPTX
Software engineering: design for reuse
PPT
Window server 2008
PDF
A First Attempt at Describing, Disseminating and Reusing Methodological Knowl...
PPT
Web Server Hardware and Software
PPTX
EMBEDDED WEB SERVER
PPTX
Presentation on component based software engineering(cbse)
Ch15 software reuse
Stop Building It From Scratch: Creating Reusable eLearning Components
Designing Configurable and Customizable Applications
ReSAR Reusable Software Artifacts Repository
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...
Slides for presentation of "A reuse repository with automated synonym suppor...
Masters Thesis: A reuse repository with automated synonym support and cluster...
Window functions with SQL Server 2016
Share and Reuse: how data sharing can take your research to the next level
Improving Support for Researchers: How Data Reuse Can Inform Data Curation
Software Reuse: Challenges and Business Success
Window server editions
Repository and preservation systems
Software engineering: design for reuse
Window server 2008
A First Attempt at Describing, Disseminating and Reusing Methodological Knowl...
Web Server Hardware and Software
EMBEDDED WEB SERVER
Presentation on component based software engineering(cbse)
Ad

Similar to Software component reuse repository (20)

PDF
A Methodology To Manage Victim Components Using Cbo Measure
PDF
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
PPT
Advanced Software Engineering.ppt
PPTX
KIOIO jert fill for a art and design .pptx
PPTX
Lecture - 7-10.pptx
PDF
Developing reusable software components for distributed embedded systems
PDF
An Approach to Calculate Reusability in Source Code Using Metrics
PDF
D502023439
PDF
D502023439
PDF
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
PDF
Object Oriented Software Engineering and Software Reuse
PDF
A Survey of Software Reusability
DOCX
software engineering
PDF
Elements of legacy program complexity
PDF
M046056672
PDF
L035478083
PPTX
Introduction to database m Chapter 9.pptx
PDF
Ijsea04021003
PDF
lake city institute of technology
PPTX
9 Component Based SE.pptx9 Component Based SE.pptx9 Component Based SE.pptx
A Methodology To Manage Victim Components Using Cbo Measure
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
Advanced Software Engineering.ppt
KIOIO jert fill for a art and design .pptx
Lecture - 7-10.pptx
Developing reusable software components for distributed embedded systems
An Approach to Calculate Reusability in Source Code Using Metrics
D502023439
D502023439
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
Object Oriented Software Engineering and Software Reuse
A Survey of Software Reusability
software engineering
Elements of legacy program complexity
M046056672
L035478083
Introduction to database m Chapter 9.pptx
Ijsea04021003
lake city institute of technology
9 Component Based SE.pptx9 Component Based SE.pptx9 Component Based SE.pptx

Recently uploaded (20)

PPTX
history of c programming in notes for students .pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
L1 - Introduction to python Backend.pptx
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
top salesforce developer skills in 2025.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
ai tools demonstartion for schools and inter college
PDF
Nekopoi APK 2025 free lastest update
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
How Creative Agencies Leverage Project Management Software.pdf
history of c programming in notes for students .pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
L1 - Introduction to python Backend.pptx
ManageIQ - Sprint 268 Review - Slide Deck
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
How to Choose the Right IT Partner for Your Business in Malaysia
ISO 45001 Occupational Health and Safety Management System
How to Migrate SBCGlobal Email to Yahoo Easily
Design an Analysis of Algorithms II-SECS-1021-03
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
top salesforce developer skills in 2025.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Operating system designcfffgfgggggggvggggggggg
2025 Textile ERP Trends: SAP, Odoo & Oracle
ai tools demonstartion for schools and inter college
Nekopoi APK 2025 free lastest update
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Odoo Companies in India – Driving Business Transformation.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
How Creative Agencies Leverage Project Management Software.pdf

Software component reuse repository

  • 1. By : Sandeep singh Student, BCA v semester(Roll – 45) School of Computer And Systems Sciences Jaipur National University Jaipur,India 1
  • 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
  • 3. Types of Software Reuse  3 TYPES OPPORTUNISTIC RESUSE INTERNAL REUSE EXTERNAL REUSE
  • 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. 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.  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. 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. 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. 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. 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. 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. 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. 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. 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. 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. References   http://psrcentre.org/images/extraimages/1211442.pdf  http://mogno.googlecode.com/svn/trunk/PhD/mappingStudy/ReusableSoftware /DomainEngeering/Papers/IEEE/04151749.pdf.  www.ijric.org/volumes/Vol1/5Vol1.pdf  http://esem.cs.lth.se/esem2012/idoese/pdf/164_IDoESE__AnguswamyFrakes.pdf.  http://arxiv.org/pdf/1210.2506  https://www.cqse.eu/publications/2011-on-the-extent-and-nature-of-software-reuse- in-open-source-java-projects.pdf.  http://paper.ijcsns.org/07_book/200905/20090532.pdf  http://homepages.dcc.ufmg.br/~figueiredo/disciplinas/papers/acm96frakes.pdf  http://www.techniajournal.com/attachments/article/121/Building%20Software%2 0Reuse%20Library%20with%20Efficient.pdf.  www.cs.toronto.edu/pub/eric/CAiSE05.pdf  www.st.ewi.tudelft.nl/~arie/phds/DeJonge.pdf  www.inf.puc-rio.br/wer02/zip/Metamodeling_reuse(6).pdf  http://ijcsi.org/papers/IJCSI-9-1-2-24-29.pdf 16