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

Software reuse ppt.

  • 1.
    HI-TECH INSTITUTE OF ENGINEERINGAND TECHNOLOGY PRESENTATION ON SOFTWARE REUSE B.TECH-3rd Year DEPARTMENT OF IT
  • 2.
    INTRODUCTION • Software reuseis 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 • Softwarereuse 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 SOFTWAREREUSE • 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 MAKINGSOFTWARE AVAILABLE FOR REUSE • Increased maintenance cost. • Lack of tool support. • Lack of knowledge.
  • 11.
    BARRIERS TO MAKINGSOFTWARE AVAILABLE FOR REUSE
  • 12.
    APPROACHES THAT SUPPORTSREUSE • Architectural patterns • Design patterns • Component-based development •  Application frameworks • Legacy system wrapping • Service-oriented systems • ERP Systems.
  • 13.
    ARCHITECTURAL PATTERNS • Anarchitectural 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 • Insoftware 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 INREUSE • 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 REUSABLECOMPONENTS • 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 goodsoftware 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.
  • 18.