Virtually all large computer-based systems are now distributed systems. Information processing is distributed over several computers rather than confined to a single machine. Distributed software engineering is therefore very important for enterprise computing systems.
Component-based software engineering (CBSE) is an approach to software development that relies on the reuse of entities called ‘software components’. It emerged from the failure of object-oriented development to support effective reuse. Single object classes are too detailed and specific. Components are more abstract than object classes and can be considered to be stand-alone service providers. They can exist as stand-alone entities.
In most engineering disciplines, systems are designed by composing existing components that have been used in other systems. Software engineering has been more focused on original development but it is now recognized that to achieve better software, more quickly and at lower cost, we need a design process that is based on systematic software reuse.
A database is a collection of related data and has implicit properties. A database has a source from which data is derived, some degree of interaction with events in the real world, and users who re interested in its contents. In order for a database to be accurate and reliable at all times, it must be a true reflection of the miniworld it represents; therefore, changes must be reflected in the database as soon as possible.