SlideShare a Scribd company logo
Amir Yousefi
An overview on
Definition : Fowler
 In most successful software projects, the expert
developers working on that project have a
shared understanding of the system design. This
shared understanding is called ‘architecture.’
This understanding includes how the system is
divided into components and how the
components interact through interfaces. These
components are usually composed of smaller
components, but the architecture only includes
the components and interfaces that are
understood by all the developers…Architecture is
about the important stuff. Whatever that is.
Definition : Booch
 All architecture is design but not all design is
architecture. Architecture represents the
significant design decisions that shape a system,
where significant is measured by cost of change.
Kirk:
 the goal of software architecture must be
to eliminate the impact and cost of change
Kirk:
 The best way to deal with architecture is to
eliminate it.
 The paradox
 the way to eliminate architecture by minimizing
the impact of cost and change is through
flexibility
 The more flexible the system, the more likely
that the system can adapt and evolve as
necessary
But…
 The paradox
The paradox
making everything easy to change makes
the entire system very complex
 Lehman's 2nd law
 As a system evolves its complexity increases
unless work is done to maintain or reduce it
 Gall's law
 A complex system designed from scratch never
works and cannot be made to work. You have to
start over, beginning with a working simple
system
 Defeating Complexity
 Defeating Complexity
 Defeating Complexity
Modularity
 It is all the way down
 Reuse Release equivalence
?
 Reducing complexity
 Joints
 Joints
 Shared understanding
 Shared understanding
Modularity | By Amir Yousefi

More Related Content

Similar to Modularity | By Amir Yousefi

Full Paper
Full PaperFull Paper
Full Paper
Arash Heidarian
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
Ra'Fat Al-Msie'deen
 
Se ii unit2-software_design_principles
Se ii unit2-software_design_principlesSe ii unit2-software_design_principles
Se ii unit2-software_design_principles
Ahmad sohail Kakar
 
Unit 3
Unit 3Unit 3
The critical need for software architecture practices in software development...
The critical need for software architecture practices in software development...The critical need for software architecture practices in software development...
The critical need for software architecture practices in software development...
Alexander Decker
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
Sudarshan Dhondaley
 
Chapter 5 Software Design of software engineering.pptx
Chapter 5 Software Design of software engineering.pptxChapter 5 Software Design of software engineering.pptx
Chapter 5 Software Design of software engineering.pptx
gadisaAdamu
 
Chapter five software Software Design.pptx
Chapter five software  Software Design.pptxChapter five software  Software Design.pptx
Chapter five software Software Design.pptx
gadisaAdamu
 
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptxchapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
MahmoudZidan53
 
Introduction to Modern Software Architecture
Introduction to Modern Software ArchitectureIntroduction to Modern Software Architecture
Introduction to Modern Software Architecture
Jérôme Kehrli
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdf
AkilaGamage2
 
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
IJCSEA Journal
 
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
IJCSEA Journal
 
Bt0081 software engineering
Bt0081 software engineeringBt0081 software engineering
Bt0081 software engineering
Techglyphs
 
Sda 2
Sda   2Sda   2
Principles and patterns
Principles and patternsPrinciples and patterns
Principles and patterns
Siegfried Ehret
 
04 bob martin-designprinciplesandpatterns_eng
04 bob martin-designprinciplesandpatterns_eng04 bob martin-designprinciplesandpatterns_eng
04 bob martin-designprinciplesandpatterns_eng
osasello
 
020170482 x
020170482 x020170482 x
020170482 x
raghuinfo
 
The dependency inversion principle
The dependency inversion principleThe dependency inversion principle
The dependency inversion principle
navicorevn
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
nimmik4u
 

Similar to Modularity | By Amir Yousefi (20)

Full Paper
Full PaperFull Paper
Full Paper
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Se ii unit2-software_design_principles
Se ii unit2-software_design_principlesSe ii unit2-software_design_principles
Se ii unit2-software_design_principles
 
Unit 3
Unit 3Unit 3
Unit 3
 
The critical need for software architecture practices in software development...
The critical need for software architecture practices in software development...The critical need for software architecture practices in software development...
The critical need for software architecture practices in software development...
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Chapter 5 Software Design of software engineering.pptx
Chapter 5 Software Design of software engineering.pptxChapter 5 Software Design of software engineering.pptx
Chapter 5 Software Design of software engineering.pptx
 
Chapter five software Software Design.pptx
Chapter five software  Software Design.pptxChapter five software  Software Design.pptx
Chapter five software Software Design.pptx
 
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptxchapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
 
Introduction to Modern Software Architecture
Introduction to Modern Software ArchitectureIntroduction to Modern Software Architecture
Introduction to Modern Software Architecture
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdf
 
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
 
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
 
Bt0081 software engineering
Bt0081 software engineeringBt0081 software engineering
Bt0081 software engineering
 
Sda 2
Sda   2Sda   2
Sda 2
 
Principles and patterns
Principles and patternsPrinciples and patterns
Principles and patterns
 
04 bob martin-designprinciplesandpatterns_eng
04 bob martin-designprinciplesandpatterns_eng04 bob martin-designprinciplesandpatterns_eng
04 bob martin-designprinciplesandpatterns_eng
 
020170482 x
020170482 x020170482 x
020170482 x
 
The dependency inversion principle
The dependency inversion principleThe dependency inversion principle
The dependency inversion principle
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
 

More from Iran Agile Community

Scrum Is Not Enough | By Pooya Shahbazian
Scrum Is Not Enough | By Pooya ShahbazianScrum Is Not Enough | By Pooya Shahbazian
Scrum Is Not Enough | By Pooya Shahbazian
Iran Agile Community
 
Agile Methods Comparison | By Farid Dehghan
Agile Methods Comparison | By Farid DehghanAgile Methods Comparison | By Farid Dehghan
Agile Methods Comparison | By Farid Dehghan
Iran Agile Community
 
Performance Review | By Ali H. Moghadam
Performance Review | By Ali H. MoghadamPerformance Review | By Ali H. Moghadam
Performance Review | By Ali H. Moghadam
Iran Agile Community
 
Agile Engine | By Asad Safari
Agile Engine | By Asad SafariAgile Engine | By Asad Safari
Agile Engine | By Asad Safari
Iran Agile Community
 
Why Agile | By Yousof Mehrdad
Why Agile | By Yousof MehrdadWhy Agile | By Yousof Mehrdad
Why Agile | By Yousof Mehrdad
Iran Agile Community
 
Managing Technical Debt | By Alireza Maddah
Managing Technical Debt | By Alireza MaddahManaging Technical Debt | By Alireza Maddah
Managing Technical Debt | By Alireza Maddah
Iran Agile Community
 
Agile Development | By Ruhollah Delpak
Agile Development | By Ruhollah DelpakAgile Development | By Ruhollah Delpak
Agile Development | By Ruhollah Delpak
Iran Agile Community
 
Agile & BABOK | By Ali Razi
Agile & BABOK | By Ali RaziAgile & BABOK | By Ali Razi
Agile & BABOK | By Ali Razi
Iran Agile Community
 

More from Iran Agile Community (8)

Scrum Is Not Enough | By Pooya Shahbazian
Scrum Is Not Enough | By Pooya ShahbazianScrum Is Not Enough | By Pooya Shahbazian
Scrum Is Not Enough | By Pooya Shahbazian
 
Agile Methods Comparison | By Farid Dehghan
Agile Methods Comparison | By Farid DehghanAgile Methods Comparison | By Farid Dehghan
Agile Methods Comparison | By Farid Dehghan
 
Performance Review | By Ali H. Moghadam
Performance Review | By Ali H. MoghadamPerformance Review | By Ali H. Moghadam
Performance Review | By Ali H. Moghadam
 
Agile Engine | By Asad Safari
Agile Engine | By Asad SafariAgile Engine | By Asad Safari
Agile Engine | By Asad Safari
 
Why Agile | By Yousof Mehrdad
Why Agile | By Yousof MehrdadWhy Agile | By Yousof Mehrdad
Why Agile | By Yousof Mehrdad
 
Managing Technical Debt | By Alireza Maddah
Managing Technical Debt | By Alireza MaddahManaging Technical Debt | By Alireza Maddah
Managing Technical Debt | By Alireza Maddah
 
Agile Development | By Ruhollah Delpak
Agile Development | By Ruhollah DelpakAgile Development | By Ruhollah Delpak
Agile Development | By Ruhollah Delpak
 
Agile & BABOK | By Ali Razi
Agile & BABOK | By Ali RaziAgile & BABOK | By Ali Razi
Agile & BABOK | By Ali Razi
 

Recently uploaded

Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
Las Vegas Warehouse
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
architagupta876
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
LAXMAREDDY22
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
RamonNovais6
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
Introduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptxIntroduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptx
MiscAnnoy1
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 

Recently uploaded (20)

Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
Introduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptxIntroduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptx
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 

Modularity | By Amir Yousefi