Component-based software - Home
we used the procedural approach

The reliability and performance are two key aspects of the quality of an industrial product. The software product, as an industrial product, must meet these requirements.

During the 1970s, the software was based on the concept of data processing procedures by implementing algorithms. The reliability and performance of these algorithms determined, largely, reliability and performance of software. However, other aspects are also important for industrial products. Among these aspects there are maintainability, production cost and, for the software, scalability. The procedural approach for software building, has permitted improving these aspects, but very limited manner.

the object approach

The emergence of object approach in the early 1990s has been a decisive move for the computer science. The structure of the software that was previously based on treatments (algorithms), structured around procedures themselfs, became built from objects structure. Objects are entities that encapsulate the data and treatments that manipulate this data. This aspect of the objects makes them robust and thus more reliable. Other aspects, such as inheritance and polymorphism, makes them more flexibile and therefore more scalable. Roughly, software has become, according this new approach, a set of objects that communicate by sending messages.

Despite its important assets, the object approach suffers from at least two major shortcomings. First, because of the high interactivity and rigid links between objects, software designed according to this approach, lack of evolving capabilities. Second, contrary to what has been advanced to the emergence of this new paradigm, they lack reusability. This lack is due to the fact that the object granularity (or his model, the class), proved too weak to be truly reusable. The reusability, is the possibility to use the same code in circumstances other than those for which it was originally designed. This lack is a big handicap because it is related to the software production cost, now, increasingly complex and expensive to produce.