SlideShare a Scribd company logo
Software
Component
Engineering
March 2004 http://www.lisha.ufsc.br 1
On Software Components
LISHA/UFSC
Prof. Dr. Antônio Augusto Fröhlich








































March 2004
Software
Component
Engineering
March 2004 http://www.lisha.ufsc.br 2
Software Component Evolution
Modules VB
Java
classes
1970
1980
1990
2000
1960
procedures
OO++
GP
Software
Component
Engineering
March 2004 http://www.lisha.ufsc.br 3
Software Component Definitions
logically cohesive, loosely coupled module that denotes a single abstraction.
(Grady Booch, 1987)
already implemented units that we use to en-hance the programming language
constructs.
(Ivar Jacobson, 1993)
self-contained, clearly identifiable pieces that describe and/or perform specific
functions, have clear interfaces, appropriate documentation, and a defined
reuse status.
(Johannes Sametinger, 1997)
unit of composition with contractually specified interfaces and explicit context
dependencies only.
(Clemens Szyperski, 1997)
Software
Component
Engineering
March 2004 http://www.lisha.ufsc.br 4
Software Component Granularity

High granularity

Specialized

Reusable

Efficient

Low granularity

Generic

Composable
component
granularity
a lot of small components
What is this component for?
What is the difference to that other one?
How do I use it?
e.g. container
e.g. subsystem
Do I have to take this junk as well?
The component I need is not there!
a few large components
Software
Component
Engineering
March 2004 http://www.lisha.ufsc.br 5
Software Component Interfaces

Service contracts

Clients: what to expect and how to deploy

Providers: what to implement

Formal contracts

Syntax: interface

Behavior: pre and post conditions ...

Support composition validation
Software
Component
Engineering
March 2004 http://www.lisha.ufsc.br 6
Design Patterns

Catalog of solutions to recurring problems in the object-
orientation scene

Taxonomy of elementary OO architectures

Orthogonal to domain matters

Composition

Adapter: incompatible interfaces

Bridge: decouple abstraction and implementation
Software
Component
Engineering
March 2004 http://www.lisha.ufsc.br 7
The Adapter Pattern
Software
Component
Engineering
March 2004 http://www.lisha.ufsc.br 8
The Bridge Pattern
Software
Component
Engineering
March 2004 http://www.lisha.ufsc.br 9
Frameworks

Arrangement of classes
that captures a reusable
design

Abstract: implementation
inheritance

Concrete: reusable
implementations

Whitebox framework

Inheritance and overriding

Blackbox (component
framework)

Interfaces and composition

System-wide properties

More Related Content

Similar to sc.pdf

SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESISOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESISofia Eu
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
cscpconf
 
Ontologies in Ubiquitous Computing
Ontologies in Ubiquitous ComputingOntologies in Ubiquitous Computing
Ontologies in Ubiquitous Computing
Jose R. Hilera
 
A SMART SOURCE CODE EDITORFOR C
A SMART SOURCE CODE EDITORFOR CA SMART SOURCE CODE EDITORFOR C
A SMART SOURCE CODE EDITORFOR C
ijcseit
 
A smart source code editor for c
A smart source code editor for cA smart source code editor for c
A smart source code editor for c
ijcseit
 
Modest Formalization of Software Design Patterns
Modest Formalization of Software Design PatternsModest Formalization of Software Design Patterns
Modest Formalization of Software Design Patterns
International Journal of Latest Research in Engineering and Technology
 
.Net Session Overview
.Net Session Overview.Net Session Overview
.Net Session Overview
Logu Thanigachalam
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word documentSIVAJISADHANA
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
SIVAJISADHANA
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
SIVAJISADHANA
 
A Quick Survey of Open Source Software for PH Organizations, a paper by Massi...
A Quick Survey of Open Source Software for PH Organizations, a paper by Massi...A Quick Survey of Open Source Software for PH Organizations, a paper by Massi...
A Quick Survey of Open Source Software for PH Organizations, a paper by Massi...
InSTEDD
 
ISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINES
ISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINESISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINES
ISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINES
ijcseit
 
ISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINES
ISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINESISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINES
ISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINES
ijcseit
 
Dynamic component composition
Dynamic component compositionDynamic component composition
Dynamic component composition
ijseajournal
 
Btech IT Sem VII and VIII-1 (1).pdf
Btech IT Sem VII and VIII-1 (1).pdfBtech IT Sem VII and VIII-1 (1).pdf
Btech IT Sem VII and VIII-1 (1).pdf
AdityaBhateja1
 
AUTOMATED SQL QUERY GENERATOR BY UNDERSTANDING A NATURAL LANGUAGE STATEMENT
AUTOMATED SQL QUERY GENERATOR BY UNDERSTANDING A NATURAL LANGUAGE STATEMENTAUTOMATED SQL QUERY GENERATOR BY UNDERSTANDING A NATURAL LANGUAGE STATEMENT
AUTOMATED SQL QUERY GENERATOR BY UNDERSTANDING A NATURAL LANGUAGE STATEMENT
ijnlc
 
Issues in implementation of parallel
Issues in implementation of parallelIssues in implementation of parallel
Issues in implementation of parallel
ijcseit
 

Similar to sc.pdf (20)

SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESISOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
 
Analysis Report
 Analysis Report  Analysis Report
Analysis Report
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
 
Student z
Student zStudent z
Student z
 
Ontologies in Ubiquitous Computing
Ontologies in Ubiquitous ComputingOntologies in Ubiquitous Computing
Ontologies in Ubiquitous Computing
 
A SMART SOURCE CODE EDITORFOR C
A SMART SOURCE CODE EDITORFOR CA SMART SOURCE CODE EDITORFOR C
A SMART SOURCE CODE EDITORFOR C
 
A smart source code editor for c
A smart source code editor for cA smart source code editor for c
A smart source code editor for c
 
.Net assembly
.Net assembly.Net assembly
.Net assembly
 
Modest Formalization of Software Design Patterns
Modest Formalization of Software Design PatternsModest Formalization of Software Design Patterns
Modest Formalization of Software Design Patterns
 
.Net Session Overview
.Net Session Overview.Net Session Overview
.Net Session Overview
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
 
A Quick Survey of Open Source Software for PH Organizations, a paper by Massi...
A Quick Survey of Open Source Software for PH Organizations, a paper by Massi...A Quick Survey of Open Source Software for PH Organizations, a paper by Massi...
A Quick Survey of Open Source Software for PH Organizations, a paper by Massi...
 
ISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINES
ISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINESISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINES
ISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINES
 
ISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINES
ISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINESISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINES
ISSUES IN IMPLEMENTATION OF PARALLEL PARSING ON MULTI-CORE MACHINES
 
Dynamic component composition
Dynamic component compositionDynamic component composition
Dynamic component composition
 
Btech IT Sem VII and VIII-1 (1).pdf
Btech IT Sem VII and VIII-1 (1).pdfBtech IT Sem VII and VIII-1 (1).pdf
Btech IT Sem VII and VIII-1 (1).pdf
 
AUTOMATED SQL QUERY GENERATOR BY UNDERSTANDING A NATURAL LANGUAGE STATEMENT
AUTOMATED SQL QUERY GENERATOR BY UNDERSTANDING A NATURAL LANGUAGE STATEMENTAUTOMATED SQL QUERY GENERATOR BY UNDERSTANDING A NATURAL LANGUAGE STATEMENT
AUTOMATED SQL QUERY GENERATOR BY UNDERSTANDING A NATURAL LANGUAGE STATEMENT
 
Issues in implementation of parallel
Issues in implementation of parallelIssues in implementation of parallel
Issues in implementation of parallel
 

Recently uploaded

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 

Recently uploaded (20)

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 

sc.pdf