An investigation into tool support for the development of reusable software
نویسنده
چکیده
The demands for software systems have been increasing worldwide and advances a software productivity have been insufficient to meet these demands. Software component reuse can make an important contribution to significant gains in productivity. However, to achieve its full potential, objective and automatable reuse guidelines are needed to support the designers of reusable components. We know clearly the difficulties that are faced when trying to reuse a component that is not designed for reuse. Therefore, the emphasis of the research described here is on design for reuse rather than design with reuse. Design for reuse is a process of creating potentially reusable components. To create such reusable components we need to define the characteristics, for which a set of practical and objective reuse guidelines has been formulated (a practical step that has been taken in this project on reuse guidelines). An approach has been taken to support the process of design for reuse, based on language-oriented reusability (automating a language support for reuse) and domain-oriented reusability for which a domain analysis technique is used (automating a domain support for reuse). Domain modelling is done using generic component templates. The language chosen is Ada, and the application domain chosen is components of abstract data structures for which a classification scheme is proposed. A prototype system has been developed, the reuse assessor and improver system (RAIS), to support the process of design for reuse. The system takes an Ada component and estimates its reusability strength according to how well it satisfies the reuse guidelines for which a grading system is proposed and generates that component which is improved for reuse. The system produces assessment reports, interacts with the user, provides reusability analysis and advice, and does various structure transformations. Software reuse improvement has a goal of transforming an assessed component into a component that is improved for reuse automatically, based on language-oriented and domain-oriented reusability. This research has demonstrated that practical and objective reuse guidelines can be formulated, and these reuse guidelines are at last partially automatable.
منابع مشابه
TouchRAM: A Multitouch-Enabled Tool for Aspect-Oriented Software Design
This paper presents TouchRAM, a multitouch-enabled tool for agile software design modeling aimed at developing scalable and reusable software design models. The tool gives the designer access to a vast library of reusable design models encoding essential recurring design concerns. It exploits model interfaces and aspect-oriented model weaving techniques as defined by the Reusable Aspect Models ...
متن کاملReusable Model Transformation Components with bentō
Building high-quality transformations that can be used in real projects is complex and time-consuming. For this reason, the ability to reuse existing transformations in different, unforeseen scenarios is very valuable. However, there is scarce tool support for this task. This paper presents bentō, a tool which supports the development and execution of reusable transformation components. In bent...
متن کاملDevelopment of decision support tool for municipal solid waste management system in Iran based on life cycle assessment approach
Background and Objective: Various aspects including the environmental burdens, social and economic consequences of the waste management(WM) scenarios must be considered to come up with a comprehensive WM plan. Life Cycle Assessment (LCA) approach is a systematic method to quantify the environmental burdens of each WM scenario. Materials and Methods: This study used an LCA approach to develop a...
متن کاملAn Investigation into the Target Needs of Engineers in Selected Employment Sectors
This article aims to investigate and analyze the perceived English language needs of engineers who want to develop their job position through English Language in their workplaces such as public relations, technical and operational, engineering support of production, planning and development, financial, general accounting, and legal affairs. In today’s competitive world, the economy needs more p...
متن کاملIII. The Automatic Reorganization of Object Oriented Hierarchies A Case Study
Software components developed with an object-oriented language require frequent revisions before they become stable, reusable classes. Class evolution is a complex task, and appropriate support in the form of tools and methodologies is required to help software engineers redesign object-oriented libraries. Recently, several approaches have been proposed to restructure inheritance hierarchies, t...
متن کامل