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

What's hot

Software project management Improving Team Effectiveness
Software project management Improving Team EffectivenessSoftware project management Improving Team Effectiveness
Software project management Improving Team Effectiveness
REHMAT ULLAH
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
software-engineering-book
 
Software design
Software designSoftware design
Software design
Benazir Fathima
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
Parminder Singh
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
farazimlak
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
Software estimation
Software estimationSoftware estimation
Software estimationMd Shakir
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
Aman Adhikari
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
Rupesh Vaishnav
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
REHMAT ULLAH
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
Fáber D. Giraldo
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Charotar University Of Science And Technology,Gujrat
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
Muhammad Asim
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structures
Nur Islam
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
Bilal Shah
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
Damian T. Gordon
 
Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2
Sudarshan Dhondaley
 
Software Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project ManagementSoftware Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project Management
Ahsan Rahim
 
Software analysis and it's principles
Software analysis and it's principlesSoftware analysis and it's principles
Software analysis and it's principles
Ghulam Abbas
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Sudarshan Dhondaley
 

What's hot (20)

Software project management Improving Team Effectiveness
Software project management Improving Team EffectivenessSoftware project management Improving Team Effectiveness
Software project management Improving Team Effectiveness
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
 
Software design
Software designSoftware design
Software design
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software estimation
Software estimationSoftware estimation
Software estimation
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structures
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
 
Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2
 
Software Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project ManagementSoftware Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project Management
 
Software analysis and it's principles
Software analysis and it's principlesSoftware analysis and it's principles
Software analysis and it's principles
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 

Viewers also liked

Software reuse
Software reuseSoftware reuse
Stop Building It From Scratch: Creating Reusable eLearning Components
Stop Building It From Scratch: Creating Reusable eLearning ComponentsStop Building It From Scratch: Creating Reusable eLearning Components
Stop Building It From Scratch: Creating Reusable eLearning Components
Chad Udell
 
Designing Configurable and Customizable Applications
Designing Configurable and Customizable ApplicationsDesigning Configurable and Customizable Applications
Designing Configurable and Customizable Applications
Design for Context
 
ReSAR Reusable Software Artifacts Repository
ReSAR Reusable Software Artifacts RepositoryReSAR Reusable Software Artifacts Repository
ReSAR Reusable Software Artifacts Repository
Putcha Narasimham
 
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...Allegato2 reuse of a repository of conceptual schemas in a large scale projec...
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...Riccardo Grosso
 
Slides for presentation of "A reuse repository with automated synonym suppor...
Slides for presentation of  "A reuse repository with automated synonym suppor...Slides for presentation of  "A reuse repository with automated synonym suppor...
Slides for presentation of "A reuse repository with automated synonym suppor...
Laust Rud Jacobsen
 
Masters Thesis: A reuse repository with automated synonym support and cluster...
Masters Thesis: A reuse repository with automated synonym support and cluster...Masters Thesis: A reuse repository with automated synonym support and cluster...
Masters Thesis: A reuse repository with automated synonym support and cluster...
Laust Rud Jacobsen
 
Window functions with SQL Server 2016
Window functions with SQL Server 2016Window functions with SQL Server 2016
Window functions with SQL Server 2016
Mark Tabladillo
 
Share and Reuse: how data sharing can take your research to the next level
Share and Reuse: how data sharing can take your research to the next levelShare and Reuse: how data sharing can take your research to the next level
Share and Reuse: how data sharing can take your research to the next level
Krzysztof Gorgolewski
 
Improving Support for Researchers: How Data Reuse Can Inform Data Curation
Improving Support for Researchers: How Data Reuse Can Inform Data CurationImproving Support for Researchers: How Data Reuse Can Inform Data Curation
Improving Support for Researchers: How Data Reuse Can Inform Data Curation
OCLC
 
Software Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessSoftware Reuse: Challenges and Business Success
Software Reuse: Challenges and Business Success
University of Zurich
 
Repository and preservation systems
Repository and preservation systemsRepository and preservation systems
Repository and preservation systems
Jisc
 
Software engineering: design for reuse
Software engineering: design for reuseSoftware engineering: design for reuse
Software engineering: design for reuseMarco Brambilla
 
Window server 2008
Window server 2008Window server 2008
Window server 2008
IGZ Software house
 
A First Attempt at Describing, Disseminating and Reusing Methodological Knowl...
A First Attempt at Describing, Disseminating and Reusing Methodological Knowl...A First Attempt at Describing, Disseminating and Reusing Methodological Knowl...
A First Attempt at Describing, Disseminating and Reusing Methodological Knowl...
ariadnenetwork
 
Web Server Hardware and Software
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Softwarewebhostingguy
 
EMBEDDED WEB SERVER
EMBEDDED WEB SERVEREMBEDDED WEB SERVER
EMBEDDED WEB SERVER
kavya Reddy
 
How I learned to stop worrying and love the cloud
How I learned to stop worrying and love the cloudHow I learned to stop worrying and love the cloud
How I learned to stop worrying and love the cloud
Shlomo Swidler
 

Viewers also liked (20)

Software reuse
Software reuseSoftware reuse
Software reuse
 
Stop Building It From Scratch: Creating Reusable eLearning Components
Stop Building It From Scratch: Creating Reusable eLearning ComponentsStop Building It From Scratch: Creating Reusable eLearning Components
Stop Building It From Scratch: Creating Reusable eLearning Components
 
Designing Configurable and Customizable Applications
Designing Configurable and Customizable ApplicationsDesigning Configurable and Customizable Applications
Designing Configurable and Customizable Applications
 
ReSAR Reusable Software Artifacts Repository
ReSAR Reusable Software Artifacts RepositoryReSAR Reusable Software Artifacts Repository
ReSAR Reusable Software Artifacts Repository
 
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...Allegato2 reuse of a repository of conceptual schemas in a large scale projec...
Allegato2 reuse of a repository of conceptual schemas in a large scale projec...
 
Slides for presentation of "A reuse repository with automated synonym suppor...
Slides for presentation of  "A reuse repository with automated synonym suppor...Slides for presentation of  "A reuse repository with automated synonym suppor...
Slides for presentation of "A reuse repository with automated synonym suppor...
 
Masters Thesis: A reuse repository with automated synonym support and cluster...
Masters Thesis: A reuse repository with automated synonym support and cluster...Masters Thesis: A reuse repository with automated synonym support and cluster...
Masters Thesis: A reuse repository with automated synonym support and cluster...
 
Window functions with SQL Server 2016
Window functions with SQL Server 2016Window functions with SQL Server 2016
Window functions with SQL Server 2016
 
Share and Reuse: how data sharing can take your research to the next level
Share and Reuse: how data sharing can take your research to the next levelShare and Reuse: how data sharing can take your research to the next level
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
Improving Support for Researchers: How Data Reuse Can Inform Data CurationImproving Support for Researchers: How Data Reuse Can Inform Data Curation
Improving Support for Researchers: How Data Reuse Can Inform Data Curation
 
Software Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessSoftware Reuse: Challenges and Business Success
Software Reuse: Challenges and Business Success
 
Window server editions
Window server editionsWindow server editions
Window server editions
 
Repository and preservation systems
Repository and preservation systemsRepository and preservation systems
Repository and preservation systems
 
Software engineering: design for reuse
Software engineering: design for reuseSoftware engineering: design for reuse
Software engineering: design for reuse
 
Window server 2008
Window server 2008Window server 2008
Window server 2008
 
A First Attempt at Describing, Disseminating and Reusing Methodological Knowl...
A First Attempt at Describing, Disseminating and Reusing Methodological Knowl...A First Attempt at Describing, Disseminating and Reusing Methodological Knowl...
A First Attempt at Describing, Disseminating and Reusing Methodological Knowl...
 
Web Server Hardware and Software
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Software
 
EMBEDDED WEB SERVER
EMBEDDED WEB SERVEREMBEDDED WEB SERVER
EMBEDDED WEB SERVER
 
How I learned to stop worrying and love the cloud
How I learned to stop worrying and love the cloudHow I learned to stop worrying and love the cloud
How I learned to stop worrying and love the cloud
 
Web Servers (ppt)
Web Servers (ppt)Web Servers (ppt)
Web Servers (ppt)
 

Similar to Software component reuse repository

A Methodology To Manage Victim Components Using Cbo Measure
A Methodology To Manage Victim Components Using Cbo MeasureA Methodology To Manage Victim Components Using Cbo Measure
A Methodology To Manage Victim Components Using Cbo Measure
ijseajournal
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
cscpconf
 
Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.ppt
Rvishnupriya2
 
Lecture - 7-10.pptx
Lecture - 7-10.pptxLecture - 7-10.pptx
Lecture - 7-10.pptx
FarHana74914
 
Developing reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systemsDeveloping reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systems
eSAT Publishing House
 
An Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using MetricsAn Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using Metrics
IJERA Editor
 
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSFRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
acijjournal
 
Object Oriented Software Engineering and Software Reuse
Object Oriented Software Engineering and  Software ReuseObject Oriented Software Engineering and  Software Reuse
Object Oriented Software Engineering and Software Reuse
drmkjayanthikannan
 
A Survey of Software Reusability
A Survey of Software ReusabilityA Survey of Software Reusability
A Survey of Software Reusability
IJERA Editor
 
software engineering
software engineering software engineering
software engineering
bharati vidhyapeeth uni.-pune
 
Elements of legacy program complexity
Elements of legacy program complexityElements of legacy program complexity
Elements of legacy program complexity
eSAT Journals
 
Introduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptxIntroduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptx
MohammedNouh7
 
Ijsea04021003
Ijsea04021003Ijsea04021003
Ijsea04021003
Editor IJCATR
 
lake city institute of technology
lake city institute of technology lake city institute of technology
lake city institute of technology
RaviKalola786
 
02 software component selection
02 software component selection02 software component selection
02 software component selection
prj_publication
 
Ch16
Ch16Ch16

Similar to Software component reuse repository (20)

A Methodology To Manage Victim Components Using Cbo Measure
A Methodology To Manage Victim Components Using Cbo MeasureA Methodology To Manage Victim Components Using Cbo Measure
A Methodology To Manage Victim Components Using Cbo Measure
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
 
Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.ppt
 
Lecture - 7-10.pptx
Lecture - 7-10.pptxLecture - 7-10.pptx
Lecture - 7-10.pptx
 
Developing reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systemsDeveloping reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systems
 
An Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using MetricsAn Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using Metrics
 
D502023439
D502023439D502023439
D502023439
 
D502023439
D502023439D502023439
D502023439
 
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSFRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
 
Object Oriented Software Engineering and Software Reuse
Object Oriented Software Engineering and  Software ReuseObject Oriented Software Engineering and  Software Reuse
Object Oriented Software Engineering and Software Reuse
 
A Survey of Software Reusability
A Survey of Software ReusabilityA Survey of Software Reusability
A Survey of Software Reusability
 
software engineering
software engineering software engineering
software engineering
 
Elements of legacy program complexity
Elements of legacy program complexityElements of legacy program complexity
Elements of legacy program complexity
 
M046056672
M046056672M046056672
M046056672
 
L035478083
L035478083L035478083
L035478083
 
Introduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptxIntroduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptx
 
Ijsea04021003
Ijsea04021003Ijsea04021003
Ijsea04021003
 
lake city institute of technology
lake city institute of technology lake city institute of technology
lake city institute of technology
 
02 software component selection
02 software component selection02 software component selection
02 software component selection
 
Ch16
Ch16Ch16
Ch16
 

Recently uploaded

Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 

Recently uploaded (20)

Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.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