SlideShare a Scribd company logo
Component	Based
Software	Development
Diego	Cardozo
	
	github.com/diegocard
Agenda
1.	 Motivation
2.	 ¿What	is	CBSD?
3.	 Components	vs	Objects
4.	 Well	known	applications
5.	 ¿How	do	CMSs	fit	in?
6.	 Applying	thseconcepts
WebMatrix
OrchardCMS
Warning:	this	talk	is	about	Software	Engineering
Motivation	(1)
If	GM	had	kept	up	with	technology	like	the
computer	industry	has,	we	would	all	be
driving	$25.00	cars	that	got	1,000	miles
to	the	gallon.
Motivation	(2)
But	you	would...	
Crash	at	least	2	times	a	day
Have	to	buy	a	new	car	every	time	a	new
traffic	signal	is	installed
Have	to	learn	to	drive	again	every	time
you	buy	a	new	model
¿Conclusion?
Other	industries	follow	different	approaches
They	get	very	good	results	in	areas	were	we	don't.
Car	industry:	agile	process,	complex	product	that	is
built	rapidly.
Construction	industry:	much	higher	cost	associated
to	change,	but	they	anticipate	it	better.
¿What	do	other	industries	have	in
common?
They	work	using	components
Higher	re-use	rate
Simplifies	testing
Simplifies	maintenance
Better	overall	quality
Components	developed	by	third	parties
Shorter	development	cycle
Better	ROI
¿What	is	a	SW	component?
"A	software	component	is	a	unit	of	composition	with
contractually	specified	interface	and	explicit	context
dependencies	only.	
A	software	component	can	be	deployed	independently	and	is
subject	to	composition	by	third	parts."
Szyperski,	2002
7	Criteria
1.	 Can	be	used	by	other	SW	components
2.	 Can	be	used	by	others	without	the	intervention	of	the	
authoring	developer	(Like	CMS).
3.	 Includes	specifications	for	all	of	its	dependencies.
4.	 Includes	documentation	of	all	the	offered	functionalities.
5.	 Its	behavior	can	be	understood	from	its	specifications.
6.	 Can	be	coupled	to	other	components.
7.	 Can	be	incorporated	to	a	SW	system	rapidly	and	smoothly.
Disadvantages
Clairvoyance:	design	a	component	without	knowledge
of	its	final	user.
Customization:			it	is	hard	to	customize	a	component
without	access	to	its	implementation.
Lack	of	support:	once	a	component	is	created	and	sealed,
¿who	maintains	it	and	how?
Objects	vs	Components
Object Component
Polymorphism Yes No
Instantiation Late As	late	as	possible
Encapsulation Sort	of Real	and	enforced
Inheritance Si Interface	inheritance	and
binary	reuse
Well	known	applications
Low	level:	COM	(Component	Object	Model)
Process	communication	in	different	languages
.NET	precursor
CORBA
Standard	created	by	OMG
Widely	used	in	the	Java	world
Other	applications
Programming	for	graphic	design
Painter	model	(1)
Painter	model	(2)
There	are	2	techniques	to	create	images
One	of	them	is	the	painter	model
You	take	an	element	(brush,	pencil)	and	use	it	to
create	images	from	scratch.
Free	strokes	are	used.
Natural	approach.
I	believe	it	is	the	perfect	analogy	for	how	we
develop	software. 	
1.	 We	begin	with	a	blank	page.
2.	 Imagine	the	product	as	if	it	were	finished.
3.	 Implement	the	solution	line	by	line.
Composition	model	(1)
Composition	model	(2)
It	is	about	creating	images	from	existing	elements.
Example:	mosaic
Example:	draw	a	chess	board.
I	believe	this	is	the	approach	we	must	follow	when
creating	software. 	
1.	 Take	known	and	well	defined	elements.
2.	 Put	them	together	in	a	smart	way.
3.	 Create	only	the	missing	components.
There	is	an	enormous	amount	of	existing	components
in	the	world	of	software.
Painter	vs	composition
One	method	can	be	faster	than	the	other,	depending	on
the	type	of	image	involved.
Also	consider	which	one	achieves	a	better	result.
Nevertheless,	I	believe	that	most	problems	in	the
software	world	adjust	better	to	the	composition
model.
Enough	philosophy...
Concrete	example:
Create	a	website	for	the	Uruguayan	.NET	community
Include	a	forum
¿Why	use	a	CMS?
They	are	fundamentally	based	around	CBSD.
Both	structure	and	content	are	treated	as	components
Pages,	images,	posts,	widgets,	modules,	etc.
Huge	community	and	component	catalog	available.
Microsoft	WebMatrix	(1)
Free	development	environment	by	Microsoft
Lightweight:	40MB	out	of	the	box	compared	to
several	GB	from	Visual	Studio
Designed	for	the	cloud
Handles	many	languages	and	frameworks
ASP.NET
PHP
Node.js
Integrates	with	con	GIT	and	TFS
Microsoft	WebMatrix	(2)
Visual	Studio	feels	like	a	laboratory	for	creating	software
WebMatrix	is	ideal	for	DSBC
Provides	components:
Framework	gallery
Incorporates	NuGet	package	manager
Useful	extensions
Isolates	framework	from	components
OrchardCMS	(1)
Completely	Open	Source
Rapid	growth
MVC	Architecture
This	means	that	all	components	follow	a	MVC	architecture.
Creating	new	components	is	simple
Components	are	easy	tounderstand	and	extend
Orchard	CMS	(2)
Components
Content
Module
Features
Themes
Templates
Shapes
Widgets
Users,	roles,	permissions
Resources
Slides	and	code:
github.com/diegocard/CBSD-presentation
CBSD	in	MSDN	(spanish):
http://msdn.microsoft.com/es-
es/library/bb972268.aspx#ref07back
Great	related	presentation	(spanish):	
http://www.slideshare.net/ulicruz/desarrollo-de-
software-basado-en-componentes
Paper
Component-Based	Software	Engineering	–	New
Paradigm	of	Software	Development	(Crnkovic,	Larsson)
The	end
"It	has	been	a	long	time	in	coming,	but	the	Industrial
Revolution	of	software	is	finally	upon	us.	Specialization	of
resources,	standards	for	interchangeable	parts,	and
streamlined	assembly	tools	have	been	used	in	other
industries	for	hundreds	of	years	to	speed	the	development	of
highly	complex	products.	
Despite	their	ubiquity,	application	of	these	concepts	to	the
modern	software	industry	is	just	beginning.."
Bill	Gates,	1997

More Related Content

What's hot

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 Testing Using Finite Automata
Component Based Testing Using Finite AutomataComponent Based Testing Using Finite Automata
Component Based Testing Using Finite Automata
Sanjoy Kumar Das
 
An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...
Mohammad Salah uddin
 
Software resuse
Software  resuseSoftware  resuse
Software resuse
Indu Sharma Bhardwaj
 
Component based design
Component based designComponent based design
Component based design
Percival Lucena
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repository
Sandeep Singh
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuse
Entando
 
Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...
Nikolay Grozev
 
Software Reuse
Software ReuseSoftware Reuse
Software Reuse
prince mukherjee
 
A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...
Nikolay Grozev
 
A cost model for software reuse
A cost model for software reuseA cost model for software reuse
A cost model for software reuse
asas402
 
COCOMO model | How to calculate effort, staffing and Duration of Project
COCOMO model | How to calculate effort, staffing and Duration of ProjectCOCOMO model | How to calculate effort, staffing and Duration of Project
COCOMO model | How to calculate effort, staffing and Duration of Project
Navjyotsinh Jadeja
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
Deniz Kılınç
 
Software Engineering I
Software Engineering ISoftware Engineering I
Software Engineering I
alamzeb123
 
Engineering Software Products: 8. Reliable programming
Engineering Software Products: 8. Reliable programmingEngineering Software Products: 8. Reliable programming
Engineering Software Products: 8. Reliable programming
software-engineering-book
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
Majong DevJfu
 
Software reengineering
Software reengineeringSoftware reengineering
Software reengineering
gourav kottawar
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
Self-employed
 
Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11
Remedy IT
 
Engineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architectureEngineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architecture
software-engineering-book
 

What's hot (20)

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 Testing Using Finite Automata
Component Based Testing Using Finite AutomataComponent Based Testing Using Finite Automata
Component Based Testing Using Finite Automata
 
An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...
 
Software resuse
Software  resuseSoftware  resuse
Software resuse
 
Component based design
Component based designComponent based design
Component based design
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repository
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuse
 
Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...
 
Software Reuse
Software ReuseSoftware Reuse
Software Reuse
 
A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...
 
A cost model for software reuse
A cost model for software reuseA cost model for software reuse
A cost model for software reuse
 
COCOMO model | How to calculate effort, staffing and Duration of Project
COCOMO model | How to calculate effort, staffing and Duration of ProjectCOCOMO model | How to calculate effort, staffing and Duration of Project
COCOMO model | How to calculate effort, staffing and Duration of Project
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Software Engineering I
Software Engineering ISoftware Engineering I
Software Engineering I
 
Engineering Software Products: 8. Reliable programming
Engineering Software Products: 8. Reliable programmingEngineering Software Products: 8. Reliable programming
Engineering Software Products: 8. Reliable programming
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
Software reengineering
Software reengineeringSoftware reengineering
Software reengineering
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11Model Driven, Component Based Development for CBDDS and IDL to C++11
Model Driven, Component Based Development for CBDDS and IDL to C++11
 
Engineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architectureEngineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architecture
 

Viewers also liked

Component Based Development
Component Based DevelopmentComponent Based Development
Component Based Development
Ben McCormick
 
Ch16 component based software engineering
Ch16 component based software engineeringCh16 component based software engineering
Ch16 component based software engineering
software-engineering-book
 
Unified process
Unified processUnified process
Unified process
Jean Pаoli
 
Software Engg. process models
Software Engg. process modelsSoftware Engg. process models
Software Engg. process models
Tauseef Ahmad
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
Ashok Mohanty
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
software-engineering-book
 
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Ivica Crnkovic
 
Software Engineering - Ch2
Software Engineering - Ch2Software Engineering - Ch2
Software Engineering - Ch2
Siddharth Ayer
 
Procedural programming
Procedural programmingProcedural programming
Procedural programming
Ankit92Chitnavis
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
Siddharth Ayer
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)
IIUI
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
Arid Agriculture university rawalpindi
 
The Nature and Meaning of Development by APS
The Nature and Meaning  of  Development by APSThe Nature and Meaning  of  Development by APS
The Nature and Meaning of Development by APS
Jo Balucanag - Bitonio
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
saurabhshertukde
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
Muhammed Afsal Villan
 
Introduction to RUP & SPEM
Introduction to RUP & SPEMIntroduction to RUP & SPEM
Introduction to RUP & SPEM
Fáber D. Giraldo
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
VenkateswaraRao Siddabathula
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
university of education,Lahore
 

Viewers also liked (18)

Component Based Development
Component Based DevelopmentComponent Based Development
Component Based Development
 
Ch16 component based software engineering
Ch16 component based software engineeringCh16 component based software engineering
Ch16 component based software engineering
 
Unified process
Unified processUnified process
Unified process
 
Software Engg. process models
Software Engg. process modelsSoftware Engg. process models
Software Engg. process models
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
 
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
 
Software Engineering - Ch2
Software Engineering - Ch2Software Engineering - Ch2
Software Engineering - Ch2
 
Procedural programming
Procedural programmingProcedural programming
Procedural programming
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
The Nature and Meaning of Development by APS
The Nature and Meaning  of  Development by APSThe Nature and Meaning  of  Development by APS
The Nature and Meaning of Development by APS
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Introduction to RUP & SPEM
Introduction to RUP & SPEMIntroduction to RUP & SPEM
Introduction to RUP & SPEM
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
 

Similar to Component Based Software Development

Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Kiko Monteverde
 
How dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity finalHow dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity final
psluaces
 
Clone Clone Make: a better way to build
Clone Clone Make: a better way to buildClone Clone Make: a better way to build
Clone Clone Make: a better way to build
DanHeidinga
 
It for management 1
It for management 1It for management 1
It for management 1
NMIMS ASSIGNMENTS HELP
 
Production management
Production managementProduction management
Production management
smumbahelp
 
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Journey from Monolith to a Modularized Application - Approach and Key Learnin...Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
mfrancis
 
Project Poster_grid_select
Project Poster_grid_selectProject Poster_grid_select
Project Poster_grid_select
Tom Jones
 
SYN328: Learn why AppDNA should be a part of every consultant’s toolkit
SYN328: Learn why AppDNA should be a part of every consultant’s toolkitSYN328: Learn why AppDNA should be a part of every consultant’s toolkit
SYN328: Learn why AppDNA should be a part of every consultant’s toolkit
Jeremy Saunders
 
Cloud Computing Design Best Practices
Cloud Computing Design Best PracticesCloud Computing Design Best Practices
Cloud Computing Design Best Practices
Moshe Kaplan
 
Security Architecture for Cyber Physical Systems
Security Architecture for Cyber Physical SystemsSecurity Architecture for Cyber Physical Systems
Security Architecture for Cyber Physical Systems
Alan Tatourian
 
10 myths of cfd
10 myths of cfd10 myths of cfd
10 myths of cfd
Aaron Rdgz
 
IBM Z for the Digital Enterprise 2018 - Z Keynote
IBM Z for the Digital Enterprise 2018 - Z KeynoteIBM Z for the Digital Enterprise 2018 - Z Keynote
IBM Z for the Digital Enterprise 2018 - Z Keynote
DevOps for Enterprise Systems
 
Issue2 06 2008
Issue2 06 2008Issue2 06 2008
Issue2 06 2008
kamranfouladi
 
Do modernizing the Mainframe for DevOps.
Do modernizing the Mainframe for DevOps.Do modernizing the Mainframe for DevOps.
Do modernizing the Mainframe for DevOps.
Massimo Talia
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
MarriamNawaz
 
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB
 
Oris4 white paper ecm and the cloud
Oris4 white paper ecm and the cloudOris4 white paper ecm and the cloud
Oris4 white paper ecm and the cloud
Jim Robins
 
Emerging Trends in Software Development-Aug-2019
Emerging Trends in Software Development-Aug-2019Emerging Trends in Software Development-Aug-2019
Emerging Trends in Software Development-Aug-2019
Nevill Nguyen
 
The road to green code
The road to green codeThe road to green code
The road to green code
Olivier Le Goaër
 
Karen Forster Top 10 IT Costs
Karen Forster Top 10 IT CostsKaren Forster Top 10 IT Costs
Karen Forster Top 10 IT Costs
pvjeff
 

Similar to Component Based Software Development (20)

Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
 
How dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity finalHow dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity final
 
Clone Clone Make: a better way to build
Clone Clone Make: a better way to buildClone Clone Make: a better way to build
Clone Clone Make: a better way to build
 
It for management 1
It for management 1It for management 1
It for management 1
 
Production management
Production managementProduction management
Production management
 
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Journey from Monolith to a Modularized Application - Approach and Key Learnin...Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
 
Project Poster_grid_select
Project Poster_grid_selectProject Poster_grid_select
Project Poster_grid_select
 
SYN328: Learn why AppDNA should be a part of every consultant’s toolkit
SYN328: Learn why AppDNA should be a part of every consultant’s toolkitSYN328: Learn why AppDNA should be a part of every consultant’s toolkit
SYN328: Learn why AppDNA should be a part of every consultant’s toolkit
 
Cloud Computing Design Best Practices
Cloud Computing Design Best PracticesCloud Computing Design Best Practices
Cloud Computing Design Best Practices
 
Security Architecture for Cyber Physical Systems
Security Architecture for Cyber Physical SystemsSecurity Architecture for Cyber Physical Systems
Security Architecture for Cyber Physical Systems
 
10 myths of cfd
10 myths of cfd10 myths of cfd
10 myths of cfd
 
IBM Z for the Digital Enterprise 2018 - Z Keynote
IBM Z for the Digital Enterprise 2018 - Z KeynoteIBM Z for the Digital Enterprise 2018 - Z Keynote
IBM Z for the Digital Enterprise 2018 - Z Keynote
 
Issue2 06 2008
Issue2 06 2008Issue2 06 2008
Issue2 06 2008
 
Do modernizing the Mainframe for DevOps.
Do modernizing the Mainframe for DevOps.Do modernizing the Mainframe for DevOps.
Do modernizing the Mainframe for DevOps.
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
 
Oris4 white paper ecm and the cloud
Oris4 white paper ecm and the cloudOris4 white paper ecm and the cloud
Oris4 white paper ecm and the cloud
 
Emerging Trends in Software Development-Aug-2019
Emerging Trends in Software Development-Aug-2019Emerging Trends in Software Development-Aug-2019
Emerging Trends in Software Development-Aug-2019
 
The road to green code
The road to green codeThe road to green code
The road to green code
 
Karen Forster Top 10 IT Costs
Karen Forster Top 10 IT CostsKaren Forster Top 10 IT Costs
Karen Forster Top 10 IT Costs
 

More from Diego Cardozo

El proximo billon de usuarios
El proximo billon de usuariosEl proximo billon de usuarios
El proximo billon de usuarios
Diego Cardozo
 
The next billion users
The next billion usersThe next billion users
The next billion users
Diego Cardozo
 
Troubleshooting Ecommerce Performance
 Troubleshooting Ecommerce Performance Troubleshooting Ecommerce Performance
Troubleshooting Ecommerce Performance
Diego Cardozo
 
Cranking It Up - SuiteWorld 2017
Cranking It Up  - SuiteWorld 2017Cranking It Up  - SuiteWorld 2017
Cranking It Up - SuiteWorld 2017
Diego Cardozo
 
Speed Thrills - Suiteworld 2016
Speed Thrills - Suiteworld 2016Speed Thrills - Suiteworld 2016
Speed Thrills - Suiteworld 2016
Diego Cardozo
 
Performance in the cloud
Performance in the cloudPerformance in the cloud
Performance in the cloud
Diego Cardozo
 
Cómo testear performance sin morir en el intento
Cómo testear performance sin morir en el intentoCómo testear performance sin morir en el intento
Cómo testear performance sin morir en el intento
Diego Cardozo
 
Optimize performance and not die trying
Optimize performance and not die tryingOptimize performance and not die trying
Optimize performance and not die trying
Diego Cardozo
 
Optimizar performance sin morir en el intento
Optimizar performance sin morir en el intentoOptimizar performance sin morir en el intento
Optimizar performance sin morir en el intento
Diego Cardozo
 
How to test performance and not die trying
How to test performance and not die tryingHow to test performance and not die trying
How to test performance and not die trying
Diego Cardozo
 
Testeando performance sin morir en el intento
Testeando performance sin morir en el intentoTesteando performance sin morir en el intento
Testeando performance sin morir en el intento
Diego Cardozo
 
Organización de aplicaciones web con Backbone.js
Organización de aplicaciones web con Backbone.jsOrganización de aplicaciones web con Backbone.js
Organización de aplicaciones web con Backbone.js
Diego Cardozo
 
Structuring web applications with Backbone.js
Structuring web applications with Backbone.jsStructuring web applications with Backbone.js
Structuring web applications with Backbone.js
Diego Cardozo
 
Desarrollo de Software Basado en Componentes
Desarrollo de Software Basado en ComponentesDesarrollo de Software Basado en Componentes
Desarrollo de Software Basado en Componentes
Diego Cardozo
 
Single page applications
Single page applicationsSingle page applications
Single page applications
Diego Cardozo
 
Single Page Applications
Single Page ApplicationsSingle Page Applications
Single Page Applications
Diego Cardozo
 

More from Diego Cardozo (16)

El proximo billon de usuarios
El proximo billon de usuariosEl proximo billon de usuarios
El proximo billon de usuarios
 
The next billion users
The next billion usersThe next billion users
The next billion users
 
Troubleshooting Ecommerce Performance
 Troubleshooting Ecommerce Performance Troubleshooting Ecommerce Performance
Troubleshooting Ecommerce Performance
 
Cranking It Up - SuiteWorld 2017
Cranking It Up  - SuiteWorld 2017Cranking It Up  - SuiteWorld 2017
Cranking It Up - SuiteWorld 2017
 
Speed Thrills - Suiteworld 2016
Speed Thrills - Suiteworld 2016Speed Thrills - Suiteworld 2016
Speed Thrills - Suiteworld 2016
 
Performance in the cloud
Performance in the cloudPerformance in the cloud
Performance in the cloud
 
Cómo testear performance sin morir en el intento
Cómo testear performance sin morir en el intentoCómo testear performance sin morir en el intento
Cómo testear performance sin morir en el intento
 
Optimize performance and not die trying
Optimize performance and not die tryingOptimize performance and not die trying
Optimize performance and not die trying
 
Optimizar performance sin morir en el intento
Optimizar performance sin morir en el intentoOptimizar performance sin morir en el intento
Optimizar performance sin morir en el intento
 
How to test performance and not die trying
How to test performance and not die tryingHow to test performance and not die trying
How to test performance and not die trying
 
Testeando performance sin morir en el intento
Testeando performance sin morir en el intentoTesteando performance sin morir en el intento
Testeando performance sin morir en el intento
 
Organización de aplicaciones web con Backbone.js
Organización de aplicaciones web con Backbone.jsOrganización de aplicaciones web con Backbone.js
Organización de aplicaciones web con Backbone.js
 
Structuring web applications with Backbone.js
Structuring web applications with Backbone.jsStructuring web applications with Backbone.js
Structuring web applications with Backbone.js
 
Desarrollo de Software Basado en Componentes
Desarrollo de Software Basado en ComponentesDesarrollo de Software Basado en Componentes
Desarrollo de Software Basado en Componentes
 
Single page applications
Single page applicationsSingle page applications
Single page applications
 
Single Page Applications
Single Page ApplicationsSingle Page Applications
Single Page Applications
 

Recently uploaded

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Envertis Software Solutions
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 

Recently uploaded (20)

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 

Component Based Software Development