Component-based software engineering (CBSE) involves building software using pre-existing software components rather than developing everything from scratch. Well-designed components interact through defined interfaces, are modular, deployable, and replaceable. CBSE allows for increased reliability, reduced risks, effective specialist use, and accelerated development by reusing tested components instead of recreating them. Potential disadvantages include increased initial development time and difficulty testing components for unknown uses.
4. What is Component-Based Software Engineering (CBSE)?
Component:
What is a component?
Aspects of well-designed components
Integration of components
Advantages of CBSE
Disadvantages of CBSE
5. “A component is a moduler,deployable and
replacable part of a system that incapsulates
implimantations andexposes a set of interfaces.”
6. Component-based software engineering is the idea
of building software from established software
components, as opposed to building the software
from the ground up.
Components interact through well-defined interfaces.
7. A library of component must be available.
Component should have a consistent structure.
A standard shoul exits, e.g.
• OMG/CORBA
• Microsoft COM
• Sun Java beans
8. In most engineering disciplines, systems are designed by
composition (building system out of components that have
been used in other systems)
Software engineering has focused on custom development
of components
To achieve better software quality, more quickly, at lower
costs, software engineers are beginning to adopt
systematic reuse as a design process
9. Increased Reliability
• components already exercised in working systems
Reduced Process Risk
• less uncertainty in development costs
Effective Use of Specialists
• reuse components instead of people
Standards Compliance
• embed standards in reusable components
Accelerated Development
• avoid custom development and speed up delivery
10. CBSE based software engineering is an approach to
software development that relies on software reuse
• Reusability
• Sustainability
• Extensibility
11. Reusing components in different systems
Reusing components demands certain constraints like the
necessity for ..
Good documentation
Well organized reuse process
Similar architecture
C1
Application1
C1 C2 C3
Application2
C1 C4 C5
12. Alternative implementation of a component may be used
The component used should meet the system requirements
Application 1
c1 c2 c3
Application2
C1’ c2 c3
13. Extending components that are part of a system
Add additional Components
c1 c2 c3
c1 C2+ c3
c1 c2 c3
c1 c2 c4 c3
14. Divides large projects into smaller subprojects
CBSE is language independent.
Reduced time to market
Increased productivity/quality
Reusability of components
Easy to replace components
15. Making Components Reusable
• Increased Development time
• Harder to identify requirements
• Decreases usability
Choosing Middleware
• Incompatible technologies
Testing is Harder
• Unknown uses of components
High initial cost
• Training of developers
16. Component based approach has been successful in many
application domain
Web and internet based applications
Office applications like the GUI tools
Telecommunications and consumer electronics