A Software Process Model for Component-Based Development
https://doi.org/10.3923/ITJ.2004.176.183…
8 pages
1 file
Sign up for access to the world's latest research
Abstract
In the present study software life cycle and reusability issues that arise during component-based software development are discussed. The first part concentrates on mechanisms to achieve software reusability, such as composition and inheritance, it also outlines the main reasons why software is not extensively reused and examines the difficulties associated with software reusability. In the second part, the main issues concerning a seamless software life cycle model are considered, its purpose was to present a software life cycle model that takes component-based software development into account. Finally, the article covers other general aspects that form a more complete assessment of the whole software process; for instance, the most frequently used abstraction mechanisms and an estimate of the time and effort spent on each phase of the described life cycle model.
Related papers
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
Khan,H.,&Hassina. S.,&Ilyas.Ahsen.(2020)-Component Based Software Development.Academia.edu, 2020
Software industries are affected most by quality of product, development cost and time-to-market. Many new models are introduced to deliver a quality product within given time. CBSD is one of them which has gain so much popularity because of its characteristics like least coding is involved, components written in different languages can be integrated with interfaces to acquire required product, testing and maintenance also becomes so easy. CBSD suggested assembling software frameworks utilizing existing reusable segments, rather than composing without any preparation. The primary target of component-based software development is to composes as soon as and recycle any quantity of period with not any or slight change. In this paper we have discussed CBSD, how it is useful, how components are integrated its life cycle, extended models and also the risks and challenges. Keywords-Component-based software development (CBSD), Component-based software Engineering (CBSE), COTS (commercial off-the-shelf), quality-of-service (QOS).
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.
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.
Navneet Kaur & Ashima Singh , 2013
The software development paradigm is moving from traditional software development , which is based on building software systems from scratch, to Component-Based Software Development (CBSD), which is based on using the reusable components as building blocks for software development. The focus of this new approach is on development of new systems by selecting and assembling a set of existing components within an appropriate software architecture. This approach provides various advantages like reduced effort ,time and cost during software development , improved software system maintainability and flexibility by allowing new components to replace old ones and enhanced system quality by allowing components to be developed by those who are specialized in the application area and systems to be built by software engineers who are specialized in component-based software development. Although CBSD has proven its usefulness in the field of software engineering but it still consists of a number of issues or factors that affect many aspec ts of CBSD like integration and testing effort and affect the produced software cost, maintainability,etc .In this paper some issues and the techniques to resolve those issues have been discussed . Thus a technique has been proposed for Component Based Software Development Organizations(CBSDO) to be used during the development of the software system by using CBSD approach.
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.
Journal of Computing and Information Technology, 2005
In recent years component-based development has in resent years become an established approach. Component-based Software Engineering (CBSE) that deals with the entire lifecycle of component-based products has been focused on technologies related to design and implementation of software components and systems built from software components. The experience has shown that pure technologies alone are not enough. A CBSE approach requires certain changes in development and life cycle processes. However very few CBSE works, either research or practical, have addressed these topics. This paper describes principle differences of component-based and noncomponent based processes. Also we an overview of a case study from a company that applies component-based approach.
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.
It was noticed that, most software systems are not new but are variants of systems that had been already developed. Hence, a new systems may be developed partially if not completely, from the pre-existing systems by reusing it. This brings the idea of reusability and gave the birth of a noble concept of Component Based Software Development, beyond object oriented development paradigm. Component Based Software Development aims to construct complex software systems by means of integrating reusable software components. This approach promises to alleviate the software crisis at great extents. The objective of this paper is to gain attention towards this new component based software development paradigm and to highlight the benefits and impact of the approach for making it a successful software development approach to the concerned community and industry.
International Journal of Computer Applications, 2010
Traditional software estimation models are directed towards large monolithic software development projects. Contemporary software development practices require a new approach to software cost estimation. Contemporary development practices characterize a software application as interacting, independent components. Component-based development offers many potential benefits such as a greater reuse. Component based software development approach is based on the idea to develop software systems by selecting appropriate off-the shelf components and then to assemble them with a welldefined software architecture. Software community faces a major challenge that is raised by fast growing demand for rapid and cost-effective development and maintenance of large scale and complex software systems. To overcome the challenge, the new trend is to adopt component based software engineering (CBSE).The key difference between CBSE and traditional software engineering is that CBSE views a software system as a set of off-the-shelf components integrated within appropriate software architecture. CBSE promotes large-scale reuse, as it focuses on building software on building software systems by assembling off-the-shelf components rather than implementing the entire system from scratch. CBSE also emphasis on selection and creation of software architecture that allow systems to achieve their quality requirements .As a result, CBSE has introduced fundamental changes in software development and maintenance.