SlideShare une entreprise Scribd logo
1  sur  17
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

Contenu connexe

Tendances

Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.pptJAYAPRIYAR7
 
Google app engine
Google app engineGoogle app engine
Google app engineSuraj Mehta
 
Component based software development
Component based software developmentComponent based software development
Component based software developmentEmmanuel Fuchs
 
18CSMP68 VTU Mobile Application Develeopment Lab Manual by Nithin, VVCE, Mysuru
18CSMP68 VTU Mobile Application Develeopment Lab Manual by Nithin, VVCE, Mysuru18CSMP68 VTU Mobile Application Develeopment Lab Manual by Nithin, VVCE, Mysuru
18CSMP68 VTU Mobile Application Develeopment Lab Manual by Nithin, VVCE, MysuruNithin Kumar,VVCE, Mysuru
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factorsNancyBeaulah_R
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to VirtualizationRahul Hada
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementChandan Chaurasia
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costslalithambiga kamaraj
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
 

Tendances (20)

Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.ppt
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
Component based software development
Component based software developmentComponent based software development
Component based software development
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
18CSMP68 VTU Mobile Application Develeopment Lab Manual by Nithin, VVCE, Mysuru
18CSMP68 VTU Mobile Application Develeopment Lab Manual by Nithin, VVCE, Mysuru18CSMP68 VTU Mobile Application Develeopment Lab Manual by Nithin, VVCE, Mysuru
18CSMP68 VTU Mobile Application Develeopment Lab Manual by Nithin, VVCE, Mysuru
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Green cloud computing
Green cloud computingGreen cloud computing
Green cloud computing
 
Online attendance management system
Online attendance management systemOnline attendance management system
Online attendance management system
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to Virtualization
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
 
Hierarchical models of software quality
Hierarchical models of software qualityHierarchical models of software quality
Hierarchical models of software quality
 
Software Myths
Software MythsSoftware Myths
Software Myths
 
unit testing and debugging
unit testing and debuggingunit testing and debugging
unit testing and debugging
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 

En vedette

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 ComponentsChad Udell
 
Designing Configurable and Customizable Applications
Designing Configurable and Customizable ApplicationsDesigning Configurable and Customizable Applications
Designing Configurable and Customizable ApplicationsDesign for Context
 
ReSAR Reusable Software Artifacts Repository
ReSAR Reusable Software Artifacts RepositoryReSAR Reusable Software Artifacts Repository
ReSAR Reusable Software Artifacts RepositoryPutcha 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 2016Mark 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 levelKrzysztof 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 CurationOCLC
 
Repository and preservation systems
Repository and preservation systemsRepository and preservation systems
Repository and preservation systemsJisc
 
Software engineering: design for reuse
Software engineering: design for reuseSoftware engineering: design for reuse
Software engineering: design for reuseMarco Brambilla
 
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 SERVERkavya Reddy
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Chandan Thakur
 
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 cloudShlomo Swidler
 

En vedette (20)

Software reuse
Software reuseSoftware reuse
Software reuse
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 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
 
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
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
 
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
 

Similaire à 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 Measureijseajournal
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYcscpconf
 
Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.pptRvishnupriya2
 
Lecture - 7-10.pptx
Lecture - 7-10.pptxLecture - 7-10.pptx
Lecture - 7-10.pptxFarHana74914
 
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 systemseSAT 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 MetricsIJERA Editor
 
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSFRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSacijjournal
 
A Survey of Software Reusability
A Survey of Software ReusabilityA Survey of Software Reusability
A Survey of Software ReusabilityIJERA Editor
 
Elements of legacy program complexity
Elements of legacy program complexityElements of legacy program complexity
Elements of legacy program complexityeSAT 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.pptxMohammedNouh7
 
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 selectionprj_publication
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9Ian Sommerville
 

Similaire à 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
 
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
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9
 

Dernier

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 

Dernier (20)

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 

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