Components vs. Objects

  • Authors:
  • Luigia Petre

  • Affiliations:
  • -

  • Venue:
  • Components vs. Objects
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.