Tuesday 20 November 2012

Component Based Software Engineering & Computing


 Component Based Software Engineering : 

Definition :
Component-based software engineering (CBSE) is a process that emphasizes the design and construction of computer-based systems using reusable software “components.”

       CBSE is changing the way large software systems are developed. CBSE embodies the “buy, don’t build” philosophy. So in simple words, CBSE is a process of developing software application using reusable small programs knows as components.




Engineering/Computing of Component-Based Systems:

CBSE is quiet similiar to conventional or object-oriented software engineering. The process begins when a software team establishes requirements for the system to be built using conventional requirements elicitation techniques. An architectural design is established, but rather than moving immediately into more detailed design tasks, the team examines requirements to developing the software we look for composing it by predefined software components.
 
So the team asks the following questions for each system requirement :

1.  Are commercial off-the-shelf (COTS) components available to implement the requirement?
2. Are internally developed reusable components available to implement the requirement?
3. Are the interfaces for available components compatible within the architecture of the system to be built?

  After these question answered the team attempts to modify or remove those system requirements that cannot be implemented with COTS or in-house components. If the requirement(s) cannot be changed or deleted, conventional or object-oriented software engineering methods are applied to develop those new components that must be engineered to meet the requirement(s). But for those requirements that are addressed with available components, a different set of software engineering activities commences which are analysed under Component-Based Computing.