Component-based design may degrade system usability: Consequences of software reuse (original) (raw)

Improving component reuse in software development

2002

Forsell, Marko Improving Component Reuse in Software Development / Marko Forsell Jyväskylä: University of Jyväskylä, 2002, 167 pages (Jyväskylä Studies in Computing ISSN 1456-5390;16) ISBN 951-39-1217-5 Finnish summary Diss. This study concerns reuse in the software development process. The focus is in the reuse of components when creating new software. The aim is to improve current software processes to adapt them to the purposes of reuse. The specific research questions are: 1) What are the specific limitations for reuse in the current component-based software development methods? 2) How should reusable components be created and used in software development? 3) How should the components that are created be documented in order to make them reusable in other development projects? The study follows the reflective systems development approach. First, current component-based software development methods are evaluated and examined in the light of reuse process. Also, the software proces...

Reusability issues in component-based development

ACM SIGSOFT Software Engineering Notes, 2003

Component-based development (CBD) advocates the acquisition, adaptation, and integration of reusable software components to rapidly develop and deploy complex software systems with minimum engineering effort and resource cost. Software reusability is an attribute that refers to the expected reuse potential of a software component. Software reuse not only improves productivity but also has a positive impact on the quality and maintainability of software products. The paper first discusses CBD and its associated challenges, and later outlines the issues concerning component reusability and its benefits in terms of cost and time-savings. Guidelines are presented to further assist software engineers in the development of reusable software products and to extract reusable components from existing software. Quality and productivity improvement activities within organisations adopting CBD can also benefit from the adoption of these guidelines.

Challenges and strategies for software component reuse in information systems development: a review

2005

[Abstract]: The development of information systems projects has always been plagued by high incidences of failure which can be attributed to the sheer complexity of the problem at hand coupled with uncertainties brought about by the dynamic business environment and constantly evolving technology. With component-based software development (CBSD), organisations can now utilise component technology to increase the likelihood of project success.

Software component reuse in information systems development: a review of challenges and strategies

Journal of Han Chiang …, 2005

The development of information systems projects has always been plagued by high incidences of failure which can be attributed to the sheer complexity of the problem at hand coupled with uncertainties brought about by the dynamic business environment and constantly evolving technologies. With componentbased software development (CBSD), organisations can now utilise component technology to increase the likelihood of project success. This is made possible by component reuse which can be leveraged to minimise the effort required to develop applications. Component reuse needs to be organised and implemented well by the adopting organisation to ensure success. To maximise the likelihood of success, the organisation must ensure that the effort is systematically planned and addresses a wide array of technical as well as non-technical issues. More importantly, the organisation must not be fixated on the technology itself; instead adequate attention must be given to the non-technical issues which are often sidelined by project managers. This paper will briefly introduce the key concepts of CBSD and component reuse before providing a detailed discussion on the various technical and non-technical issues that need to be considered in software component reuse. The main contribution of this paper is that it provides a discussion of the issues that need to be considered by the organisation in implementing component reuse programmes. Keywords: Software reuse; component-based software development; IS project management Goh, GGG, Wong, KY & Toleman, M 2005, 'Software component reuse in information systems development: a review of challenges and strategies', Journal of Han Chiang College, vol. 3, pp. 83 -95.

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.

C.R.U.I.S.E - Component Reuse in Software Engineering

"This book is much more than just a very through compendium of reuse research. C.R.U.I.S.E actually traces the history of our field from the nascent thoughts credited to McIlroy in 1968 right up to the present. In taking the reader through this history, C.R.U.I.S.E touches on all the key phases in the evolution of reuse, from library systems, organizational issues, domain analysis, product lines, component-based engineering, to modern architectures for reuse. In each phase, the leaders in our field have poised numerous concerns and problems that remain to be solved. C.R.U.I.S.E has retained the questions as posed by the original researchers, but also adds new analysis and a current perspective. While it is impossible to cite every single source, the authors have very effectively summarized and analyzed the important works, placing them in context along with the other related works at the time." Comment from: Dr. Jeffrey S. Poulin Software Reuse Specialist Lockheed Martin Systems Integration - Owego, NY, U.S

A case study: demands on component-based development

2000

Building software systems with reusable components brings many advantages. The development becomes more efficient, the reliability of the products is enhanced, and the maintenance requirement is significantly reduced. Designing, developing and maintaining components for reuse is, however, a very complex process which places high requirements not only for the component functionality and flexibility, but also for the development organization. In this paper we discuss the different levels of component reuse, and certain aspects of component development, such as component generality and efficiency, compatibility problems, the demands on development environment, maintenance, etc. The evolution of requirements for products generates new requirements for components, if components are not enough general and mature. This dynamism determines the component life cycle where the component first reaches its stability and later degenerates in an asset that is difficult to use, difficult to adapt and maintain. When reaching this stage, the component becomes an obstacle for efficient reuse and should be replaced. Questions related to use of standard and de-facto standard components are addressed specifically. As an illustration of reuse issues, we present a successful implementation of a component-based system which is widely used for industrial process control.

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.

Structuring Software Reusability Metrics for Component-Based Software Development

2012

Abstract: The idea of reusing software components has been present in software engineering for several decades. Although the software industry developed massively 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 them there.

The architectural bases of design reuse

1991

The architecture problem for interactive systems is a hard problem. Objective, rational and well informed analysis of interactive architectures is rare. This is not all due to sloppy thinking. Much of it is due to the obstacles to progress in the area of software for interactive systems. The topic is inherently slippery, because it is hard to get a grip with either our hands or our feet. The minute we think we have a grasp of the main issues, new technologies rain down on us and wash away the islands of firm ground on which we are standing. Part of the problem has undoubtedly been a lack of appropriate standards.