SlideShare una empresa de Scribd logo
1 de 23
Component-Based Software
Engineering

Main issues:
• assemble systems out of (reusable) components
• compatibility of components
LEGO analogy

 Set of building blocks in different shapes and
colors
 Can be combined in different ways
 Composition through small stubs in one and
corresponding holes in another building block
 ⇒ LEGO blocks are generic and easily composable
 LEGO can be combined with LEGO, not with
Meccano
2
Why CBSE?

 CBSE increases quality, especially evolvability and
maintainability
 CBSE increases productivity
 CBSE shortens development time

3
Component model

 Defines the types of building block, and the recipe
for putting them together
 More precisely, a component model defines
standards for:
 Properties individual components must satisfy
 Methods and mechanisms for composing components

 Consequently, a component has to conform to
some component model
4
A software component:

 Implements some functionality
 Has explicit dependencies through provides and
required interfaces
 Communicates through its interfaces only
 Has structure and behavior that conforms to a
component model

5
A component technology

 Is the implementation of a component model, by
means of:
 Standards and guidelines for the implementation and
execution of software components
 Executable software that supports the implementation,
assembly, deployment, execution of components

 Examples: EJB, COM+, .NET, CORBA

6
Component forms

 Component goes through different stages:
development, packaging, distribution, deployment,
execution
 Across these stages, components are represented
in different forms:
 During development: UML, e.g.
 When packaging: in a .zip file, e.g.
 In the execution stage: blocks of code and data

7
Characterization of component forms

8
Component forms in different stages

9
Component specification vs component
interface
 Specification describes properties to be realized:
realization contract
 Interface describes how components interact:
usage contract
 Different in scope as well: specification is about
the component as a whole, while an interface might
be about part of a component only

10
Hiding of component internals

 Black box: only specification is known
 Glass box: internals may be inspected, but not
changed
 Grey box: part of the internals may be inspected,
limited modification is allowed
 While box: component is open to inspection and
modification

11
Managing quality in CBSE

 Who manages the quality: the component, or the
execution platform
 Scope of management: per-collaboration, or
system-wide

12
Quality management in CBSE

13
Managing quality in CBSE

 Approach A: left to the designers (e.g. when
integrating COTS components)
 Approach B: model provides standardized facilities
for managing qualities
 Approach C: component only addresses
functionality, quality in surrounding container
 Approach D: similar to C, but container interacts
with platform on quality issues

14
Common features of component models

 Infrastructure mechanisms, for binding, execution, etc
 Instantiation
 Binding (design time, compile time, …)
 Mechanisms for communication between components
 Discovery of components
 Announcement of component capabilities (interfaces)
 Development support
 Language independence
 Platform independence
 Analysis support
 Support for upgrading and extension
 Support for quality properties

15
Development process in CBSE

 Two separate development processes:
 Development of components
 Development of systems out of components

 Separate process to assess components

16
CBSE system development process

 Requirements: also considers availability of
components (like in COTS)
 Analysis and design: very similar to what we
normally do
 Implementation: less coding, focus on selection of
components, provision of glue code
 Integration: largely automated
 Testing: verification of components is necessary
 Release: as in classical approaches
 Maintenance: replace components
17
Component assessment

 Find components
 Verify components
 Store components in repository

18
Component development process

 Components are intended for reuse

⇒
 Managing requirements is more difficult
 More effort required to develop reusable
components
 More effort in documentation for consumers
19
Component development process

 Requirements: combination of top-down (from
system) and bottom-up (generality)
 Analysis and design: generality is an issue,
assumptions about system (use) must be made
 Implementation: largely determined by component
technology
 Testing: extensive (no assumptions of usage!), and
well-documented
 Release: not only executables, also metadata

20
Component maintenance

 Who is responsible: producer or consumer?
 Blame analysis: relation between manifestation of
a fault and its cause, e.g.
 Component A requires more CPU time
 As a consequence, B does not complete in time
 As required by C, so
 C issues a time-out error to its user
 Analysis: goes from C to B to A to input of A
 Who does the analysis, if producers of A,B,C are different?

21
Architecture and CBSE

 Architecture-driven: top-down: components are
identified as part of an architectural design
 Product line: family of similar products, with 1
architecture
 COTS-based: bottom-up, architecture is secondary
to components found

22
Summary

 To enable composition, components must be
compatible: achieved by component model
 Separation of development process for
components from that of assembling systems out
of components
 Architectural plan organizes how components fit
together and meet quality requirements

23

Más contenido relacionado

La actualidad más candente

La actualidad más candente (11)

V model Over View (Software Engineering)
V model Over View (Software Engineering) V model Over View (Software Engineering)
V model Over View (Software Engineering)
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
A detailed-look-at-v-model-in-software-testing
A detailed-look-at-v-model-in-software-testingA detailed-look-at-v-model-in-software-testing
A detailed-look-at-v-model-in-software-testing
 
The V Model
The V ModelThe V Model
The V Model
 
OSS Project Quality & management
OSS Project Quality & managementOSS Project Quality & management
OSS Project Quality & management
 
Building a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP appsBuilding a CI/CD Pipeline for PHP apps
Building a CI/CD Pipeline for PHP apps
 
PhD-viva_ver0.4
PhD-viva_ver0.4PhD-viva_ver0.4
PhD-viva_ver0.4
 
Software engineering - Topics and Research Areas
Software engineering - Topics and Research AreasSoftware engineering - Topics and Research Areas
Software engineering - Topics and Research Areas
 
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
 
Agile mODEL
Agile mODELAgile mODEL
Agile mODEL
 
What is waterfall
What is waterfallWhat is waterfall
What is waterfall
 

Destacado

2013 Social Admissions Report
 2013 Social Admissions Report   2013 Social Admissions Report
2013 Social Admissions Report
Uversity, Inc.
 
Git Workshop : Getting Started
Git Workshop : Getting StartedGit Workshop : Getting Started
Git Workshop : Getting Started
Wildan Maulana
 

Destacado (20)

Spm file33
Spm file33Spm file33
Spm file33
 
Microservices without Servers
Microservices without ServersMicroservices without Servers
Microservices without Servers
 
Docker & PHP - Practical use case
Docker & PHP - Practical use caseDocker & PHP - Practical use case
Docker & PHP - Practical use case
 
Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016
 
2013 Social Admissions Report
 2013 Social Admissions Report   2013 Social Admissions Report
2013 Social Admissions Report
 
Information Design Web Planning Mockup
Information Design Web Planning MockupInformation Design Web Planning Mockup
Information Design Web Planning Mockup
 
Computer-free Website Development Demo - WordPressDC Jan 2015
 Computer-free Website Development Demo - WordPressDC Jan 2015 Computer-free Website Development Demo - WordPressDC Jan 2015
Computer-free Website Development Demo - WordPressDC Jan 2015
 
Docker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 WorkshopDocker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 Workshop
 
Php development with Docker
Php development with DockerPhp development with Docker
Php development with Docker
 
MockupBuilder
MockupBuilderMockupBuilder
MockupBuilder
 
NTR Lab - bespoke software development in Russia
NTR Lab - bespoke software development in RussiaNTR Lab - bespoke software development in Russia
NTR Lab - bespoke software development in Russia
 
Git Workshop : Getting Started
Git Workshop : Getting StartedGit Workshop : Getting Started
Git Workshop : Getting Started
 
Especialidade de inclusão 5
Especialidade de inclusão 5Especialidade de inclusão 5
Especialidade de inclusão 5
 
Engine lab software hybrid cloud specialists
Engine lab software hybrid cloud specialistsEngine lab software hybrid cloud specialists
Engine lab software hybrid cloud specialists
 
Introduction To Git Workshop
Introduction To Git WorkshopIntroduction To Git Workshop
Introduction To Git Workshop
 
Lab docker
Lab dockerLab docker
Lab docker
 
The App Evolution
The App Evolution The App Evolution
The App Evolution
 
An introduction to contianers and Docker for PHP developers
An introduction to contianers and Docker for PHP developersAn introduction to contianers and Docker for PHP developers
An introduction to contianers and Docker for PHP developers
 
Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices
 
Next Generation Application Development
Next Generation Application DevelopmentNext Generation Application Development
Next Generation Application Development
 

Similar a component based softwrae engineering Cbse

Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
Chandan Thakur
 
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDpptunit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
WrushabhShirsat3
 

Similar a component based softwrae engineering Cbse (20)

Cbse
CbseCbse
Cbse
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software Engineering
 
Component-based Software Engineering
Component-based Software EngineeringComponent-based Software Engineering
Component-based Software Engineering
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
 
component based development model
component based development modelcomponent based development model
component based development model
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineering
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineering
 
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDpptunit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
 
SE UNIT-3.pdf
SE UNIT-3.pdfSE UNIT-3.pdf
SE UNIT-3.pdf
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
2.SDLC Models.ppt
2.SDLC Models.ppt2.SDLC Models.ppt
2.SDLC Models.ppt
 
2 (1).ppt
2 (1).ppt2 (1).ppt
2 (1).ppt
 
Ch19
Ch19Ch19
Ch19
 
Ch17
Ch17Ch17
Ch17
 
Software Engineering Unit 3 PPT Software Design
Software Engineering Unit 3 PPT Software DesignSoftware Engineering Unit 3 PPT Software Design
Software Engineering Unit 3 PPT Software Design
 
Hci In The Software Process
Hci In The Software ProcessHci In The Software Process
Hci In The Software Process
 
HCI - Chapter 6
HCI - Chapter 6HCI - Chapter 6
HCI - Chapter 6
 
HCI 3e - Ch 6: HCI in the software process
HCI 3e - Ch 6:  HCI in the software processHCI 3e - Ch 6:  HCI in the software process
HCI 3e - Ch 6: HCI in the software process
 
Student feedback system
Student feedback systemStudent feedback system
Student feedback system
 
chapter 2 (1).ppt
chapter 2 (1).pptchapter 2 (1).ppt
chapter 2 (1).ppt
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

component based softwrae engineering Cbse

  • 1. Component-Based Software Engineering Main issues: • assemble systems out of (reusable) components • compatibility of components
  • 2. LEGO analogy  Set of building blocks in different shapes and colors  Can be combined in different ways  Composition through small stubs in one and corresponding holes in another building block  ⇒ LEGO blocks are generic and easily composable  LEGO can be combined with LEGO, not with Meccano 2
  • 3. Why CBSE?  CBSE increases quality, especially evolvability and maintainability  CBSE increases productivity  CBSE shortens development time 3
  • 4. Component model  Defines the types of building block, and the recipe for putting them together  More precisely, a component model defines standards for:  Properties individual components must satisfy  Methods and mechanisms for composing components  Consequently, a component has to conform to some component model 4
  • 5. A software component:  Implements some functionality  Has explicit dependencies through provides and required interfaces  Communicates through its interfaces only  Has structure and behavior that conforms to a component model 5
  • 6. A component technology  Is the implementation of a component model, by means of:  Standards and guidelines for the implementation and execution of software components  Executable software that supports the implementation, assembly, deployment, execution of components  Examples: EJB, COM+, .NET, CORBA 6
  • 7. Component forms  Component goes through different stages: development, packaging, distribution, deployment, execution  Across these stages, components are represented in different forms:  During development: UML, e.g.  When packaging: in a .zip file, e.g.  In the execution stage: blocks of code and data 7
  • 9. Component forms in different stages 9
  • 10. Component specification vs component interface  Specification describes properties to be realized: realization contract  Interface describes how components interact: usage contract  Different in scope as well: specification is about the component as a whole, while an interface might be about part of a component only 10
  • 11. Hiding of component internals  Black box: only specification is known  Glass box: internals may be inspected, but not changed  Grey box: part of the internals may be inspected, limited modification is allowed  While box: component is open to inspection and modification 11
  • 12. Managing quality in CBSE  Who manages the quality: the component, or the execution platform  Scope of management: per-collaboration, or system-wide 12
  • 14. Managing quality in CBSE  Approach A: left to the designers (e.g. when integrating COTS components)  Approach B: model provides standardized facilities for managing qualities  Approach C: component only addresses functionality, quality in surrounding container  Approach D: similar to C, but container interacts with platform on quality issues 14
  • 15. Common features of component models  Infrastructure mechanisms, for binding, execution, etc  Instantiation  Binding (design time, compile time, …)  Mechanisms for communication between components  Discovery of components  Announcement of component capabilities (interfaces)  Development support  Language independence  Platform independence  Analysis support  Support for upgrading and extension  Support for quality properties 15
  • 16. Development process in CBSE  Two separate development processes:  Development of components  Development of systems out of components  Separate process to assess components 16
  • 17. CBSE system development process  Requirements: also considers availability of components (like in COTS)  Analysis and design: very similar to what we normally do  Implementation: less coding, focus on selection of components, provision of glue code  Integration: largely automated  Testing: verification of components is necessary  Release: as in classical approaches  Maintenance: replace components 17
  • 18. Component assessment  Find components  Verify components  Store components in repository 18
  • 19. Component development process  Components are intended for reuse ⇒  Managing requirements is more difficult  More effort required to develop reusable components  More effort in documentation for consumers 19
  • 20. Component development process  Requirements: combination of top-down (from system) and bottom-up (generality)  Analysis and design: generality is an issue, assumptions about system (use) must be made  Implementation: largely determined by component technology  Testing: extensive (no assumptions of usage!), and well-documented  Release: not only executables, also metadata 20
  • 21. Component maintenance  Who is responsible: producer or consumer?  Blame analysis: relation between manifestation of a fault and its cause, e.g.  Component A requires more CPU time  As a consequence, B does not complete in time  As required by C, so  C issues a time-out error to its user  Analysis: goes from C to B to A to input of A  Who does the analysis, if producers of A,B,C are different? 21
  • 22. Architecture and CBSE  Architecture-driven: top-down: components are identified as part of an architectural design  Product line: family of similar products, with 1 architecture  COTS-based: bottom-up, architecture is secondary to components found 22
  • 23. Summary  To enable composition, components must be compatible: achieved by component model  Separation of development process for components from that of assembling systems out of components  Architectural plan organizes how components fit together and meet quality requirements 23