Thursday, January 19, 2012

Component Based Software Engineering


This approach is based on the existence of a significant number of reusable components. The system development process focuses on integrating these components into a system rather than developing them from scratch.
fig: Reuse oriented development
The Reuse-based development is based on the systematic reuse of systems where they are integrated from existing components or COTS (Commercial-off-the-shelf) systems.  Therefore the final product is assembled using existing 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.
Advantages
1.      Minimization of cost and risk,
2.      Management of Complexity
3.      Reduce Development Time
4.      Increased Productivity
5.      Improved Quality

 Disadvantages
1.                  Development of Components
2.                  Lack of Components
3.                  Component Maintenance Costs
4.                  Reliability and Sensitivity to changes
5.            Unsatisfied Requirements- how do we trade-off analysis between the features of one   component and another?
6.                  Trust – how can a component with no available source code be trusted?

No comments:

Post a Comment