0% found this document useful (0 votes)
40 views

Software Reusability: Ajayinder Singh

The document discusses software reusability and defines horizontal and vertical reuse. It notes that horizontal reuse involves using software components across many applications, while vertical reuse uses functional areas within a family of similar systems. The document also outlines challenges in software reuse such as defining organizational structures and processes for maintaining reusable components. While reuse can reduce costs through higher quality and shorter development times, it also involves significant organizational and process changes that require investment in tools and training.

Uploaded by

Farhan Shariff
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

Software Reusability: Ajayinder Singh

The document discusses software reusability and defines horizontal and vertical reuse. It notes that horizontal reuse involves using software components across many applications, while vertical reuse uses functional areas within a family of similar systems. The document also outlines challenges in software reuse such as defining organizational structures and processes for maintaining reusable components. While reuse can reduce costs through higher quality and shorter development times, it also involves significant organizational and process changes that require investment in tools and training.

Uploaded by

Farhan Shariff
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 10

SOFTWARE REUSABILITY

AJAYINDER SINGH
CSC - 532

What is Software Reuse


Software reuse is the process of implementing or updating software systems using existing software components.

Types of Reuse
Horizontal Reuse Vertical Reuse

HORIZONTAL REUSE AND 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


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 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
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
Component Evaluation Component Certification Reuse Implementation

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
Higher quality products Less development time Higher scheduling accuracy Reliability

You might also like