A case study: demands on component-based development

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 on the component functionality and flexibility, but also on the development organization. The authors 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 general and mature enough. 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.

[1]  Clemens Szyperski,et al.  Component software , 1997 .

[2]  Ivica Crnkovic,et al.  New Challenges for Configuration Management , 1999, SCM.

[3]  M. Kajko-Mattsson Maintenance at ABB. II. Change execution processes (the state of practice) , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[4]  I. Sommerville,et al.  Software engineering (2nd ed.) , 1985 .

[5]  Mikio Aoyama,et al.  New Age of Software Development: How Component-Based Software Engineering Changes the Way of Software Development ? , 1998 .

[6]  Mira Kajko-Mattsson,et al.  Maintenance at ABB (I): software problem administration processes , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[7]  Khaled Jaber,et al.  Using adapters to reduce interaction complexity in reusable component-based software development , 1999, SSR '99.

[8]  Grady Booch,et al.  Essential COM , 1998 .

[9]  Ivica Crnkovic,et al.  Change Measurements in an SCM Process , 1998, SCM.

[10]  Walter F. Tichy,et al.  Rcs — a system for version control , 1985, Softw. Pract. Exp..

[11]  Ivica Crnkovic Experience with Change-Oriented SCM Tools , 1997, SCM.

[12]  Dorothy McKinney Impact of Commercial Off-The-Shelf (COTS) software on the interface between systems and software engineering , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[13]  Mira Kajko-Mattsson Maintenance at ABB (II): Change Execution Processes , 1999 .

[14]  Jan Bosch,et al.  Product-line architectures in industry: a case study , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[15]  Matthew Harold Austern,et al.  Generic programming and the STL , 1998 .