Abstract :
Component-based Software Engineering (CBSE) addresses challenges and problems similar to those encountered elsewhere in software engineering. There is however one difference; CBSE specifically focuses on questions related to components and in that sense it distinguishes the process of "component development" from that of "system development with components." There is a difference in requirements and business ideas in these two cases and different approaches are necessary. Components are built to be used and reused in many applications, some possibly not yet existing, in some possibly unforeseen way. Marketing factors play an important role, as development costs must be recovered from future earnings, this being especially true for COTS. System development with components is focused on the identification of reusable entities and relations between them, beginning from the system requirements and from the availability of components already existing.