Modeling multiple views of common features in software reengineering for reuse (original) (raw)
Related papers
Feature-based approach to object-oriented engineering of applications for reuse
Software: Practice and Experience, 2000
Object-oriented technology is gaining popularity among software engineers with the goal of building reusable and adaptable software. Unfortunately, however, most methods introduced so far are not domainoriented and do not address the issue of reuse directly. For these methods, software reuse is not the primary goal; it is only a by-product.
We have integrated the feature modeling of Feature-Oriented Domain Analysis (FODA) into the processes and workproducts of the Reuse-Driven Software Engineering Business (RSEB). The RSEB is a use-case driven systematic reuse process: architecture and reusable subsystems are first described by use cases and then transformed into object models that are traceable to these use cases. Variability in the RSEB is captured by structuring use case and object models using explicit variation points and variants. Traditional domain engineering steps have been distributed into the steps of the architectural and component system development methods of the RSEB. But the RSEB prescribes no explicit models of the essential features that characterize the different versions. Building on our experience in applying FODA and RSEB to the telecom domain, we have added explicit domain engineering steps and an explicit feature model to the RSEB to support domain engineering and component reuse. These additions provide an effective reuse-oriented model as a 'catalog' capability to link use cases, variation points, reusable components and configured applications.
Re-Engineering for Reuse: Integrating Reuse Techniques into the Reengineering Process
1998
In this report, we present an overview of the existing software re-engineering process and its related concepts.We also classify existing software reuse techniques and we propose how to integrate such techniques into thesoftware re-engineering process by following a component-based approach. In addition, we demonstrate how ourmethodology can be applied on a client-server legacy system.Keywords: Re-engineering, Reverse Engineering, Reuse, Components, Software Engineering.1 Introduction...
MELD/ Features: An Object-Oriented Approach to Reusable Software
1986
CUCS-226-86 This technical report consists of three related papers in the area of reusable software. Synthesis of Programming Environments from Reusable Building Blocks presents the notion of 'features' as an approach to reusable descriptions for the generation of programming environments. Composing SofMare Systems from Reusable Building Blocks presents NIELD, a declarative language based on features. and generalizes features to the description of reusable software for general applications. MELD: A Declarative Language for Writing Methods focuses on ~1ELD's capabilities for describing the behavior of software systems. Part of this research was conducted while Dr. Kaiser was a Visiting Computer Scientist at the Software Engineering Institute, Carnegie-Mellon University, Pittsburgh, PA. ·Mr. Garlan is supported in part by the United States Army, Software Technology Development Division of CECOM COM~v1JADP. Fort Monmouth, NJ and in part by ZTI-SOF of Siemens Corporation, Mu...
Domain-Driven Reuse of Software Design Models1
2020
This chapter presents an approach to software development where model driven development and software reuse facilities are combined in a natural way. The basis for all of this is a semiformal requirements language RSL. The requirements in RSL consist of use cases refined by scenarios in a simple controlled natural language and the domain vocabulary containing the domain concepts. The chapter shows how model transformations building a platform independent model (PIM) can be applied directly to the requirements specified in RSL by domain experts. Further development of the software case (PSM, code) is also supported by transformations, which in addition ensure a rich traceability within the software case. The reuse support relies on a similarity based comparison of requirements for software cases. If a similar part is found in an existing software case, a traceability link based slice of the solution can be merged into the new case. The implementation of the approach is briefly sketched.
Feature Prioritization for Analyzing and Enhancing Software Reusability
Software reuse plays an important role in the development of new software, due to its potential benefits, which include increased product quality and decreased product cost and schedule. Although software industry has been going through a tremendous development in recent decades, component reuse is still facing numerous challenges and lacking adoption by practitioners. One of the impediments preventing efficient and effective reuse is the difficulty to determine which artifacts are best suited to solve a particular problem in a given context and how easy it will be to reuse. Nevertheless, a good understanding of reusability as well as adequate and easy to use metrics for quantification of reusability are necessary to simplify and accelerate the adoption of component reuse in software development. An analysis of the various attributes from the organization, development and complexity perspective, an optimized group of properties are proposed here. This will help to define the reusability measurement factor. These factors are experimented and validated on a dataset of NASA's MDP (Metric Data Program) data repository, resulting with very promising performances.
Domain analysis for transformational reuse
Proceedings of the Fourth Working Conference on Reverse Engineering, 2000
Domain analysis is an effective technique for enabling both reuse and reverse engineering. This paper shows how domain analysis can provide a framework for cotnbining reverse engineering and forward engineering to implement transformational reuse for information system user interfaces.'
COMPARISON OF DOMAIN ANALYSIS METHODS IN SOFTWARE REUSE
Domain analysis is recommended by many in the reuse research as a main process for achieving successful reuse. Domain analysis is accomplished by reengineering techniques and domain analysis methods. Domain analysis is the process of identifying, collecting, organizing and representing the relevant information in a domain based upon the study of existing systems and their development histories, knowledge captured from domain experts and emerging technology within a domain. This paper discusses some generally used domain analysis methods. After studying many domain analysis methods some criteria has been found based on which we compared domain analysis methods. Paper discusses the domain analysis methods that share the same objectives: analyzing the domain and developing domain models. However each technique defines a particular way of understanding the domain and capturing domain information as domain models. In general the process, the product and supporting tools, can characterize a domain analysis method. At the end we summarized methods according to their use in various domains.