1998•Unpublished venueRequires access

Object-oriented design methodology to facilitate reuse

Steven A. Demurjian, Margaretha W. Price

Open publisher page 1 citations

Abstract

The primary goal of developing reusable software is to reduce the time and effort of the development and maintenance of other similar systems. The object-oriented (OO) paradigm assists us in creating reusable software because of its mechanisms to encapsulate related data and functions, to hide private information, and to easily extend existing program units. However, programming using an OO language does not automatically produce reusable software. Further, popular OO design methodologies do not include techniques or guidelines for constructing reusable systems. Our research focuses on developing a framework to analyze the reusability of OO designs and software, which can be applied iteratively at early and all stages of the design and development process. The framework can be incorporated into a design/development environment, so that portions of the analysis can be automated and reusability improvements can be part of business as usual for an organization. The essential components of our approach are two reuse-specific and subjective characterizations of OO classes and hierarchies, and a set of metrics, which objectively measures the dependencies among design components based on those reuse-specific characterizations. One benefit of our approach is that design portions, which are expected to be reused, are clearly identified and will be able to be reused as is. This is because non-reusable dependencies are pointed out and guidelines for (re)moving these non-reusable dependencies are provided. Another benefit is, the reusable portions will contain many reusable dependencies; this is good for reuse because they represent valuable design knowledge. We also demonstrate how this technique can be used with any OO design methodologies to guide designers in producing reusable subsystems.

About this research paper

What this paper is about

The primary goal of developing reusable software is to reduce the time and effort of the development and maintenance of other similar systems. The object-oriented (OO) paradigm assists us in creating reusable software because of its mechanisms to encapsulate related data and functions, to hide private information, and to easily extend existing program units. However, programming using an OO language does not automatically produce reusable software. Further, popular OO design methodologies do not include techniques or guidelines for constructing reusable systems. Our research focuses on developing a framework to analyze the reusability of OO designs and software, which can be applied iteratively at early and all stages of the design and development process. The framework can be incorporated into a design/development environment, so that portions of the analysis can be automated and reusability improvements can be part of business as usual for an organization. The essential components of our approach are two reuse-specific and subjective characterizations of OO classes and hierarchies, and a set of metrics, which objectively measures the dependencies among design components based on those reuse-specific characterizations. One benefit of our approach is that design portions, which are expected to be reused, are clearly identified and will be able to be reused as is. This is because non-reusable dependencies are pointed out and guidelines for (re)moving these non-reusable dependencies are provided. Another benefit is, the reusable portions will contain many reusable dependencies; this is good for reuse because they represent valuable design knowledge. We also demonstrate how this technique can be used with any OO design methodologies to guide designers in producing reusable subsystems.

Why it matters

OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

The primary goal of developing reusable software is to reduce the time and effort of the development and maintenance of other similar systems. The object-oriented (OO) paradigm assists us in creating reusable software because of its mechanisms to encapsulate related data and functions, to hide private information, and to easily extend existing program units. However, programming using an OO language does not automatically produce reusable software. Further, popular OO design methodologies do not include techniques or guidelines for constructing reusable systems. Our research focuses on developing a framework to analyze the reusability of OO designs and software, which can be applied iteratively at early and all stages of the design and development process. The framework can be incorporated into a design/development environment, so that portions of the analysis can be automated and reusability improvements can be part of business as usual for an organization. The essential components of our approach are two reuse-specific and subjective characterizations of OO classes and hierarchies, and a set of metrics, which objectively measures the dependencies among design components based on those reuse-specific characterizations. One benefit of our approach is that design portions, which are expected to be reused, are clearly identified and will be able to be reused as is. This is because non-reusable dependencies are pointed out and guidelines for (re)moving these non-reusable dependencies are provided. Another benefit is, the reusable portions will contain many reusable dependencies; this is good for reuse because they represent valuable design knowledge. We also demonstrate how this technique can be used with any OO design methodologies to guide designers in producing reusable subsystems.

Key concepts: Reusability, Computer science, Reuse, Software engineering, Object-oriented programming, Software development, Aspect-oriented programming, Object-oriented design

Related papers

Back to paper searchBrowse research topicsOriginal source
Object-oriented design methodology to facilitate reuse — Research Paper | ScholarLens