Session: 2016-2018
Component-Based
Development
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
“A component is a moduler,deployable and
replacable part of a system that incapsulates
implimantations andexposes a set of interfaces.”
 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.
 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
 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
 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
 CBSE based software engineering is an approach to
software development that relies on software reuse
• Reusability
• Sustainability
• Extensibility
 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
 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
 Extending components that are part of a system
 Add additional Components
c1 c2 c3
c1 C2+ c3
c1 c2 c3
c1 c2 c4 c3
 Divides large projects into smaller subprojects
 CBSE is language independent.
 Reduced time to market
 Increased productivity/quality
 Reusability of components
 Easy to replace components
 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
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
component based development model
component based development model

component based development model

  • 2.
  • 3.
  • 4.
    What is Component-BasedSoftware Engineering (CBSE)? Component: What is a component? Aspects of well-designed components Integration of components Advantages of CBSE Disadvantages of CBSE
  • 5.
    “A component isa moduler,deployable and replacable part of a system that incapsulates implimantations andexposes a set of interfaces.”
  • 6.
     Component-based softwareengineering 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 libraryof 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 mostengineering 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 basedsoftware engineering is an approach to software development that relies on software reuse • Reusability • Sustainability • Extensibility
  • 11.
     Reusing componentsin 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 implementationof a component may be used  The component used should meet the system requirements Application 1 c1 c2 c3 Application2 C1’ c2 c3
  • 13.
     Extending componentsthat are part of a system  Add additional Components c1 c2 c3 c1 C2+ c3 c1 c2 c3 c1 c2 c4 c3
  • 14.
     Divides largeprojects into smaller subprojects  CBSE is language independent.  Reduced time to market  Increased productivity/quality  Reusability of components  Easy to replace components
  • 15.
     Making ComponentsReusable • 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 approachhas been successful in many application domain  Web and internet based applications  Office applications like the GUI tools  Telecommunications and consumer electronics