Component-based software development with component variants
SE'07 Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering
Hi-index | 0.00 |
Component-based software engineering means constructing new systems from already existing, service-providing components. Object-based software engi- neering means constructing a new system in terms of interacting, distinct units of information and services called objects. Both components and ob- jects have encapsulation properties and are accessed via well-defined inter- faces. Both components and objects are considered to improve the reuse of software and to alleviate its evolution phase. Finally, both notions are thought of being natural abstractions of real-world entities. Moreover, a real-world entity can be modelled or implemented using either notion. Their similar appearance in abstract modelling gives rise to confusion in distingui- shing between these two notions. In this paper we examine the conceptual difference between components and objects, and aim at clarifying it. Based on this, we also propose a guideline for a software engineering process that incorporates both notions and exploits components and objects at their real potential.