SlideShare a Scribd company logo
1 of 28
Software
Architectural Design
by:
Dr. Bharat V. Chawda
Computer Engineering Department,
BBIT, VVNagar, Gujarat, India
1
Overview
 Introduction
 Architectural Design Decisions
 Architectural Views
 Architectural Patterns
 Application Architectures
(As per GTU Curriculum – Diploma in Computer/IT Engineering)
Based on Books:
1. Software Engineering – by Ian Sommerville
2
Introduction
 Architectural Design
 Concerned with –
 Understanding: how a system should be organized &
 Designing: the overall structure of the system.
3
Architectural Design Decisions
 Some fundamental questions…
 Is Generic application architecture available?
 What is the fundamental approach to structure
system?
 What architectural patterns or styles might be used?
 Which architecture is best: Non-fun requirements?
 How: system is distributed across cores &
processors?
 How: Structural components  sub-components?
 What Strategy will be used to control op of
components?
 How architectural design will be evaluated?
 How sys architecture will be documented?
4
Architectural Views
 Logical View
 Shows key abstractions in system as Objects or Classes
 System requirements r related to entities
 Process View
 Shows: how sys is composed of interacting processes
 Useful 4 making judgments about non-functional req.
 Development View
 Shows: how SW is decomposed for development
 Useful for SW managers and programmers
 Physical View
 Shows: sys HW; How SW components r distributed…
 Useful 4 sys engineers : planning a system deployment
5
Architectural Patterns
 MVC (Model-View-Controller) Architecture
 Layered Architecture
 Repository Architecture
 Client-Server Architecture
 Pipe and Filter Architecture
6
MVC Architecture
7
MVC Architecture: Example
8
MVC Architecture: Concept
 Concept
 Separates presentation and interaction from sys data
 Model: Manages system data & associated operations
 View: Manages how data is presented to the user
 Controller: Manages user interactions; passes to M, V
 When used
 There are multiple ways to view & interact with data
 Future requirements for interaction and presentation of
data are unknown
9
MVC Architecture: Ad-Disad
 Advantage
 Allows data to change independently of its
representation and vice versa
 Supports presentation of the same data in different
ways
 Disadvantage
 Can involve additional code and code complexity: when
data model and interactions are simple
10
Layered Architecture
 Concept
11
Layered Architecture: Example
 Library System
12
Layered Architecture: Concept
 Concept
 Organizes the system into layers: Each layer has some
functionality
 A layer provides services to the layer above it
 Lowest-level layers provide core services: likely to be
used throughout the system
 When used
 Building new facilities on top of existing systems
 Development is spread across several teams…
 Requirement for multi-level security
13
Layered Architecture: Ad-Disad
 Advantage
 Allows replacement of entire layer without affecting
system
 Redundant facilities can be provided in each layer to
increase dependability; Ex: Authentication
 Disadvantage
 Providing clean separation between layers is difficult
 Service request is processed at each layer  May affect
the performance
14
Repository Architecture: Ex
 IDE
15
Repository Architecture: Concept
 Concept
 All data in a system is managed in a central database
(repository) : accessible to all components
 Components do not interact directly; but through
repository
 When used
 Systems having large volumes of data/info : need to be
stored for a long time
16
Repository Architecture: Ad-Disad
 Advantage
 Components can be independent – do not need to
know existence of other components
 Consistent data management
 Changes made by one component can be propagated
to all components
 Disadvantage
 Repository is a single point of failure
 Distributing repository across several computers may
be difficult
17
Client-Server Architecture: Ex
 Film/Video Library
18
Client-Server Arch: Concept
 Concept
 Functionality of the system is organized into services:
each service delivered from a separate server
 Clients are users of these services; Access servers to
make use of them
 When used
 Data in shared database need to be accessed from a
range of locations
 Load on a system is variable: As servers can be
replicated
19
Client-Server Arch: Ad-Disad
 Advantage
 Servers can be distributed across a network
 General functionality can be available to all clients: No
need to be implemented by all services: Ex – Printing
Service
 Disadvantage
 Each service is a single point of failure: Denial of
Service; Server Failure
 Unpredictable performance: depends upon network +
system
 Management prob possible: servers r owned by diff org
20
Pipe & Filter Architecture: Ex
 Invoice Management
21
Pipe n Filter Arch: Concept
 Concept
 Processing of data : Set of components  Filters
 Filters: discrete, transforms data
 Data flows from one component to another as in pipes
 When used
 In data processing applications : Inputs are processed
in separate stages to generate related outputs
 Ex: Batch processing, Transaction-based processing
22
Pipe n Filter Arch: Ad-Disad
 Advantage
 Easy to understand; Supports transformation reuse
 Evolution by adding transformations is straight forward
 Can be implemented: Sequential or Concurrent
 Disadvantage
 Data need to be parsed or unparsed as per format of
different components
 This increases system overhead
 Transformation can’t be reused if uses incompatible
data structures
23
Application Architectures
 What?
 Applications –
 As a starting point for the architectural design process
 As a design check list
 As a way of organizing the work of the development
team
 As a means for assessing components for reuse
 As a vocabulary for talking about types of applications
24
App Arch: Transaction Processing Sys
 Example: ATM System
25
App Arch: Information Systems
 Example: Hospital System
26
App Arch: Language Processing Sys
 Example: Language Processing System
27
Thank-U…!!!
28

More Related Content

Similar to SE2023 0207 Software Architectural Design.pptx

Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdfSoftware Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdfProf. Dr. K. Adisesha
 
Architectural Design.pptx
Architectural Design.pptxArchitectural Design.pptx
Architectural Design.pptxssuser8c0d24
 
MOD_Architectural_Design_Chap6_Summary.pdf
MOD_Architectural_Design_Chap6_Summary.pdfMOD_Architectural_Design_Chap6_Summary.pdf
MOD_Architectural_Design_Chap6_Summary.pdfTigabu Yaya
 
Elements of systems design
Elements of systems designElements of systems design
Elements of systems designChandan Arora
 
Exploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with DaliExploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with DaliCarl Steinbach
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering arvind pandey
 
Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingHaseeb Rehman
 
Architectural Design
Architectural DesignArchitectural Design
Architectural DesignJay Thakkar
 
Distributed information sys
Distributed information sysDistributed information sys
Distributed information sysMeena Chauhan
 
Models of Distributed System
Models of Distributed SystemModels of Distributed System
Models of Distributed SystemAshish KC
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11koolkampus
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9Ian Sommerville
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecturetahir khan
 

Similar to SE2023 0207 Software Architectural Design.pptx (20)

Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdfSoftware Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
 
Architectural Design.pptx
Architectural Design.pptxArchitectural Design.pptx
Architectural Design.pptx
 
MOD_Architectural_Design_Chap6_Summary.pdf
MOD_Architectural_Design_Chap6_Summary.pdfMOD_Architectural_Design_Chap6_Summary.pdf
MOD_Architectural_Design_Chap6_Summary.pdf
 
Elements of systems design
Elements of systems designElements of systems design
Elements of systems design
 
Exploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with DaliExploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with Dali
 
Ch 6
Ch 6Ch 6
Ch 6
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
Lecture 6 se
Lecture 6 seLecture 6 se
Lecture 6 se
 
Ch6
Ch6Ch6
Ch6
 
Ch6
Ch6Ch6
Ch6
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server Computing
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
Distributed information sys
Distributed information sysDistributed information sys
Distributed information sys
 
Models of Distributed System
Models of Distributed SystemModels of Distributed System
Models of Distributed System
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
J2 ee archi
J2 ee archiJ2 ee archi
J2 ee archi
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 

More from Bharat Chawda

SE2023 0102 SDLC Models.pdf
SE2023 0102 SDLC Models.pdfSE2023 0102 SDLC Models.pdf
SE2023 0102 SDLC Models.pdfBharat Chawda
 
SE2023 0401 Software Coding and Testing.pptx
SE2023 0401 Software Coding and Testing.pptxSE2023 0401 Software Coding and Testing.pptx
SE2023 0401 Software Coding and Testing.pptxBharat Chawda
 
SE2023 0301 Software Project Management.pptx
SE2023 0301 Software Project Management.pptxSE2023 0301 Software Project Management.pptx
SE2023 0301 Software Project Management.pptxBharat Chawda
 
SE2023 0206 Use Case Diagram.pptx
SE2023 0206 Use Case Diagram.pptxSE2023 0206 Use Case Diagram.pptx
SE2023 0206 Use Case Diagram.pptxBharat Chawda
 
SE2023 0205 Activity Diagram.pptx
SE2023 0205 Activity Diagram.pptxSE2023 0205 Activity Diagram.pptx
SE2023 0205 Activity Diagram.pptxBharat Chawda
 
SE2023 0204 Data Modeling.pptx
SE2023 0204 Data Modeling.pptxSE2023 0204 Data Modeling.pptx
SE2023 0204 Data Modeling.pptxBharat Chawda
 
SE2023 0203 Inventory System.pptx
SE2023 0203 Inventory System.pptxSE2023 0203 Inventory System.pptx
SE2023 0203 Inventory System.pptxBharat Chawda
 
SE2023 0202 DFD.pptx
SE2023 0202 DFD.pptxSE2023 0202 DFD.pptx
SE2023 0202 DFD.pptxBharat Chawda
 
SE2023 0201 Software Analysis and Design.pptx
SE2023 0201 Software Analysis and Design.pptxSE2023 0201 Software Analysis and Design.pptx
SE2023 0201 Software Analysis and Design.pptxBharat Chawda
 
SE2023 0101 Software Development Process.pptx
SE2023 0101 Software Development Process.pptxSE2023 0101 Software Development Process.pptx
SE2023 0101 Software Development Process.pptxBharat Chawda
 
Book Store Management System - Functional Requirements - 2021
Book Store Management System - Functional Requirements - 2021Book Store Management System - Functional Requirements - 2021
Book Store Management System - Functional Requirements - 2021Bharat Chawda
 
Book Store Management System - Database Design - 2021
Book Store Management System - Database Design - 2021Book Store Management System - Database Design - 2021
Book Store Management System - Database Design - 2021Bharat Chawda
 
ECHM - Ecology and environment
ECHM - Ecology and environmentECHM - Ecology and environment
ECHM - Ecology and environmentBharat Chawda
 

More from Bharat Chawda (13)

SE2023 0102 SDLC Models.pdf
SE2023 0102 SDLC Models.pdfSE2023 0102 SDLC Models.pdf
SE2023 0102 SDLC Models.pdf
 
SE2023 0401 Software Coding and Testing.pptx
SE2023 0401 Software Coding and Testing.pptxSE2023 0401 Software Coding and Testing.pptx
SE2023 0401 Software Coding and Testing.pptx
 
SE2023 0301 Software Project Management.pptx
SE2023 0301 Software Project Management.pptxSE2023 0301 Software Project Management.pptx
SE2023 0301 Software Project Management.pptx
 
SE2023 0206 Use Case Diagram.pptx
SE2023 0206 Use Case Diagram.pptxSE2023 0206 Use Case Diagram.pptx
SE2023 0206 Use Case Diagram.pptx
 
SE2023 0205 Activity Diagram.pptx
SE2023 0205 Activity Diagram.pptxSE2023 0205 Activity Diagram.pptx
SE2023 0205 Activity Diagram.pptx
 
SE2023 0204 Data Modeling.pptx
SE2023 0204 Data Modeling.pptxSE2023 0204 Data Modeling.pptx
SE2023 0204 Data Modeling.pptx
 
SE2023 0203 Inventory System.pptx
SE2023 0203 Inventory System.pptxSE2023 0203 Inventory System.pptx
SE2023 0203 Inventory System.pptx
 
SE2023 0202 DFD.pptx
SE2023 0202 DFD.pptxSE2023 0202 DFD.pptx
SE2023 0202 DFD.pptx
 
SE2023 0201 Software Analysis and Design.pptx
SE2023 0201 Software Analysis and Design.pptxSE2023 0201 Software Analysis and Design.pptx
SE2023 0201 Software Analysis and Design.pptx
 
SE2023 0101 Software Development Process.pptx
SE2023 0101 Software Development Process.pptxSE2023 0101 Software Development Process.pptx
SE2023 0101 Software Development Process.pptx
 
Book Store Management System - Functional Requirements - 2021
Book Store Management System - Functional Requirements - 2021Book Store Management System - Functional Requirements - 2021
Book Store Management System - Functional Requirements - 2021
 
Book Store Management System - Database Design - 2021
Book Store Management System - Database Design - 2021Book Store Management System - Database Design - 2021
Book Store Management System - Database Design - 2021
 
ECHM - Ecology and environment
ECHM - Ecology and environmentECHM - Ecology and environment
ECHM - Ecology and environment
 

Recently uploaded

State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!Memoori
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jNeo4j
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxNeo4j
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform EngineeringMarcus Vechiato
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfSrushith Repakula
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentationyogeshlabana357357
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 

Recently uploaded (20)

State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 

SE2023 0207 Software Architectural Design.pptx

  • 1. Software Architectural Design by: Dr. Bharat V. Chawda Computer Engineering Department, BBIT, VVNagar, Gujarat, India 1
  • 2. Overview  Introduction  Architectural Design Decisions  Architectural Views  Architectural Patterns  Application Architectures (As per GTU Curriculum – Diploma in Computer/IT Engineering) Based on Books: 1. Software Engineering – by Ian Sommerville 2
  • 3. Introduction  Architectural Design  Concerned with –  Understanding: how a system should be organized &  Designing: the overall structure of the system. 3
  • 4. Architectural Design Decisions  Some fundamental questions…  Is Generic application architecture available?  What is the fundamental approach to structure system?  What architectural patterns or styles might be used?  Which architecture is best: Non-fun requirements?  How: system is distributed across cores & processors?  How: Structural components  sub-components?  What Strategy will be used to control op of components?  How architectural design will be evaluated?  How sys architecture will be documented? 4
  • 5. Architectural Views  Logical View  Shows key abstractions in system as Objects or Classes  System requirements r related to entities  Process View  Shows: how sys is composed of interacting processes  Useful 4 making judgments about non-functional req.  Development View  Shows: how SW is decomposed for development  Useful for SW managers and programmers  Physical View  Shows: sys HW; How SW components r distributed…  Useful 4 sys engineers : planning a system deployment 5
  • 6. Architectural Patterns  MVC (Model-View-Controller) Architecture  Layered Architecture  Repository Architecture  Client-Server Architecture  Pipe and Filter Architecture 6
  • 9. MVC Architecture: Concept  Concept  Separates presentation and interaction from sys data  Model: Manages system data & associated operations  View: Manages how data is presented to the user  Controller: Manages user interactions; passes to M, V  When used  There are multiple ways to view & interact with data  Future requirements for interaction and presentation of data are unknown 9
  • 10. MVC Architecture: Ad-Disad  Advantage  Allows data to change independently of its representation and vice versa  Supports presentation of the same data in different ways  Disadvantage  Can involve additional code and code complexity: when data model and interactions are simple 10
  • 13. Layered Architecture: Concept  Concept  Organizes the system into layers: Each layer has some functionality  A layer provides services to the layer above it  Lowest-level layers provide core services: likely to be used throughout the system  When used  Building new facilities on top of existing systems  Development is spread across several teams…  Requirement for multi-level security 13
  • 14. Layered Architecture: Ad-Disad  Advantage  Allows replacement of entire layer without affecting system  Redundant facilities can be provided in each layer to increase dependability; Ex: Authentication  Disadvantage  Providing clean separation between layers is difficult  Service request is processed at each layer  May affect the performance 14
  • 16. Repository Architecture: Concept  Concept  All data in a system is managed in a central database (repository) : accessible to all components  Components do not interact directly; but through repository  When used  Systems having large volumes of data/info : need to be stored for a long time 16
  • 17. Repository Architecture: Ad-Disad  Advantage  Components can be independent – do not need to know existence of other components  Consistent data management  Changes made by one component can be propagated to all components  Disadvantage  Repository is a single point of failure  Distributing repository across several computers may be difficult 17
  • 18. Client-Server Architecture: Ex  Film/Video Library 18
  • 19. Client-Server Arch: Concept  Concept  Functionality of the system is organized into services: each service delivered from a separate server  Clients are users of these services; Access servers to make use of them  When used  Data in shared database need to be accessed from a range of locations  Load on a system is variable: As servers can be replicated 19
  • 20. Client-Server Arch: Ad-Disad  Advantage  Servers can be distributed across a network  General functionality can be available to all clients: No need to be implemented by all services: Ex – Printing Service  Disadvantage  Each service is a single point of failure: Denial of Service; Server Failure  Unpredictable performance: depends upon network + system  Management prob possible: servers r owned by diff org 20
  • 21. Pipe & Filter Architecture: Ex  Invoice Management 21
  • 22. Pipe n Filter Arch: Concept  Concept  Processing of data : Set of components  Filters  Filters: discrete, transforms data  Data flows from one component to another as in pipes  When used  In data processing applications : Inputs are processed in separate stages to generate related outputs  Ex: Batch processing, Transaction-based processing 22
  • 23. Pipe n Filter Arch: Ad-Disad  Advantage  Easy to understand; Supports transformation reuse  Evolution by adding transformations is straight forward  Can be implemented: Sequential or Concurrent  Disadvantage  Data need to be parsed or unparsed as per format of different components  This increases system overhead  Transformation can’t be reused if uses incompatible data structures 23
  • 24. Application Architectures  What?  Applications –  As a starting point for the architectural design process  As a design check list  As a way of organizing the work of the development team  As a means for assessing components for reuse  As a vocabulary for talking about types of applications 24
  • 25. App Arch: Transaction Processing Sys  Example: ATM System 25
  • 26. App Arch: Information Systems  Example: Hospital System 26
  • 27. App Arch: Language Processing Sys  Example: Language Processing System 27