SlideShare a Scribd company logo
1 of 18
HI-TECH INSTITUTE OF
ENGINEERING AND TECHNOLOGY
PRESENTATION ON
SOFTWARE REUSE
B.TECH-3rd Year
DEPARTMENT OF IT
INTRODUCTION
• Software reuse is the process of implementing
or updating software systems using existing
software components.
• To achieve better software quality more
quickly at lower costs, software engineers are
beginning to adopt systematic reuse as a
design process.
WHAT IS SOFTWARE ?
• Anything that can be stored electronically is
software.
• Example : Microsoft word etc.
• It is generally developed by software firms for their
clients under formal business contracts.
• It generally requires some modification from time to
time to accommodate changes taking place in the
organization and the environment.
• Ethical issues (like protecting privacy) are also taken
into consideration in designing software.
SOFTWARE REUSE
• Software reuse is the use of existing software or
software knowledge to build new software for an
individual or an organization.
• Software reuse is also called as “Code Reuse”.
• Systematic software reuse is still the most
promising strategy for increasing productivity and
improving quality in the software industry.
• Example of software reuse is software library .
PURPOSE OF REUSE
• CHEAPER PRODUCTS : It includes shorter
development time ,easier maintenance .
• BETTER QUALITY PRODUCTS : Code that was
written for reuse should has better
specifications and should be thoroughly
tested.
BENEFITS OF REUSE
• It is cheaper.
• It produces less buggy code.
• It saves your time since you don’t have to
continuously reinvent the wheel.
• It also helps the developers.
• Higher quality products .
• Less development time.
TYPES OF REUSE
• Concerning motivation and driving factors ,
reuse can be :
• Opportunistic - While getting ready to begin a
project, the team realizes that there are
existing components that they can reused.
• Planned - A team strategically designs
components so that they'll be reusable in
future projects.
TYPES OF SOFTWARE REUSE
• Application System Reuse : It is concerned
with reusing an entire application inside another.
• For example : MS-Office
• Component Reuse : It is concerned with
components of one application reused in another
application.
REUSE PLANNING FACTORS
• The development schedule for the software.
• The expected software lifetime.
• The background , skills and experience of
development team.
• The execution platform of the software.
BARRIERS TO MAKING SOFTWARE
AVAILABLE FOR REUSE
• Increased maintenance cost.
• Lack of tool support.
• Lack of knowledge.
BARRIERS TO MAKING SOFTWARE
AVAILABLE FOR REUSE
APPROACHES THAT SUPPORTS REUSE
• Architectural patterns
• Design patterns
• Component-based development
•  Application frameworks
• Legacy system wrapping
• Service-oriented systems
• ERP Systems.
ARCHITECTURAL PATTERNS
• An architectural pattern is a widely recognized
and reused solution to a
recurring design problem in the field
of software architecture .
• The architectural patterns addresses various
issues in software engineering such
as computer hardware performance
limitations, high availability and minimization
of a business risks.
DESIGN PATTERNS
• In software engineering ,a design pattern is a general
reusable solution to a commonly occurring problem
within a given context in software design .
• A design pattern is a way of reusing abstract
knowledge about a problem and its solution .
• There are many types of design patterns such as :
• Algorithm strategy patterns
• Computational design patterns
• Execution patterns
TOOLS USED IN REUSE
• Component management tools such as
repositories for architectures, designs,
documentation and code must be developed
and maintained .
• Domain analysis tools and procedures for the
development and maintenance of a domain
architecture .
ISSUES WITH REUSABLE COMPONENTS
• Higher cost of developing reusable
components.
• Performance issues : Generic components
may be less space-efficient and may have
longer execution times than their specific
equivalents.
CONCLUSION
• A good software reuse process facilitates the increase
of productivity, quality and reliability and decreases
the costs and implementation time.
• By far the most important part of the reuse process is
the people.
• If the people in the organization do not understand the
concepts behind reuse and do not see the benefits,
reuse won't happen.
• Reuse processes and procedures must be incorporated
into the existing software development process.
THANK YOU

More Related Content

What's hot

Software Project Management
Software Project ManagementSoftware Project Management
Software Project ManagementRamesh Babu
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factorsNancyBeaulah_R
 
Lect4 software economics
Lect4 software economicsLect4 software economics
Lect4 software economicsmeena466141
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementChandan Chaurasia
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringHitesh Mohapatra
 
Improving software economics
Improving software economicsImproving software economics
Improving software economicsdeep sharma
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningABHISHEK KUMAR
 
VIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docxVIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docxkumari36
 
Minor project Report for "Quiz Application"
Minor project Report for "Quiz Application"Minor project Report for "Quiz Application"
Minor project Report for "Quiz Application"Harsh Verma
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineeringrishi ram khanal
 
Grasp patterns and its types
Grasp patterns and its typesGrasp patterns and its types
Grasp patterns and its typesSyed Hassan Ali
 

What's hot (20)

Virtual machine
Virtual machineVirtual machine
Virtual machine
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Lect4 software economics
Lect4 software economicsLect4 software economics
Lect4 software economics
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Improving software economics
Improving software economicsImproving software economics
Improving software economics
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
 
Virtualization in cloud computing
Virtualization in cloud computingVirtualization in cloud computing
Virtualization in cloud computing
 
VIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docxVIRTUALIZATION STRUCTURES TOOLS.docx
VIRTUALIZATION STRUCTURES TOOLS.docx
 
Minor project Report for "Quiz Application"
Minor project Report for "Quiz Application"Minor project Report for "Quiz Application"
Minor project Report for "Quiz Application"
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Code Optimization
Code OptimizationCode Optimization
Code Optimization
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Mini Project PPT
Mini Project PPTMini Project PPT
Mini Project PPT
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineering
 
What is agile model
What is agile modelWhat is agile model
What is agile model
 
Grasp patterns and its types
Grasp patterns and its typesGrasp patterns and its types
Grasp patterns and its types
 

Similar to Software reuse ppt.

Introduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxIntroduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxAbcXyz302255
 
Architecture support for component
Architecture support for component Architecture support for component
Architecture support for component Saransh Garg
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxLeahRachael
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptxMohamedElshaikh10
 
Software Engineering - Introdution.ppt
Software Engineering - Introdution.pptSoftware Engineering - Introdution.ppt
Software Engineering - Introdution.pptSasiR18
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyMohamed Shahpoup
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshsagarjsicg
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAAiman Hud
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfutubashaikh26
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.KelisKing
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSADEED AMEEN
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economicsmeena466141
 

Similar to Software reuse ppt. (20)

Introduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxIntroduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptx
 
Architecture support for component
Architecture support for component Architecture support for component
Architecture support for component
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
 
A Software Engineer
A Software EngineerA Software Engineer
A Software Engineer
 
Software Engineering - Introdution.ppt
Software Engineering - Introdution.pptSoftware Engineering - Introdution.ppt
Software Engineering - Introdution.ppt
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT Academy
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
lect1.pdf
lect1.pdflect1.pdf
lect1.pdf
 
software engineering
software engineeringsoftware engineering
software engineering
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economics
 
ppt_se.pdf
ppt_se.pdfppt_se.pdf
ppt_se.pdf
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 

Recently uploaded

JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
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
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 

Recently uploaded (20)

JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
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
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 

Software reuse ppt.

  • 1. HI-TECH INSTITUTE OF ENGINEERING AND TECHNOLOGY PRESENTATION ON SOFTWARE REUSE B.TECH-3rd Year DEPARTMENT OF IT
  • 2. INTRODUCTION • Software reuse is the process of implementing or updating software systems using existing software components. • To achieve better software quality more quickly at lower costs, software engineers are beginning to adopt systematic reuse as a design process.
  • 3. WHAT IS SOFTWARE ? • Anything that can be stored electronically is software. • Example : Microsoft word etc. • It is generally developed by software firms for their clients under formal business contracts. • It generally requires some modification from time to time to accommodate changes taking place in the organization and the environment. • Ethical issues (like protecting privacy) are also taken into consideration in designing software.
  • 4. SOFTWARE REUSE • Software reuse is the use of existing software or software knowledge to build new software for an individual or an organization. • Software reuse is also called as “Code Reuse”. • Systematic software reuse is still the most promising strategy for increasing productivity and improving quality in the software industry. • Example of software reuse is software library .
  • 5. PURPOSE OF REUSE • CHEAPER PRODUCTS : It includes shorter development time ,easier maintenance . • BETTER QUALITY PRODUCTS : Code that was written for reuse should has better specifications and should be thoroughly tested.
  • 6. BENEFITS OF REUSE • It is cheaper. • It produces less buggy code. • It saves your time since you don’t have to continuously reinvent the wheel. • It also helps the developers. • Higher quality products . • Less development time.
  • 7. TYPES OF REUSE • Concerning motivation and driving factors , reuse can be : • Opportunistic - While getting ready to begin a project, the team realizes that there are existing components that they can reused. • Planned - A team strategically designs components so that they'll be reusable in future projects.
  • 8. TYPES OF SOFTWARE REUSE • Application System Reuse : It is concerned with reusing an entire application inside another. • For example : MS-Office • Component Reuse : It is concerned with components of one application reused in another application.
  • 9. REUSE PLANNING FACTORS • The development schedule for the software. • The expected software lifetime. • The background , skills and experience of development team. • The execution platform of the software.
  • 10. BARRIERS TO MAKING SOFTWARE AVAILABLE FOR REUSE • Increased maintenance cost. • Lack of tool support. • Lack of knowledge.
  • 11. BARRIERS TO MAKING SOFTWARE AVAILABLE FOR REUSE
  • 12. APPROACHES THAT SUPPORTS REUSE • Architectural patterns • Design patterns • Component-based development •  Application frameworks • Legacy system wrapping • Service-oriented systems • ERP Systems.
  • 13. ARCHITECTURAL PATTERNS • An architectural pattern is a widely recognized and reused solution to a recurring design problem in the field of software architecture . • The architectural patterns addresses various issues in software engineering such as computer hardware performance limitations, high availability and minimization of a business risks.
  • 14. DESIGN PATTERNS • In software engineering ,a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design . • A design pattern is a way of reusing abstract knowledge about a problem and its solution . • There are many types of design patterns such as : • Algorithm strategy patterns • Computational design patterns • Execution patterns
  • 15. TOOLS USED IN REUSE • Component management tools such as repositories for architectures, designs, documentation and code must be developed and maintained . • Domain analysis tools and procedures for the development and maintenance of a domain architecture .
  • 16. ISSUES WITH REUSABLE COMPONENTS • Higher cost of developing reusable components. • Performance issues : Generic components may be less space-efficient and may have longer execution times than their specific equivalents.
  • 17. CONCLUSION • A good software reuse process facilitates the increase of productivity, quality and reliability and decreases the costs and implementation time. • By far the most important part of the reuse process is the people. • If the people in the organization do not understand the concepts behind reuse and do not see the benefits, reuse won't happen. • Reuse processes and procedures must be incorporated into the existing software development process.