SlideShare a Scribd company logo
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
Ad

More Related Content

What's hot (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)
Badar Rameez. CH.
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
Sarath Srivatsan
 
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
pooja deshmukh
 
The V Model
The V ModelThe V Model
The V Model
Damian T. Gordon
 
OSS Project Quality & management
OSS Project Quality & managementOSS Project Quality & management
OSS Project Quality & management
fOSSa - Free Open Source Software Academia Conference
 
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
Juan Manuel Torres
 
PhD-viva_ver0.4
PhD-viva_ver0.4PhD-viva_ver0.4
PhD-viva_ver0.4
SAADBIN ABID, PhD
 
Software engineering - Topics and Research Areas
Software engineering - Topics and Research AreasSoftware engineering - Topics and Research Areas
Software engineering - Topics and Research Areas
Techsparks
 
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...
Mohammed Kharma
 
Agile mODEL
Agile mODELAgile mODEL
Agile mODEL
Anjana Verma
 
What is waterfall
What is waterfallWhat is waterfall
What is waterfall
Abdullah Al Rumy
 
V model Over View (Software Engineering)
V model Over View (Software Engineering) V model Over View (Software Engineering)
V model Over View (Software Engineering)
Badar Rameez. CH.
 
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
pooja deshmukh
 
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
Juan Manuel Torres
 
Software engineering - Topics and Research Areas
Software engineering - Topics and Research AreasSoftware engineering - Topics and Research Areas
Software engineering - Topics and Research Areas
Techsparks
 
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...
Mohammed Kharma
 

Viewers also liked (20)

Spm file33
Spm file33Spm file33
Spm file33
Poonam Singh
 
Microservices without Servers
Microservices without ServersMicroservices without Servers
Microservices without Servers
Dev_Events
 
Docker & PHP - Practical use case
Docker & PHP - Practical use caseDocker & PHP - Practical use case
Docker & PHP - Practical use case
rjsmelo
 
Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016
Chris Tankersley
 
2013 Social Admissions Report
 2013 Social Admissions Report   2013 Social Admissions Report
2013 Social Admissions Report
Uversity, Inc.
 
Information Design Web Planning Mockup
Information Design Web Planning MockupInformation Design Web Planning Mockup
Information Design Web Planning Mockup
ANGELA Smithers
 
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
Anthony D. Paul
 
Docker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 WorkshopDocker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 Workshop
Chris Tankersley
 
Php development with Docker
Php development with DockerPhp development with Docker
Php development with Docker
Michael Bui
 
MockupBuilder
MockupBuilderMockupBuilder
MockupBuilder
Lviv Startup Club
 
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
Olessya
 
Git Workshop : Getting Started
Git Workshop : Getting StartedGit Workshop : Getting Started
Git Workshop : Getting Started
Wildan Maulana
 
Especialidade de inclusão 5
Especialidade de inclusão 5Especialidade de inclusão 5
Especialidade de inclusão 5
GRUPO ESCOTEIRO JOÃO OSCALINO
 
Engine lab software hybrid cloud specialists
Engine lab software hybrid cloud specialistsEngine lab software hybrid cloud specialists
Engine lab software hybrid cloud specialists
John Rowan
 
Introduction To Git Workshop
Introduction To Git WorkshopIntroduction To Git Workshop
Introduction To Git Workshop
themystic_ca
 
Lab docker
Lab dockerLab docker
Lab docker
Bruno Cornec
 
The App Evolution
The App Evolution The App Evolution
The App Evolution
Dev_Events
 
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
Robert McFrazier
 
Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices
Dev_Events
 
Next Generation Application Development
Next Generation Application DevelopmentNext Generation Application Development
Next Generation Application Development
Ken Ng
 
Microservices without Servers
Microservices without ServersMicroservices without Servers
Microservices without Servers
Dev_Events
 
Docker & PHP - Practical use case
Docker & PHP - Practical use caseDocker & PHP - Practical use case
Docker & PHP - Practical use case
rjsmelo
 
Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016
Chris Tankersley
 
2013 Social Admissions Report
 2013 Social Admissions Report   2013 Social Admissions Report
2013 Social Admissions Report
Uversity, Inc.
 
Information Design Web Planning Mockup
Information Design Web Planning MockupInformation Design Web Planning Mockup
Information Design Web Planning Mockup
ANGELA Smithers
 
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
Anthony D. Paul
 
Docker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 WorkshopDocker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 Workshop
Chris Tankersley
 
Php development with Docker
Php development with DockerPhp development with Docker
Php development with Docker
Michael Bui
 
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
Olessya
 
Git Workshop : Getting Started
Git Workshop : Getting StartedGit Workshop : Getting Started
Git Workshop : Getting Started
Wildan Maulana
 
Engine lab software hybrid cloud specialists
Engine lab software hybrid cloud specialistsEngine lab software hybrid cloud specialists
Engine lab software hybrid cloud specialists
John Rowan
 
Introduction To Git Workshop
Introduction To Git WorkshopIntroduction To Git Workshop
Introduction To Git Workshop
themystic_ca
 
The App Evolution
The App Evolution The App Evolution
The App Evolution
Dev_Events
 
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
Robert McFrazier
 
Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices
Dev_Events
 
Next Generation Application Development
Next Generation Application DevelopmentNext Generation Application Development
Next Generation Application Development
Ken Ng
 
Ad

Similar to component based softwrae engineering Cbse (20)

Cbse
CbseCbse
Cbse
annuaniket
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software Engineering
SatishDabhi1
 
Component-based Software Engineering
Component-based Software EngineeringComponent-based Software Engineering
Component-based Software Engineering
Salman Khan
 
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
 
component based development model
component based development modelcomponent based development model
component based development model
Muneeba Qamar
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineering
Wasim Raza
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineering
Wasim Raza
 
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDpptunit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
WrushabhShirsat3
 
SE UNIT-3.pdf
SE UNIT-3.pdfSE UNIT-3.pdf
SE UNIT-3.pdf
Dr. Radhey Shyam
 
KIOIO jert fill for a art and design .pptx
KIOIO jert fill for a art and design .pptxKIOIO jert fill for a art and design .pptx
KIOIO jert fill for a art and design .pptx
aethroinkstudio
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Charotar University Of Science And Technology,Gujrat
 
2.SDLC Models.ppt
2.SDLC Models.ppt2.SDLC Models.ppt
2.SDLC Models.ppt
ssuser1288e7
 
2 (1).ppt
2 (1).ppt2 (1).ppt
2 (1).ppt
pranavdesai63
 
Ch19
Ch19Ch19
Ch19
phanleson
 
Ch17
Ch17Ch17
Ch17
Keith Jasper Mier
 
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
mayanksingh678141
 
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
Alan Dix
 
HCI - Chapter 6
HCI - Chapter 6HCI - Chapter 6
HCI - Chapter 6
Alan Dix
 
Hci In The Software Process
Hci In The Software ProcessHci In The Software Process
Hci In The Software Process
ahmad bassiouny
 
Student feedback system
Student feedback systemStudent feedback system
Student feedback system
Akshay Surve
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software Engineering
SatishDabhi1
 
Component-based Software Engineering
Component-based Software EngineeringComponent-based Software Engineering
Component-based Software Engineering
Salman Khan
 
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
 
component based development model
component based development modelcomponent based development model
component based development model
Muneeba Qamar
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineering
Wasim Raza
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineering
Wasim Raza
 
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDpptunit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt
WrushabhShirsat3
 
KIOIO jert fill for a art and design .pptx
KIOIO jert fill for a art and design .pptxKIOIO jert fill for a art and design .pptx
KIOIO jert fill for a art and design .pptx
aethroinkstudio
 
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
mayanksingh678141
 
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
Alan Dix
 
HCI - Chapter 6
HCI - Chapter 6HCI - Chapter 6
HCI - Chapter 6
Alan Dix
 
Hci In The Software Process
Hci In The Software ProcessHci In The Software Process
Hci In The Software Process
ahmad bassiouny
 
Student feedback system
Student feedback systemStudent feedback system
Student feedback system
Akshay Surve
 
Ad

Recently uploaded (20)

Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 

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