SlideShare a Scribd company logo
SOFTWARE
ARCHITECTURE
OUTLINE – Software Architecture(SA)
Introduction
A brief history
Scope
Characteristics
Why SA?
SA Activities
SA Topics
OUTLINE
Introduction
A brief history
Scope
Characteristics
Why SA?
SA Activities
SA Topics
Introduction
 Software architecture refers to the high level structures of a
software system, the discipline of creating such structures, and
the documentation of these structures.
 basically an “intellectually graspable” abstraction of a complex
software system.
 It is about making fundamental structural choices.
OUTLINE
Introduction
A brief history
Scope
Characteristics
Why SA?
SA Activities
SA Topics
A brief history
 a relatively newer discipline.
 early attempts were imprecise and disorganized.
 Scientists like Dijkstra emphasized that the structure of a
software system matters, getting it right is critical.
 emerged in its full sense in the 90s, research institutes like
CMU and UC, Irvine played major role.
 research work concentrated around architectural styles,
architecture description languages, architecture
documentation and formal methods.
 IEEE 1471-2000 was the first formal standard in the
discipline, adopted by ISO in 2007.
OUTLINE
Introduction
A brief history
Scope
Characteristics
Why SA?
SA Activities
SA Topics
Scope
 Macroscopic system structure — high level abstraction.
 Covers subjects that are fundamental to understanding a
system in its environment.
 constitutes factors that are hard to undo once implemented.
 Architectural design decisions — Software Architecture
Knowledge Management.
OUTLINE
Introduction
A brief history
Scope
Characteristics
Why SA?
SA Activities
SA Topics
Characteristics
 Caters to the various stakeholders having different
concerns, often takes a multidisciplinary approach.
 Separation of concerns, to reduce complexity — achieved
by describing the architecture from separate points of view
of the stakeholders. Separate descriptions are known as
Architectural Views.
e.g., 4+1 Architectural View Model
4+1 Architectural View Model*
 View Model designed by Philippe Kruchten of UBC for
describing the architecture, based on multiple,
concurrent views.
 views describe the system from the viewpoint of
stakeholders, such as end users, developers and project
managers.
 4 views are: Logical, development, process and physical.
Additionally, some use cases or scenarios make up the +1.
* Kruchten, Philippe (1995, November). Architectural Blueprints — The “4+1”
View Model of Software Architecture.
http://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf
1. Development – illustrates the system from a programmer’s
perspective and is concerned with software management.
2. Logical – concerned with the functionality that the system
provides to the end-users.
3. Physical – system engineer’s point of view. Concerned with the
topology and connections between software components.
4. Process – deals with the system processes and the runtime
behavior of the system.
5. Scenarios – or “use cases” describes sequences of interactions
between objects and processes to achieve certain goals.
Other characteristics (continued):
 Quality driven, closely related to the quality attributes, unlike
software design. Stakeholders concerns translated into quality
attributes. Functional vs. Non-functional requirements.
 Conceptual integrity, represents vision of what it should do
and how it should do it; should be separated from its
implementation; architect preserves conceptual integrity by
ensuring additions to system are in line with the architecture.
OUTLINE
Introduction
A brief history
Scope
Characteristics
Why SA?
SA Activities
SA Topics
Why S.A.?
 Analysis of system behavior before it has been built; ability
to verify that a system fulfills stakeholders’ needs before
actually building it represents cost-saving and risk
mitigation.
ATAM (Architecture Tradeoff Analysis Method)* is
one of the techniques to perform such analysis.
*Rick Kazman; Mark Klein; Paul Clements. "ATAM: Method for Architecture
Evaluation". Carnegie Mellon Software Engineering Institute. p. 39f.
http://www.sei.cmu.edu/reports/00tr004.pdf
ATAM
 Risk-mitigation process, used early in the SDLC;
developed by software engineering institute at CMU.
 used to choose suitable architecture for a system by
discovering tradeoffs, sensitivity points and risks.
 beneficial only when used early in the SDLC, when the
cost of changing is minimal.
ATAM benefits
1. Provides documented basis for architecture decisions.
2. Enables early risks detection.
3. Encourages communication between stakeholders.
4. Resolves conflicting goals through prioritizing.
5. Promotes cross-project reuse.
Why S.A.? (continued..)
 Allows reuse of strategies and decisions, when
stakeholders require similar quality attributes; saves
time, reduces cost and associated risks.
 Supports early design decisions that impacts a system’s
development, deployment and maintenance; important
to prevent schedule and budget overruns.
 facilitates communication with stakeholders,
contributing to a system that better fulfills their needs.
 helps in risk management.
 enables cost reduction, manages costs and risks in
complex IT projects.
OUTLINE
Introduction
A brief history
Scope
Characteristics
Why SA?
SA Activities
SA Topics
Architecture Activities
 Understanding the environment in which system will
operate and determining the requirements of the
system.
 It takes inputs from stakeholders as functional and non-
functional requirements, outputs architecturally
significant requirements.
Architectural Analysis
Architectural Synthesis
 Creation of an architecture, known as “design”.
 Given the architecturally significant requirements, the
current state of the design and the results of any evaluation
activities, the design is created and improved.
Architecture Evaluation
 It is determining how well the current design satisfies
the requirement derived during analysis.
 Can be carried out anytime, before, in between or after
the design or the system has been constructed.
 Some well known architecture evaluation techniques are
ATAM and TARA.
Architecture Evolution
 It is the process of maintaining and adapting a software
architecture to meet changing requirements and
environment.
 It is concerned with adding new functionalities as well as
maintaining existing functionalities and system
behaviors.
Architecture supporting activities
These are used to gather knowledge, evaluate decisions
and document them.
 Knowledge Management and Communication – It is
about exploring, communicating and retaining knowledge
essential to designing an architecture.
 Design Reasoning and Decision Making – the activity of
evaluating design decisions.
 Documentation – recording design generated during the
software architecture processes.
OUTLINE
Introduction
A brief history
Scope
Characteristics
Why SA?
SA Activities
SA Topics
Software Architecture Topics
 Software architecture description involves the principles and
practices of modelling and representing architectures, using
mechanisms such as: architecture description languages,
architecture viewpoints, and architecture frameworks.
Software architecture description
 An architecture description language (ADL) is any means of
expression used to describe a software architecture.
Examples are AADL, Wright (CMU), xADL (UCI), Darwin
(Imperial College London), SBC-ADL (National Sun Yat-Sen
University), ByADL (University of L'Aquila, Italy), etc.
Architecture description languages
Architecture viewpoints
 Software architecture descriptions
are commonly organized
into views, analogous to the
different types of blueprints made
in building architecture.
 Each view addresses a set of system concerns, following the
conventions of its viewpoint, where a viewpoint is a specification that
describes the notations, modelling and analysis techniques.
Architecture patterns and styles
 An architectural pattern is a general, reusable solution to a
commonly occurring problem in software architecture.
 A software architectural style is a specific method of
construction, characterized by the features and constraints
that make it notable.
Software architecture and agile development
 A number of methods have been developed to balance the
trade-offs of up-front design and agility.
 “up-front design” is a software development approach in
which the program's design is to be completed and
perfected before that program's implementation is
started.
Software architecture erosion
 Refers to the gap observed between the planned and actual
architecture of a software system.
 Reflexion model (RM) techniques compare a high-level
model provided by the system's architects with the source
code implementation.
 Domain-specific languages focus on specifying and
checking architectural constraints.
Software architecture recovery
 Methods and processes to uncover a software system's
architecture from available information.
 Reverse Engineering: re-producing anything based on
the extracted knowledge or design information.
Software Architecture

More Related Content

PDF
Software architecture
DOCX
Software architecture Unit 1 notes
PDF
Software Architecture and Design Introduction
PPTX
Formal approaches to software architecture design thesis presentation
PPT
Software Architecture
PDF
software architecture
PPTX
4+1 View Model of Software Architecture
PDF
System Development Life Cycle (SDLC)
Software architecture
Software architecture Unit 1 notes
Software Architecture and Design Introduction
Formal approaches to software architecture design thesis presentation
Software Architecture
software architecture
4+1 View Model of Software Architecture
System Development Life Cycle (SDLC)

What's hot (20)

PPTX
Importance of software architecture
PPTX
Data Designs (Software Engg.)
PPT
Chapter1
PPT
03 basic concepts
PDF
Software Architecture by Reuse, Composition and Customization
PPTX
Software Architecture Design for Begginers
PPTX
Unit iii-Architecture in the lifecycle
PPTX
PPTX
Architecture business cycle ( abc )
PPTX
Architecture business cycle
PDF
Software Engineering Important Short Question for Exams
PPTX
unit 5 Architectural design
PPT
PPT
24 dssa and_product_lines
PPTX
Documenting software architecture
PPTX
IT6701-Information Management Unit 1
PPTX
Architecture vs Design
PPTX
Unit iv -Documenting and Implementation of Software Architecture
PDF
Software Architecture Recovery: The 5 Questions You Always Asked Yourself Abo...
PDF
Systems and Software Architecture: an introduction to architectural modelling
Importance of software architecture
Data Designs (Software Engg.)
Chapter1
03 basic concepts
Software Architecture by Reuse, Composition and Customization
Software Architecture Design for Begginers
Unit iii-Architecture in the lifecycle
Architecture business cycle ( abc )
Architecture business cycle
Software Engineering Important Short Question for Exams
unit 5 Architectural design
24 dssa and_product_lines
Documenting software architecture
IT6701-Information Management Unit 1
Architecture vs Design
Unit iv -Documenting and Implementation of Software Architecture
Software Architecture Recovery: The 5 Questions You Always Asked Yourself Abo...
Systems and Software Architecture: an introduction to architectural modelling
Ad

Similar to Software Architecture (20)

PPT
3 analysis and design overview
PPTX
SA_UNIT_1.pptx
PPT
02 architectures in_context
PDF
Lecture-2-Architectural_Concepts.pdf
DOC
PPTX
slide_04_Analysis_Design microsoft powerpoint
PDF
Reverse Engineering for Documenting Software Architectures, a Literature Review
PPT
Oose unit 4 ppt
DOC
Lecture-_-5-_SDA_software design and architecture.doc
PPT
OOSE Unit 4 PPT.ppt
PDF
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
PDF
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
PDF
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
PPTX
Software Architecture Views and Viewpoints
PPTX
Software Engineering Architectural Design
PPTX
Software Architecture Course - Part III Taxonomies - Definitions
PDF
Software-Architecture_Course-Notes.pdf
PDF
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
PDF
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
PPTX
20CB304 - SE - UNIT V - Digital Notes.pptx
3 analysis and design overview
SA_UNIT_1.pptx
02 architectures in_context
Lecture-2-Architectural_Concepts.pdf
slide_04_Analysis_Design microsoft powerpoint
Reverse Engineering for Documenting Software Architectures, a Literature Review
Oose unit 4 ppt
Lecture-_-5-_SDA_software design and architecture.doc
OOSE Unit 4 PPT.ppt
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
Software Architecture Views and Viewpoints
Software Engineering Architectural Design
Software Architecture Course - Part III Taxonomies - Definitions
Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
20CB304 - SE - UNIT V - Digital Notes.pptx
Ad

Recently uploaded (20)

PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
top salesforce developer skills in 2025.pdf
PDF
AI in Product Development-omnex systems
PPTX
Essential Infomation Tech presentation.pptx
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
L1 - Introduction to python Backend.pptx
PPTX
ai tools demonstartion for schools and inter college
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
System and Network Administration Chapter 2
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Operating system designcfffgfgggggggvggggggggg
Design an Analysis of Algorithms I-SECS-1021-03
Odoo Companies in India – Driving Business Transformation.pdf
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Which alternative to Crystal Reports is best for small or large businesses.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Navsoft: AI-Powered Business Solutions & Custom Software Development
top salesforce developer skills in 2025.pdf
AI in Product Development-omnex systems
Essential Infomation Tech presentation.pptx
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Odoo POS Development Services by CandidRoot Solutions
L1 - Introduction to python Backend.pptx
ai tools demonstartion for schools and inter college
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
System and Network Administration Chapter 2
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Operating system designcfffgfgggggggvggggggggg

Software Architecture

  • 2. OUTLINE – Software Architecture(SA) Introduction A brief history Scope Characteristics Why SA? SA Activities SA Topics
  • 4. Introduction  Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures.  basically an “intellectually graspable” abstraction of a complex software system.  It is about making fundamental structural choices.
  • 6. A brief history  a relatively newer discipline.  early attempts were imprecise and disorganized.  Scientists like Dijkstra emphasized that the structure of a software system matters, getting it right is critical.  emerged in its full sense in the 90s, research institutes like CMU and UC, Irvine played major role.
  • 7.  research work concentrated around architectural styles, architecture description languages, architecture documentation and formal methods.  IEEE 1471-2000 was the first formal standard in the discipline, adopted by ISO in 2007.
  • 9. Scope  Macroscopic system structure — high level abstraction.  Covers subjects that are fundamental to understanding a system in its environment.  constitutes factors that are hard to undo once implemented.  Architectural design decisions — Software Architecture Knowledge Management.
  • 11. Characteristics  Caters to the various stakeholders having different concerns, often takes a multidisciplinary approach.  Separation of concerns, to reduce complexity — achieved by describing the architecture from separate points of view of the stakeholders. Separate descriptions are known as Architectural Views. e.g., 4+1 Architectural View Model
  • 12. 4+1 Architectural View Model*  View Model designed by Philippe Kruchten of UBC for describing the architecture, based on multiple, concurrent views.  views describe the system from the viewpoint of stakeholders, such as end users, developers and project managers.  4 views are: Logical, development, process and physical. Additionally, some use cases or scenarios make up the +1. * Kruchten, Philippe (1995, November). Architectural Blueprints — The “4+1” View Model of Software Architecture. http://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf
  • 13. 1. Development – illustrates the system from a programmer’s perspective and is concerned with software management. 2. Logical – concerned with the functionality that the system provides to the end-users. 3. Physical – system engineer’s point of view. Concerned with the topology and connections between software components. 4. Process – deals with the system processes and the runtime behavior of the system. 5. Scenarios – or “use cases” describes sequences of interactions between objects and processes to achieve certain goals.
  • 14. Other characteristics (continued):  Quality driven, closely related to the quality attributes, unlike software design. Stakeholders concerns translated into quality attributes. Functional vs. Non-functional requirements.  Conceptual integrity, represents vision of what it should do and how it should do it; should be separated from its implementation; architect preserves conceptual integrity by ensuring additions to system are in line with the architecture.
  • 16. Why S.A.?  Analysis of system behavior before it has been built; ability to verify that a system fulfills stakeholders’ needs before actually building it represents cost-saving and risk mitigation. ATAM (Architecture Tradeoff Analysis Method)* is one of the techniques to perform such analysis. *Rick Kazman; Mark Klein; Paul Clements. "ATAM: Method for Architecture Evaluation". Carnegie Mellon Software Engineering Institute. p. 39f. http://www.sei.cmu.edu/reports/00tr004.pdf
  • 17. ATAM  Risk-mitigation process, used early in the SDLC; developed by software engineering institute at CMU.  used to choose suitable architecture for a system by discovering tradeoffs, sensitivity points and risks.  beneficial only when used early in the SDLC, when the cost of changing is minimal.
  • 18. ATAM benefits 1. Provides documented basis for architecture decisions. 2. Enables early risks detection. 3. Encourages communication between stakeholders. 4. Resolves conflicting goals through prioritizing. 5. Promotes cross-project reuse.
  • 19. Why S.A.? (continued..)  Allows reuse of strategies and decisions, when stakeholders require similar quality attributes; saves time, reduces cost and associated risks.  Supports early design decisions that impacts a system’s development, deployment and maintenance; important to prevent schedule and budget overruns.
  • 20.  facilitates communication with stakeholders, contributing to a system that better fulfills their needs.  helps in risk management.  enables cost reduction, manages costs and risks in complex IT projects.
  • 22. Architecture Activities  Understanding the environment in which system will operate and determining the requirements of the system.  It takes inputs from stakeholders as functional and non- functional requirements, outputs architecturally significant requirements. Architectural Analysis
  • 23. Architectural Synthesis  Creation of an architecture, known as “design”.  Given the architecturally significant requirements, the current state of the design and the results of any evaluation activities, the design is created and improved.
  • 24. Architecture Evaluation  It is determining how well the current design satisfies the requirement derived during analysis.  Can be carried out anytime, before, in between or after the design or the system has been constructed.  Some well known architecture evaluation techniques are ATAM and TARA.
  • 25. Architecture Evolution  It is the process of maintaining and adapting a software architecture to meet changing requirements and environment.  It is concerned with adding new functionalities as well as maintaining existing functionalities and system behaviors.
  • 26. Architecture supporting activities These are used to gather knowledge, evaluate decisions and document them.  Knowledge Management and Communication – It is about exploring, communicating and retaining knowledge essential to designing an architecture.  Design Reasoning and Decision Making – the activity of evaluating design decisions.  Documentation – recording design generated during the software architecture processes.
  • 28. Software Architecture Topics  Software architecture description involves the principles and practices of modelling and representing architectures, using mechanisms such as: architecture description languages, architecture viewpoints, and architecture frameworks. Software architecture description
  • 29.  An architecture description language (ADL) is any means of expression used to describe a software architecture. Examples are AADL, Wright (CMU), xADL (UCI), Darwin (Imperial College London), SBC-ADL (National Sun Yat-Sen University), ByADL (University of L'Aquila, Italy), etc. Architecture description languages
  • 30. Architecture viewpoints  Software architecture descriptions are commonly organized into views, analogous to the different types of blueprints made in building architecture.  Each view addresses a set of system concerns, following the conventions of its viewpoint, where a viewpoint is a specification that describes the notations, modelling and analysis techniques.
  • 31. Architecture patterns and styles  An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture.  A software architectural style is a specific method of construction, characterized by the features and constraints that make it notable.
  • 32. Software architecture and agile development  A number of methods have been developed to balance the trade-offs of up-front design and agility.  “up-front design” is a software development approach in which the program's design is to be completed and perfected before that program's implementation is started.
  • 33. Software architecture erosion  Refers to the gap observed between the planned and actual architecture of a software system.  Reflexion model (RM) techniques compare a high-level model provided by the system's architects with the source code implementation.  Domain-specific languages focus on specifying and checking architectural constraints.
  • 34. Software architecture recovery  Methods and processes to uncover a software system's architecture from available information.  Reverse Engineering: re-producing anything based on the extracted knowledge or design information.