SlideShare a Scribd company logo
Introduction To Software Architecture
Software Architecture

Software Architecture is a set of software structures that describe the
organization of a system — including how it's coded (modules), how it works
at runtime (components), and where it's deployed (hardware/cloud).

Each structure helps different people:

Developers care about module structure (code organization).

System integrators care about components and connectors (how systems
talk).

IT engineers care about deployment (where it runs).
Real-world example like Swiggy (online food delivery app).
1. Module Structure
Focus: Code organization (like packages, classes, files).
Example in Swiggy:
[User App] [API Gateway] [Backend Services]
⇄ ⇄
↓
[Order Service] [Restaurant Service]
⇄
↓
[Payment Service]
2.Components and Connectors
Each box is a component.
Arrows are connectors like REST API, WebSocket, etc.
Real-world example like Swiggy (online food delivery app).
3. Allocation Structure
Focus: Mapping software onto hardware/resources.
Example in Swiggy:
Mobile App → User Device (Android/iOS)
Backend APIs → Cloud Server (AWS/GCP)
Database → Managed DB Service
Image CDN → CloudFront (for food images)
Architectural Patterns
Composition of architeral elements called Architectural Patterns provide
packaged strategies for solving some of the problems facing a system.
An Architectural Patterns determines the elements types and their forms of
interaction used in solving the problem.
Patterns can be characterized according to the type of architectural elements
they use.
Architectural Patterns with real-world examples (like Flipkart)
1. Module Type Pattern
🔹 Layered Architecture – Flipkart
Flipkart Example:
Presentation Layer: User Interface (App or Website)
Business Logic Layer: Cart, Wishlist, Order processing logic
Data Access Layer: APIs for database interactions
Database Layer: Product, user, order data
Architectural Patterns with real-world examples (like Flipkart)
2. Component and Connector Patterns
🔹 Shared Data Pattern – Swiggy (Restaurant & Delivery Coordination)
All services (restaurant listing, delivery allocation, reviews) use a central
database/repository.
Client-Server Pattern – Flipkart or Amazon

Client: Flipkart app or website

Server: Backend server (Node.js, Java) that processes requests
Architectural Patterns with real-world examples (like Flipkart)
3.Allocation Type Patterns
🔹 Multi-Tier Pattern – Swiggy
Swiggy tiers:
Tier 1: UI/Frontend (Android/iOS app)
Tier 2: Application Server (order logic, delivery assignment)
Tier 3: Database (PostgreSQL, DynamoDB)
Structures and Views

A view is a representaion of a coherent set of architectural elements,as
written by and read by system stakeholders.

A structure is the set of elements itself,as they exist in software or hardware.
Views

A view is a representaion of a coherent set of architectural elements,as

written by and read by system stakeholders.

A view shows how a system appears from the perspective of one or more

stakeholders. It focuses on specific aspects of the system, such as structure,

behavior, deployment, or development.

Each view answers questions like:

What components exist and how do they interact? (Logical/Module View)

How does the system behave at runtime? (Process/View)

Where is the system deployed physically? (Deployment View)
Common types of views
View Type Description Stakeholders
Logical View Shows the system’s functional
elements and their relationships.
Often represented with class or
component diagrams.
Designers, developers
Development View Also called Module View, shows
how the system is organized in
the development environment—
modules, packages, libraries.
Developers
Process View Describes runtime behavior,
concurrency, and communication
between processes.
Performance engineers
Physical View Shows the physical deployment
of software artifacts on hardware
nodes.
DevOps, IT engineers
+1. Use Case View Shows end-user functionality
and scenarios through use
cases or user stories.
Customers, testers
Useful Architectural Structures
View Type Software
Structure
Element
Types
Relations 
Quality Attributes
Affected
Module
Structures
Decomposition Module Is a submodule of 
Modifiability
Uses Module Uses(i.e.requires
the correct
presence of)

Subsetability,

extensibility
Layers Layer Requires the
correct presence
of uses the
services of
provides
abstraction to.
Portability,
extensibility
Class Class,
Object
Is an instance
of,shares access
methods of

Modifiability,

extensibility
Data model Data
entity
(one-many) to
(one,many),
Generalizes,
specializers

Modifiability,

performance
Useful Architectural Structures
View Type Software
Structure
Element Types Relations 
Quality
Attributes
Affected
C & C
Structures
Service Service,ESB,registry,
others
Runs
concurrently
with ,may run
concurrently
with,excludes
,precedes
etc.
Interoperability,
Modifiability
Concurrency Processes,threads Can run in
parallel

Performance
Availability
Useful Architectural Structures
View Type Software
Structure
Element Types Relations 
Quality
Attributes
Affected
Allocation
Structures
Deployment Components,hardware
elements
Allocated
to,migrates
to

Performance,
availability,se
curity
Implementation Modules,file structure Stored in 
Development
efficiency
Work assignment Modules,organizational
units
Assigned to Development
efficiency
Quality attributes

In Software Architecture, quality attributes (also
called non-functional requirements) define how
well a system performs under various
conditions.

They are crucial for evaluating the
effectiveness, usability, and reliability of a
system — beyond just its functional behavior.
Quality attributes

1. Performance: Definition

How quickly and efficiently the system responds to inputs and completes tasks under various
conditions.

Examples:Fast search

Response time : Total time to complete the request.

Example:2 seconds per order

Throughput :How much work the system can handle efficiently over time.

Example : 200 orders/min

Latency : Waiting time before the system starts responding.

Example :If it takes 300ms before you see the “Order Confirmed” screen start loading — that’s
latency.
Quality attributes

Resource utilization:Deciding what system resources are given to which software component,
when, and how much.

Example :

Think of a restaurant kitchen:

Head chef (CPU) does heavy tasks.

Helpers (RAM) handle prep work quickly.

Pantry (Disk) stores all ingredients.

Waiters (Network) take orders to and from tables.
Quality attributes

2. Modifiability

Definition:

How easily the system can be changed or updated after deployment.

Examples:

Adding new features

Fixing bugs

Adapting to new requirements

In a food delivery app:

Add a new payment option (e.g., UPI or crypto) without affecting existing modules.

Modify UI for a festival discount without changing backend logic.
Quality attributes

3. Security

Definition:

Protection of system data and operations against unauthorized access, misuse, or attacks.

Examples:

Authentication and authorization

Data encryption

Secure communication (HTTPS)

Audit logs

In a food delivery app:

Only logged-in users can place an order.

Encrypt customer payment data.

Delivery agents should only access their assigned orders.
Quality attributes

4. Usability

Definition:

How easy and efficient it is for users to learn, use, and interact with the system.

Examples:

Intuitive UI/UX

Meaningful error messages

Accessibility support

In a food delivery app:

Simple UI to browse restaurants, track orders.

Easy filters (veg, offers, ratings).

Minimal steps to checkout.

More Related Content

PPT
Software Architecture in Architecture design .ppt
PDF
Introduction to Java Enterprise Edition
PPT
Chapter 7 Basic Building of SE Architecture.ppt
PPTX
Advance Software Engineering module - 3.pptx
PPT
C-System Models Presentation files .ppt
PPTX
DBMS: Week 02 - Database System Architecture
DOCX
ArchitectureAndPlatformsAspects
DOCX
ArchitectureAndPlatformsAspects
Software Architecture in Architecture design .ppt
Introduction to Java Enterprise Edition
Chapter 7 Basic Building of SE Architecture.ppt
Advance Software Engineering module - 3.pptx
C-System Models Presentation files .ppt
DBMS: Week 02 - Database System Architecture
ArchitectureAndPlatformsAspects
ArchitectureAndPlatformsAspects

Similar to software view and quality attribute of SA (20)

PPT
Struts Ppt 1
PPTX
Over view of software artitecture
PDF
Introduction to SOFTWARE ARCHITECTURE
PPTX
J2EE Notes JDBC database Connectiviy and Programs related to JDBC
PPTX
6- Architecture design complete (1).pptx
PPTX
System analysis and design
PPTX
Crafted Design - LJC World Tour Mash Up 2014
DOC
Unit-3.doc
DOC
College information management system.doc
PPT
Slides 6 design of sw arch using add
PDF
[2015/2016] Introduction to software architecture
PPT
Ppt slides 05
PDF
[2017/2018] Introduction to Software Architecture
PPT
Ch12
PPT
Distributed Systems Architecture in Software Engineering SE11
PPT
PDF
[2016/2017] Introduction to Software Architecture
PPT
6. Requirement Modelinbbdhdhbdhhdbbdg.ppt
PPT
Struts Ppt 1
Over view of software artitecture
Introduction to SOFTWARE ARCHITECTURE
J2EE Notes JDBC database Connectiviy and Programs related to JDBC
6- Architecture design complete (1).pptx
System analysis and design
Crafted Design - LJC World Tour Mash Up 2014
Unit-3.doc
College information management system.doc
Slides 6 design of sw arch using add
[2015/2016] Introduction to software architecture
Ppt slides 05
[2017/2018] Introduction to Software Architecture
Ch12
Distributed Systems Architecture in Software Engineering SE11
[2016/2017] Introduction to Software Architecture
6. Requirement Modelinbbdhdhbdhhdbbdg.ppt
Ad

More from deepalishinkar1 (20)

PPTX
software architecture and design pattern
PPTX
Data transformation with normalization and standardization
PPTX
Feature types and data preprocessing steps
PPTX
data structure stack appplication in python
PPTX
Stack application in infix to prefix expression
PPTX
Data Structure Stack operation in python
PPTX
steps for template in django for project
PDF
Web application on menu card qrcode generator.pdf
PPTX
Django model create a table in django web framework
PPTX
TO DO APP USING STREAMLIT PYTHON PROJECT
PPTX
basic concepts of object oriented in python
PDF
Inheritance and polymorphism oops concepts in python
PPTX
DATABASE CONNECTIVITY PYTHON USING MYSQL/SQLITE/POSTGRE
PPTX
File Operations in python Read ,Write,binary file etc.
PDF
How to create a django project procedure
PDF
Virtual environment in python on windows / linux os
PPTX
Operators in python
PPTX
Data handling in python
PDF
Practical approach on numbers system and math module
PDF
Demonstration on keyword
software architecture and design pattern
Data transformation with normalization and standardization
Feature types and data preprocessing steps
data structure stack appplication in python
Stack application in infix to prefix expression
Data Structure Stack operation in python
steps for template in django for project
Web application on menu card qrcode generator.pdf
Django model create a table in django web framework
TO DO APP USING STREAMLIT PYTHON PROJECT
basic concepts of object oriented in python
Inheritance and polymorphism oops concepts in python
DATABASE CONNECTIVITY PYTHON USING MYSQL/SQLITE/POSTGRE
File Operations in python Read ,Write,binary file etc.
How to create a django project procedure
Virtual environment in python on windows / linux os
Operators in python
Data handling in python
Practical approach on numbers system and math module
Demonstration on keyword
Ad

Recently uploaded (20)

PPTX
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
PDF
August 2025 - Top 10 Read Articles in Network Security & Its Applications
PDF
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PPTX
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
PPTX
Management Information system : MIS-e-Business Systems.pptx
PDF
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
PDF
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
PPTX
Artificial Intelligence
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
Visual Aids for Exploratory Data Analysis.pdf
PDF
Design Guidelines and solutions for Plastics parts
PPTX
communication and presentation skills 01
PPTX
Software Engineering and software moduleing
PDF
Abrasive, erosive and cavitation wear.pdf
PDF
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
PDF
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
PDF
737-MAX_SRG.pdf student reference guides
PPTX
Fundamentals of safety and accident prevention -final (1).pptx
PDF
Soil Improvement Techniques Note - Rabbi
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
August 2025 - Top 10 Read Articles in Network Security & Its Applications
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
Management Information system : MIS-e-Business Systems.pptx
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
Artificial Intelligence
R24 SURVEYING LAB MANUAL for civil enggi
Visual Aids for Exploratory Data Analysis.pdf
Design Guidelines and solutions for Plastics parts
communication and presentation skills 01
Software Engineering and software moduleing
Abrasive, erosive and cavitation wear.pdf
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
737-MAX_SRG.pdf student reference guides
Fundamentals of safety and accident prevention -final (1).pptx
Soil Improvement Techniques Note - Rabbi

software view and quality attribute of SA

  • 2. Software Architecture  Software Architecture is a set of software structures that describe the organization of a system — including how it's coded (modules), how it works at runtime (components), and where it's deployed (hardware/cloud).  Each structure helps different people:  Developers care about module structure (code organization).  System integrators care about components and connectors (how systems talk).  IT engineers care about deployment (where it runs).
  • 3. Real-world example like Swiggy (online food delivery app). 1. Module Structure Focus: Code organization (like packages, classes, files). Example in Swiggy: [User App] [API Gateway] [Backend Services] ⇄ ⇄ ↓ [Order Service] [Restaurant Service] ⇄ ↓ [Payment Service] 2.Components and Connectors Each box is a component. Arrows are connectors like REST API, WebSocket, etc.
  • 4. Real-world example like Swiggy (online food delivery app). 3. Allocation Structure Focus: Mapping software onto hardware/resources. Example in Swiggy: Mobile App → User Device (Android/iOS) Backend APIs → Cloud Server (AWS/GCP) Database → Managed DB Service Image CDN → CloudFront (for food images)
  • 5. Architectural Patterns Composition of architeral elements called Architectural Patterns provide packaged strategies for solving some of the problems facing a system. An Architectural Patterns determines the elements types and their forms of interaction used in solving the problem. Patterns can be characterized according to the type of architectural elements they use.
  • 6. Architectural Patterns with real-world examples (like Flipkart) 1. Module Type Pattern 🔹 Layered Architecture – Flipkart Flipkart Example: Presentation Layer: User Interface (App or Website) Business Logic Layer: Cart, Wishlist, Order processing logic Data Access Layer: APIs for database interactions Database Layer: Product, user, order data
  • 7. Architectural Patterns with real-world examples (like Flipkart) 2. Component and Connector Patterns 🔹 Shared Data Pattern – Swiggy (Restaurant & Delivery Coordination) All services (restaurant listing, delivery allocation, reviews) use a central database/repository. Client-Server Pattern – Flipkart or Amazon  Client: Flipkart app or website  Server: Backend server (Node.js, Java) that processes requests
  • 8. Architectural Patterns with real-world examples (like Flipkart) 3.Allocation Type Patterns 🔹 Multi-Tier Pattern – Swiggy Swiggy tiers: Tier 1: UI/Frontend (Android/iOS app) Tier 2: Application Server (order logic, delivery assignment) Tier 3: Database (PostgreSQL, DynamoDB)
  • 9. Structures and Views  A view is a representaion of a coherent set of architectural elements,as written by and read by system stakeholders.  A structure is the set of elements itself,as they exist in software or hardware.
  • 10. Views  A view is a representaion of a coherent set of architectural elements,as  written by and read by system stakeholders.  A view shows how a system appears from the perspective of one or more  stakeholders. It focuses on specific aspects of the system, such as structure,  behavior, deployment, or development.  Each view answers questions like:  What components exist and how do they interact? (Logical/Module View)  How does the system behave at runtime? (Process/View)  Where is the system deployed physically? (Deployment View)
  • 11. Common types of views View Type Description Stakeholders Logical View Shows the system’s functional elements and their relationships. Often represented with class or component diagrams. Designers, developers Development View Also called Module View, shows how the system is organized in the development environment— modules, packages, libraries. Developers Process View Describes runtime behavior, concurrency, and communication between processes. Performance engineers Physical View Shows the physical deployment of software artifacts on hardware nodes. DevOps, IT engineers +1. Use Case View Shows end-user functionality and scenarios through use cases or user stories. Customers, testers
  • 12. Useful Architectural Structures View Type Software Structure Element Types Relations  Quality Attributes Affected Module Structures Decomposition Module Is a submodule of  Modifiability Uses Module Uses(i.e.requires the correct presence of)  Subsetability,  extensibility Layers Layer Requires the correct presence of uses the services of provides abstraction to. Portability, extensibility Class Class, Object Is an instance of,shares access methods of  Modifiability,  extensibility Data model Data entity (one-many) to (one,many), Generalizes, specializers  Modifiability,  performance
  • 13. Useful Architectural Structures View Type Software Structure Element Types Relations  Quality Attributes Affected C & C Structures Service Service,ESB,registry, others Runs concurrently with ,may run concurrently with,excludes ,precedes etc. Interoperability, Modifiability Concurrency Processes,threads Can run in parallel  Performance Availability
  • 14. Useful Architectural Structures View Type Software Structure Element Types Relations  Quality Attributes Affected Allocation Structures Deployment Components,hardware elements Allocated to,migrates to  Performance, availability,se curity Implementation Modules,file structure Stored in  Development efficiency Work assignment Modules,organizational units Assigned to Development efficiency
  • 15. Quality attributes  In Software Architecture, quality attributes (also called non-functional requirements) define how well a system performs under various conditions.  They are crucial for evaluating the effectiveness, usability, and reliability of a system — beyond just its functional behavior.
  • 16. Quality attributes  1. Performance: Definition  How quickly and efficiently the system responds to inputs and completes tasks under various conditions.  Examples:Fast search  Response time : Total time to complete the request.  Example:2 seconds per order  Throughput :How much work the system can handle efficiently over time.  Example : 200 orders/min  Latency : Waiting time before the system starts responding.  Example :If it takes 300ms before you see the “Order Confirmed” screen start loading — that’s latency.
  • 17. Quality attributes  Resource utilization:Deciding what system resources are given to which software component, when, and how much.  Example :  Think of a restaurant kitchen:  Head chef (CPU) does heavy tasks.  Helpers (RAM) handle prep work quickly.  Pantry (Disk) stores all ingredients.  Waiters (Network) take orders to and from tables.
  • 18. Quality attributes  2. Modifiability  Definition:  How easily the system can be changed or updated after deployment.  Examples:  Adding new features  Fixing bugs  Adapting to new requirements  In a food delivery app:  Add a new payment option (e.g., UPI or crypto) without affecting existing modules.  Modify UI for a festival discount without changing backend logic.
  • 19. Quality attributes  3. Security  Definition:  Protection of system data and operations against unauthorized access, misuse, or attacks.  Examples:  Authentication and authorization  Data encryption  Secure communication (HTTPS)  Audit logs  In a food delivery app:  Only logged-in users can place an order.  Encrypt customer payment data.  Delivery agents should only access their assigned orders.
  • 20. Quality attributes  4. Usability  Definition:  How easy and efficient it is for users to learn, use, and interact with the system.  Examples:  Intuitive UI/UX  Meaningful error messages  Accessibility support  In a food delivery app:  Simple UI to browse restaurants, track orders.  Easy filters (veg, offers, ratings).  Minimal steps to checkout.