CBSE notes
NOTES ON COMPONENT-BASE SOFTWARE ENGINEERING
SOFTWARE COMPONENT is
A CONTAINER with:
- Hidden inner
- Public outer interface
- Stating all dependencies explicitly
Component-Based System
follows divide-and-conquer feature:
- a major relationship between the components should be tree-shaped or reducible (hierarchically organized)
- entire system can be reduced to one abstract node
2 Types of component models
BLACKBOX: modular decompositionGRAYBOX: Separation of concerns
The component system:
the technique to produce a component-based system
- Component Model (description of components)
- Composition Technique (composition of components)
- Composition Language
| System | Language | Bsp. |
|---|---|---|
| Software Composition Systems | Composition Language | Invasive Composistion. Piccola Bloo |
| Aspect Systems | Aspect Separation Crosscutting | Aspect/JAOM |
| View Systems | Composition Operators | Composition Filters. Hyperspaces |
| Architecture Systems | Architecture as Aspect Connectors | EAST-ADL. Web Services |
| Classical Component Systems | Standard Components Reflection | .NET CORBA EJB ROS Android |
| Object-Oriented Systems | object as Run-Time Components | C++ JAVA UML components |
| Modular Systems | Modules as Compile-Time Components | Shell scripts,Pascal, C |
BLACK-BOX COMPOSITION BBC :)
BBC fully hides what’s inside Components + Connectors + Composition Recipe = Component-based System
GRAY-BOX COMPOSITION
Separation of concerns