Component-based software engineering

In applied computer science, the Component-based development ( engl.: - CBD or Component Based Software Engineering - Component Based Development CBSE ) is a paradigm developed from earlier approaches. Basis of this concept are software components designed to improve the reusability of software artifacts.

About the function or procedure in a procedural programming, the object in the object-oriented programming and CORBA Distributed Object Computing the object up to the component in the component -based programming, the key elements are becoming more complex and more powerful. Object-oriented programming provides the basis of the component -based programming, where

The main idea of component-based development is the subdivision of applications into reusable components to be programmed as little code re- must. Over time, can arise as a "Component Marketplace " are compiled out of the applications according to the modular principle. Additional components must be developed only for functionality, for which there is currently no implementation.

Benefits are in addition to saving time in the development of an increased quality of the components by a large number of users and various application scenarios that will automatically serve as test scenarios. In a software system assumptions are generally implies a context in which the system works. The CBSE requires that all these assumptions are explicitly defined so that the system in different contexts can be reused ( by third parties).

In practice, different component models such as CORBA, DCOM, CCA, JavaBeans, a separation of implementation and interface is required, but which represents only a syntactic context specification. The term of the contract, however, calls for an explicit context specification that goes beyond the purely syntactic specification.

The semantic context description, for example, by the specification of legal sequences of method call of a component, provided by the theory, have paved the way in the general practice but not yet found. In practice, the concept of software component is often restricted to stateless services for this reason, because of this, such a semantic specification technically not strictly necessary (see Service Oriented Architecture).

199068
de