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