Component-based software engineering (CBSE) involves building software from established reusable components rather than building from scratch. A component is an independent software unit that can be composed with other components through well-defined interfaces. CBSE provides advantages such as reduced development time, increased productivity and quality, and easier replacement of components. However, CBSE also presents challenges including increased initial development time, harder requirement identification, and difficulty testing.
3. PRESENTED TO:
MAM TAYYABA TARIQ
PRESENTED BY:
Muhammad Tayyab 20-Arid-4405
Saddam Hussain 20-Arid-4399
Salman Sardar 20-Arid-4416
4. KEY POINTS
⢠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. WHAT IS CBSE?
⢠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.
6. WHAT IS COMPONENT?
⢠A component is an independent software unit that can be
composed with other components to create a software system.
⢠Council and Heineman define a component as:
⢠â A software element that conforms to a component model and can be
independently deployed and composed without modification
accordingly to a composition standardâ
7. COMPONENT CHARACTERISTICS
⢠Independent: A component should be independent
⢠Composable: It means that all external interactions must take place
through publicly defined interfaces.
⢠Deployable: A component has to be self-contained and must be
able to operate as a stand-alone entity
8. TERMS & ATTRIBUTES USED IN SOFTWARE
COMPONENT MODEL
⢠Syntax: It refers to the âgrammarâ or the rules followed in the code
as per the specific programming language.
⢠Semantics: It refers to the actual meaning and view of the
components. A component is associated with a name, an interface
and the body that includes the code.
⢠Composition: This relates to the construction and working together
of components.
9. IMPLEMENTATION
CBSE based software engineering is an approach to software
development that relies on software reuse
⢠Reusability
⢠Sustainability
⢠Extensibility
10. REUSABILITY
Reusing components in different systems
Reusing components demands certain constraints like the necessity
for ..
⢠Good documentation
⢠Well organized reuse process
⢠Similar architecture
C1
C1 C2 C3 C1 C5
C4
14. COMMERCIAL OFF-THE-SHELF SOFTWARE
⢠COTS systems are usually complete applications library the off an
applications programming interface (API)
⢠Building large systems by integrating COTS components is a viable
development strategy for some types of systems (e.g. E-commerce
or video games)
15. ADVANTAGES OF CBSE
⢠Divides large projects into smaller subprojects
⢠CBSE is language independent.
⢠Reduced time to market
⢠Increased productivity/quality
⢠Reusability of components
⢠Easy to replace components
16. DISADVANTAGES
⢠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
17. THE SUCCESSâŚ
Component based approach has been successful in many application
domains
⢠Web and internet based applications
⢠Office applications like the GUI tools
⢠Telecommunications and consumer electronics