SOFTWARE
SOFTWARE
REUSABILITY
REUSABILITY
…
…
What is Software Reuse
What is Software Reuse
• Software reuse is the process of
implementing or updating software
systems using existing software
components.
Types of Reuse
Types of Reuse
• Horizontal Reuse
• Vertical Reuse
HORIZONTAL REUSE AND
HORIZONTAL REUSE AND
VERTICAL REUSE
VERTICAL REUSE
• Horizontal reuse to software components
used across a wide variety of applications.
• Vertical Reuse the reuse of system
functional areas, or domains, that can be
used by a family of systems with similar
functionality .
Organization and Process
Organization and Process
• Reusable components should be designed
and built in a clearly defined, open way,
with concise interface specifications,
understandable documentation, and an
eye towards future use.
CHALLENGES IN SOFTWARE
CHALLENGES IN SOFTWARE
REUSE
REUSE
• Defining an organizational structure for maintaining the
product line, including core assets and the customer
specific products with special non-core functionality
• Defining a process for producing a new member of the
product line (or upgrading an old one) from the core
assets with customer specific requirements
• Defining a process for adding functionality to the core
product line assets based on new customer
requirements
• Instituting a training program for reuse strategies in
management, design, implementation, test-all phases of
the development process.
REUSE COSTS
REUSE COSTS
• It is costly
• It involves spans organizational, technical,
and process changes, as well as the cost
of tools to support those changes, and the
cost of training people on the new tools
and changes.
REUSE PROCEDURE
REUSE PROCEDURE
• Component Evaluation
• Component Certification
• Reuse Implementation
TOOLS USED IN REUSE
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
Reuse Advantages
Reuse Advantages
• Higher quality products
• Less development time
• Higher scheduling accuracy
• Reliability

SOFTWARE REUSABILITY in software engineering.ppt

  • 1.
  • 2.
    What is SoftwareReuse What is Software Reuse • Software reuse is the process of implementing or updating software systems using existing software components.
  • 3.
    Types of Reuse Typesof Reuse • Horizontal Reuse • Vertical Reuse
  • 4.
    HORIZONTAL REUSE AND HORIZONTALREUSE AND VERTICAL REUSE VERTICAL REUSE • Horizontal reuse to software components used across a wide variety of applications. • Vertical Reuse the reuse of system functional areas, or domains, that can be used by a family of systems with similar functionality .
  • 5.
    Organization and Process Organizationand Process • Reusable components should be designed and built in a clearly defined, open way, with concise interface specifications, understandable documentation, and an eye towards future use.
  • 6.
    CHALLENGES IN SOFTWARE CHALLENGESIN SOFTWARE REUSE REUSE • Defining an organizational structure for maintaining the product line, including core assets and the customer specific products with special non-core functionality • Defining a process for producing a new member of the product line (or upgrading an old one) from the core assets with customer specific requirements • Defining a process for adding functionality to the core product line assets based on new customer requirements • Instituting a training program for reuse strategies in management, design, implementation, test-all phases of the development process.
  • 7.
    REUSE COSTS REUSE COSTS •It is costly • It involves spans organizational, technical, and process changes, as well as the cost of tools to support those changes, and the cost of training people on the new tools and changes.
  • 8.
    REUSE PROCEDURE REUSE PROCEDURE •Component Evaluation • Component Certification • Reuse Implementation
  • 9.
    TOOLS USED INREUSE 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
  • 10.
    Reuse Advantages Reuse Advantages •Higher quality products • Less development time • Higher scheduling accuracy • Reliability