SlideShare a Scribd company logo
Unit 1: Software
Architecture
This unit delves into the fundamental concepts of software architecture,
providing a comprehensive understanding of its principles, components, and
practices. From envisioning the architecture to designing and implementing it,
this unit lays the groundwork for building robust, scalable, and maintainable
software systems.
by Ayesha Butalia
Envisioning Architecture
1 Stakeholders
Individuals or groups who have an interest in the architecture, such as users, developers, and managers.
2 Technical Environment
The set of technologies and methodologies available, including programming languages, frameworks, and
tools.
3 Organizational Goals
Business and mission goals of the organization, which influence the architecture's design and
implementation.
4 Architectural Design Decisions
Decisions made by architects that shape the system's structure, components, and interactions.
5 Feedback Loop
Continuous improvement based on feedback from stakeholders and the technical environment, ensuring
the architecture evolves to meet changing needs.
What is Software Architecture?
Components
The main building blocks of the
system, such as modules, services,
and databases.
Connectors
The interactions between the
components, defining how they
communicate and exchange data.
Configurations
The arrangement of components and
connectors, determining the system's
overall structure and flow.
Architectural Patterns,
Reference Models, and
Reference Architectures
1 Architectural Patterns
Reusable solutions to common problems in software architecture
within a given context, providing proven designs for specific scenarios.
2 Reference Models
Abstract frameworks that describe the entities involved in a domain
and their relationships, providing a common vocabulary and
understanding.
3 Reference Architectures
A template solution for an architecture for a particular domain,
providing a standardized approach for specific industries or
applications.
Architectural Structures and
Views
Module Structures
Decomposition of the system into modules, focusing on the organization
of code and functionality.
Component-and-Connector Structures
Runtime interactions between components, emphasizing how they
communicate and collaborate.
Allocation Structures
Mapping of software elements to non-software elements (e.g., hardware),
defining the physical deployment and resource allocation.
Creating an Architecture
Quality Attribute Definition
Performance Speed and efficiency of the system.
Security Protection against unauthorized access and data
breaches.
Usability Ease of use and user-friendliness of the system.
Architectural Styles and
Patterns
1
Monolithic Architecture
Single-tiered software application where all components are
tightly coupled and deployed as a single unit.
2
Microservices Architecture
Divides the system into small, independent services that
communicate through APIs, enabling scalability, resilience, and
independent deployment.
Cloud Native Concepts,
Microservices, API
Containerization
Packaging software with its dependencies into a container, ensuring consistent
execution across different environments.
Dynamic Orchestration
Managing container lifecycles, including deployment, scaling, and networking,
automatically and dynamically.
Microservices
Architectural style that structures an application as a collection of loosely
coupled services, enabling independent scaling, resilience, and development.
API (Application Programming Interface)
A set of rules that allow software programs to communicate, enabling
interoperability and data exchange.

More Related Content

Similar to Software Design Quality Management: Software Architecture (20)

PPT
Software_Archi-1.ppt
FaizaZulkifal
 
ODP
Software Patterns
Sudarsun Santhiappan
 
DOCX
Software architecture Unit 1 notes
Sudarshan Dhondaley
 
PPTX
software engineering Architecture and design Unit 3.pptx
SomnathMule5
 
PPTX
Software architectures
Vanjikumaran Sivajothy
 
PPTX
Software Architecture: Introduction to the abstraction (May 2014_Split)
Henry Muccini
 
PDF
What is Software Architecture?
University of Pretoria
 
PPTX
Software requirement specification Unit 3.pptx
SomnathMule5
 
PPTX
1 introduction to sa
david10hm
 
PPT
Software Architecture.ppt
MuhammadTalha416221
 
DOC
Lecture-_-5-_SDA_software design and architecture.doc
esrabilgic2
 
PDF
Software archiecture lecture03
Luktalja
 
PPTX
Power point for project
abdussalam taher
 
PPTX
Software Architecture and Design
Ra'Fat Al-Msie'deen
 
PDF
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
do_2013
 
PDF
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
do_2013
 
PDF
Software-Architecture_Course-Notes.pdf
do_2013
 
PDF
2 - Architetture Software - Software architecture
Majong DevJfu
 
PPTX
unit 5 Architectural design
devika g
 
Software_Archi-1.ppt
FaizaZulkifal
 
Software Patterns
Sudarsun Santhiappan
 
Software architecture Unit 1 notes
Sudarshan Dhondaley
 
software engineering Architecture and design Unit 3.pptx
SomnathMule5
 
Software architectures
Vanjikumaran Sivajothy
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Henry Muccini
 
What is Software Architecture?
University of Pretoria
 
Software requirement specification Unit 3.pptx
SomnathMule5
 
1 introduction to sa
david10hm
 
Software Architecture.ppt
MuhammadTalha416221
 
Lecture-_-5-_SDA_software design and architecture.doc
esrabilgic2
 
Software archiecture lecture03
Luktalja
 
Power point for project
abdussalam taher
 
Software Architecture and Design
Ra'Fat Al-Msie'deen
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
do_2013
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
do_2013
 
Software-Architecture_Course-Notes.pdf
do_2013
 
2 - Architetture Software - Software architecture
Majong DevJfu
 
unit 5 Architectural design
devika g
 

Recently uploaded (20)

PDF
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
PPTX
CST413 KTU S7 CSE Machine Learning Introduction Parameter Estimation MLE MAP ...
resming1
 
PDF
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
PPTX
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
SAMEER VISHWAKARMA
 
PDF
June 2025 Top 10 Sites -Electrical and Electronics Engineering: An Internatio...
elelijjournal653
 
PDF
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Mark Billinghurst
 
PPTX
CST413 KTU S7 CSE Machine Learning Neural Networks and Support Vector Machine...
resming1
 
PDF
CLIP_Internals_and_Architecture.pdf sdvsdv sdv
JoseLuisCahuanaRamos3
 
PDF
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Mark Billinghurst
 
PPTX
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
moonsony54
 
PPTX
Introduction to Python Programming Language
merlinjohnsy
 
PDF
Python Mini Project: Command-Line Quiz Game for School/College Students
MPREETHI7
 
PDF
Plant Control_EST_85520-01_en_AllChanges_20220127.pdf
DarshanaChathuranga4
 
PDF
How to Buy Verified CashApp Accounts IN 2025
Buy Verified CashApp Accounts
 
PDF
Designing for Tomorrow – Architecture’s Role in the Sustainability Movement
BIM Services
 
PPT
SF 9_Unit 1.ppt software engineering ppt
AmarrKannthh
 
PDF
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
PPTX
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
PPTX
Functions in Python Programming Language
BeulahS2
 
PDF
NFPA 10 - Estandar para extintores de incendios portatiles (ed.22 ENG).pdf
Oscar Orozco
 
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
CST413 KTU S7 CSE Machine Learning Introduction Parameter Estimation MLE MAP ...
resming1
 
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
SAMEER VISHWAKARMA
 
June 2025 Top 10 Sites -Electrical and Electronics Engineering: An Internatio...
elelijjournal653
 
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Mark Billinghurst
 
CST413 KTU S7 CSE Machine Learning Neural Networks and Support Vector Machine...
resming1
 
CLIP_Internals_and_Architecture.pdf sdvsdv sdv
JoseLuisCahuanaRamos3
 
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Mark Billinghurst
 
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
moonsony54
 
Introduction to Python Programming Language
merlinjohnsy
 
Python Mini Project: Command-Line Quiz Game for School/College Students
MPREETHI7
 
Plant Control_EST_85520-01_en_AllChanges_20220127.pdf
DarshanaChathuranga4
 
How to Buy Verified CashApp Accounts IN 2025
Buy Verified CashApp Accounts
 
Designing for Tomorrow – Architecture’s Role in the Sustainability Movement
BIM Services
 
SF 9_Unit 1.ppt software engineering ppt
AmarrKannthh
 
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
Functions in Python Programming Language
BeulahS2
 
NFPA 10 - Estandar para extintores de incendios portatiles (ed.22 ENG).pdf
Oscar Orozco
 
Ad

Software Design Quality Management: Software Architecture

  • 1. Unit 1: Software Architecture This unit delves into the fundamental concepts of software architecture, providing a comprehensive understanding of its principles, components, and practices. From envisioning the architecture to designing and implementing it, this unit lays the groundwork for building robust, scalable, and maintainable software systems. by Ayesha Butalia
  • 2. Envisioning Architecture 1 Stakeholders Individuals or groups who have an interest in the architecture, such as users, developers, and managers. 2 Technical Environment The set of technologies and methodologies available, including programming languages, frameworks, and tools. 3 Organizational Goals Business and mission goals of the organization, which influence the architecture's design and implementation. 4 Architectural Design Decisions Decisions made by architects that shape the system's structure, components, and interactions. 5 Feedback Loop Continuous improvement based on feedback from stakeholders and the technical environment, ensuring the architecture evolves to meet changing needs.
  • 3. What is Software Architecture? Components The main building blocks of the system, such as modules, services, and databases. Connectors The interactions between the components, defining how they communicate and exchange data. Configurations The arrangement of components and connectors, determining the system's overall structure and flow.
  • 4. Architectural Patterns, Reference Models, and Reference Architectures 1 Architectural Patterns Reusable solutions to common problems in software architecture within a given context, providing proven designs for specific scenarios. 2 Reference Models Abstract frameworks that describe the entities involved in a domain and their relationships, providing a common vocabulary and understanding. 3 Reference Architectures A template solution for an architecture for a particular domain, providing a standardized approach for specific industries or applications.
  • 5. Architectural Structures and Views Module Structures Decomposition of the system into modules, focusing on the organization of code and functionality. Component-and-Connector Structures Runtime interactions between components, emphasizing how they communicate and collaborate. Allocation Structures Mapping of software elements to non-software elements (e.g., hardware), defining the physical deployment and resource allocation.
  • 6. Creating an Architecture Quality Attribute Definition Performance Speed and efficiency of the system. Security Protection against unauthorized access and data breaches. Usability Ease of use and user-friendliness of the system.
  • 7. Architectural Styles and Patterns 1 Monolithic Architecture Single-tiered software application where all components are tightly coupled and deployed as a single unit. 2 Microservices Architecture Divides the system into small, independent services that communicate through APIs, enabling scalability, resilience, and independent deployment.
  • 8. Cloud Native Concepts, Microservices, API Containerization Packaging software with its dependencies into a container, ensuring consistent execution across different environments. Dynamic Orchestration Managing container lifecycles, including deployment, scaling, and networking, automatically and dynamically. Microservices Architectural style that structures an application as a collection of loosely coupled services, enabling independent scaling, resilience, and development. API (Application Programming Interface) A set of rules that allow software programs to communicate, enabling interoperability and data exchange.