Re-Engineering for Reuse: Integrating Reuse Techniques into the Reengineering Process (original) (raw)

Creating Reusable Software Component from Object-Oriented Legacy System through Reverse Engineering

Journal of Object Technology, 2009

Due to the constant change in technology, lack of standardization, difficulties of changes and absence of distributed architecture, the business value of legacy systems have become weaker. We cannot undermine the importance of legacy systems because some of their functions are too valuable to be discarded and too expensive to reproduce. The software industry and researchers have recently paid more

Software engineering with reusable components

1997

Software is rarely built completely from scratch. To a great extent, existing software documents source code, design documents, etc. are copied and adapted to t new requirements. Yet we are far from the goal of making reuse the standard approach to software development.

Orion-re: A component-based software reengineering environment

Proceedings of the …, 2003

Software reuse is the process of implementing or updating software systems using existing software assets, resulting in a software quality increase, productivity and reducing time to market. One way to achieve reuse is through software reengineering. This papers presents Orion-RE, a Component-Based Software Reengineering Environment that uses software reengineering and component-based development techniques to rebuilt legacy systems, reusing their available documentation and knowledge embedded in the code. Orion-RE integrates several tools: a software transformation system, modeling/development tools, a software artifacts repository, and a middleware platform. A software process model drives the environment usage through the reverse engineering, to recover the system design, and forward engineering, where the system is rebuilt using modern technologies, such as design patterns, frameworks, CBD principles and middleware.

Towards reuse reengineering of old software

Proceedings Fourth International Conference on Software Engineering and Knowledge Engineering, 1992

With reference to the setting up of reuse reengineering processes this paper describes the high level organizational paradigm adopted in the reuse reengineering project RE2. In particular the paper outlines: ( i ) the k e y role of reverse engineering in a reuse reengineering process: (ii) the need to &fine a module 'Template' in order to implement reusable modules in languages which do not have an ad hoc comtruct. Finally, with reference to TurboPmcal the paper describes the templa& adopted in RE2.

Component Reuse Through Reverse Engineering and Semantic Interface Analysis

1995

Software reuse covers the whole process of identification, representation, retrieval, adaptation and integration of reusable software components. The paper discusses the Module Integration and Adaptation Tool for Ada Components (MIATAC) approach. Building a tool to identify reusable components and effectively generate formal specifications for reusable components will make the MIATAC a more effective approach to software reuse. The Maintainer's Assistant (MA) is a reverse engineering tool using formal methods. The integration of these two tools, MA-MIATAC, will offer a new approach to components reuse

Approaches and Challenges of Software Reusability: A Review of Research Literature

IRJET, 2023

The article is discussing the practice of software reuse, which involves building new software applications and systems from pre-existing software components. This approach has become increasingly important in recent times as it can improve the quality and productivity of software development by providing support to software engineers throughout various phases of software engineering. The article outlines three main approaches to software reuse: component-based software reuse, domain engineering and software product lines, and architecture-based software reuse. Component-based software reuse involves developing software components that can be reused across different software applications or systems, Domain engineering and software product lines involve identifying and documenting the commonalities and variabilities of a set of related software systems, and using this information to develop reusable components. Architecture-based software reuse involves creating a software architecture that can be reused across multiple software applications or systems. Despite the potential benefits of software reuse, there are also challenges that can affect the development process. These challenges include issues related to finding, selecting, and adapting existing software components, as well as organizational and cultural challenges that can make it difficult to implement software reuse practices effectively.

A Component-Based Framework for Software Reusability

Component-based development allows us to develop and integrate product components which facilitate software reusability, high quality and simplification for testing. Component-Based Software Engineering makes use of approaches which are based on architecture definition languages, object oriented design and software architecture. These strategies assist in the development of both domain-specific and generic software products. Reusability approach speeds up software development by using already developed components, thus software development cost and time is substantially reduced. I this paper, we present a Component-Based Software Engineering framework for software reusability

Conventional Program to Component-Based Software: A Critical Survey on Software Reuse

International Journal of Hybrid Information Technology, 2017

Component-Based Software Engineering is an elite form of software engineering that offers the feature of reusability. Reuse of software artefacts and the process of reusability make CBSE a specialized paradigm of software development. CBSE stands on the philosophy of "the buy, don't build". The basic idea of CBSE is to reuse pre-constructed and available software constructs rather than developing them from the beginning. In this work we have performed a deep literature survey and a comparative analysis on the basis of reusability techniques offered by eminent practitioners considering three categories of development paradigms; conventional, object-oriented and componentbased software. Literature review is done on three basic criteria: measures and metrics used, key finding of every paper and factors affecting the property of reusability.

1. An Introduction and History of Software Architectures, Components, and Reuse

Software components and architectures are gaining considerable support as the way to develop object-oriented systems and business applications. Current developments in component-based software reuse is taking place in the context of some thirty years of history. It is as well to rehearse that history, as we do in this chapter, and draw lessons from it, lest we repeat the errors of the past.

An introduction and history of software architectures, components, and reuse

Software Architectures: Advances and …, 1999

Software components and architectures are gaining considerable support as the way to develop object-oriented systems and business applications. Current developments in component-based software reuse is taking place in the context of some thirty years of history. It is as well to rehearse that history, as we do in this chapter, and draw lessons from it, lest we repeat the errors of the past.