Characteristics of Software Reuse Strategies: A Taxonomy of Implementations Patterns (original) (raw)

Software Reuse in Practice

By software reusing we can expedite the development of a software product by re-using the components of another software product in a different behaviour. The concept of systematic software reuse is simple: the idea of building and using "software preferred parts." By building systems out of carefully designed, pre-tested components, one will save the cost of designing, writing and testing new code. The practice of reuse has not proven to be this simple however, and there are many misconceptions about how to implement and gain benefit from software reuse. This paper briefly summarizes software reuse research and discusses major research contributions

A survey on software reuse processes

IRI -2005 IEEE International Conference on Information Reuse and Integration, Conf, 2005., 2005

Software reuse processes have been under continuous attention in the software engineering and software reuse research communities during past years. Although several processes have been investigated to develop reusable software, there are not available studies that compare them. In this way, this paper presents a detailed survey on software reuse processes.

Strategies for software reuse: A principal component analysis of reuse practices

… software Engineering, 2003

This research investigates the premise that the likelihood of success of software reuse efforts may vary with the reuse strategy employed and, hence, potential reuse adopters must be able to understand reuse strategy alternatives and their implications. We use survey data collected from 71 software development groups to empirically develop a set of six dimensions that describe the practices employed in reuse programs. The study investigates the patterns in which these practices co-occur in the real world, demonstrating that the dimensions cluster into five distinct reuse strategies, each with a different potential for reuse success. The findings provide a means to classify reuse settings and assess their potential for success.

Software Reuse: Survey and Research Directions

Journal of Management Information Systems, 1998

Software reuse is the use of software resources from all stages of the software development process in new applications. Given the high cost and difficulty of developing high quality software, the idea of capitalizing on previous software investments is appealing. However, software reuse has not been as effective as expected and has not been very broadly or systematically used in industry. This paper surveys recent software reuse research using a framework that helps identify and organize the many factors that must be considered to achieve the benefits of software reuse in practice. We argue that software reuse needs to be viewed in the context of a total systems approach that addresses a broad range of technical, economic, managerial, organizational and legal issues and conclude with a summary of the major research issues in each of these areas.

Software reuse: issues and research directions

Hawaii International Conference on System Sciences, 1992

Software reuse has been considered as a means to help solve the software development crisis. This paper surveys recent work based on the broad framework of software reusability research, and suggests directions for future research. We address general, technical, and nontechnical issues of software reuse, and conclude that reuse needs to be viewed in the context of a total systems approach. We also envision a software system or reuse support system(RSS) that helps document and elucidate existing application systems so that the ideas and design decisions involved in their creation can be reused either in the context of maintenance or when building new systems.

Research directions in software reuse

Proceedings of the 1995 Symposium on Software reusability - SSR '95, 1995

Software reuse is no longer in its infancy. We are able to look back at more than 15 years of research and should use the opportunity of such a symposium to critically evaluate the past research in order to identify promising future research areas in software reuse. In this paper, we give a broader view of reuse and some of the so far less-considered areas, which we believe may support software reuse to get off the ground. We mention our ongoing research in software reuse, discussing reuse experiments in the areas of long-term software evolution and component programming. Furthermore, we indicate the critical importance of interactions among the reuse and related communities within software engineering, such as the object-oriented and the software maintenance communities.

Toward an engineering discipline of software reuse

IEEE Software, 1999

is software reuse an issue and not, for example, hardware reuse? A question as broad as this can elicit a wide range of responses. Perhaps the common denominator of all possible answers is that software assets are typically very information-rich; hence, it is difficult to characterize them, match them, and capture their relevant properties. ♦ How is software reuse different from software design? Good software design advocates designing software from reusable assets and producing software systems with the perspective that they might be reused. Software reuse deals with producing reusable assets (domain engineering) and exploiting reusable assets (application engineering), so as to make good software design a routine practice. Also, because there are quantifiable costs associated with the integration of reuse concerns, these costs have to be weighed against reuse benefits. Software reuse deals with the trade-offs involved in such cost-benefit decisions. These decisions influence both the design process and the quality of the produced software design. This article presents some of the research issues that we feel are relevant today. The list is neither exhaustive nor perfectly orthogonal, and necessarily reflects our biases. We discuss, in turn, technical aspects and then managerial aspects that we feel are worthy of research attention.

An evaluation model for software reuse processes

2011

Software reuse is a major concern in many software development companies. It is one of the main strategies used to reduce the cost of software product development. Studies show that the reuse strategy is the most significant strategy in terms of effort and quality. That it could save the half of the software development effort and increase the quality of the software product. Different ways of software reuse are proposed and discussed. In this study, an evaluation model for software reuse is proposed. The model is developed in order to consider the new methods of software reuse. That developed based on the framework of develop a reusable software components through software development processes. The model is proposed in order to present the applicable methods of software reuse and to evaluate their cost.

An Evaluation Model for Software Reuse Processes Software Engineering and Computer Systems

2011

Software reuse is a major concern in many software development companies. It is one of the main strategies used to reduce the cost of software product development. Studies show that the reuse strategy is the most significant strategy in terms of effort and quality. That it could save the half of the software development effort and increase the quality of the software product. Different ways of software reuse are proposed and discussed. In this study, an evaluation model for software reuse is proposed. The model is developed in order to consider the new methods of software reuse. That developed based on the framework of develop a reusable software components through software development processes. The model is proposed in order to present the applicable methods of software reuse and to evaluate their cost.