Architectural Design
Software architecture
• The design process for identifying the sub-systems
making up a system and the framework for sub-
system control and communication is architectural
design
• The output of this design process is a description of
the software architecture
Architectural design
• An early stage of the system design process
• Represents the link between specification and design
processes
• Often carried out in parallel with some specification
activities
• It involves identifying major system components and
their communications
Advantages of explicit architecture
• Stakeholder communication
– Architecture may be used as a focus of discussion
by system stakeholders
• System analysis
– Means that analysis of whether the system can
meet its non-functional requirements is possible
• Large-scale reuse
– The architecture may be reusable across a range of
systems
Architectural design process
• System structuring
– The system is decomposed into several principal sub-
systems and communications between these sub-
systems are identified
• Control modelling
– A model of the control relationships between the
different parts of the system is established
• Modular decomposition
– The identified sub-systems are decomposed into
modules
Sub-systems and modules
• A sub-system is a system in its own right whose
operation is independent of the services provided by
other sub-systems.
• A module is a system component that provides
services to other components but would not normally
be considered as a separate system
Architectural models
• Different architectural models may be produced
during the design process
• Each model presents different perspectives on the
architecture
Architectural models
• Static structural model that shows the major system
components
• Dynamic process model that shows the process
structure of the system
• Interface model that defines sub-system interfaces
• Relationships model such as a data-flow model
Architecture attributes
• Performance
– Localise operations to minimise sub-system
communication
• Security
– Use a layered architecture with critical assets in inner
layers
• Safety
– Isolate safety-critical components
• Availability
– Include redundant components in the architecture
• Maintainability
– Use fine-grain, self-contained components
System structuring
• Concerned with decomposing the system into
interacting sub-systems
• The architectural design is normally expressed
as a block diagram presenting an overview of
the system structure
• More specific models showing how sub-
systems share data, are distributed and
interface with each other may also be
developed
Packing robot control system
Vision
system
Object
identification
system
A
rm
cont
roller
Gripper
controller
Packaging
selection
system
Packing
system
Conveyor
controller
Cont…
• System Structuring
– The Repository Model
– The Client Server Model
– The Layered Model
• Modular Decomposition
– Data Flow diagram
– Object Model
• Control Styles
– Centralized
• Call return
• Manager
– Event based
• Broadcasting
• Interrupt Driven
The repository model
• Sub-systems must exchange data. This may be
done in two ways:
– Shared data is held in a central database or
repository and may be accessed by all sub-systems
– Each sub-system maintains its own database and
passes data explicitly to other sub-systems
• When large amounts of data are to be shared,
the repository model of sharing is most
commonly used
Cont…
• Disadvantages
– Sub-systems must agree on a repository data
model. Inevitably a compromise
– Data evolution is difficult and expensive
– No scope for specific management policies
– Difficult to distribute efficiently
Example
Project
repository
Design
translator
Program
editor
Design
editor
Code
generator
Design
analyser
Report
generator
Repository model characteristics
• Advantages
– Efficient way to share large amounts of data
– Sub-systems need not be concerned with how data
is produced Centralised management e.g. backup,
security, etc.
– Sharing model is published as the repository
schema
Client-server architecture
• Distributed system model which shows how data and
processing is distributed across a range of
components
• Set of stand-alone servers which provide specific
services such as printing, data management, etc.
• Set of clients which call on these services
• Network which allows clients to access servers
Film and picture library
Catalogue
server
Catalogue
Video
server
Film clip
files
Picture
server
Digitized
photographs
Hypertext
server
Hypertext
web
Client 1 Client 2 Client 3 Client 4
Wide-bandwidth network
Client-server characteristics
• Advantages
– Distribution of data is straightforward
– Makes effective use of networked systems. May
require cheaper hardware
– Easy to add new servers or upgrade existing servers
• Disadvantages
– No shared data model so sub-systems use different
data organisation. data interchange may be inefficient
– Redundant management in each server
– No central register of names and services - it may be
hard to find out what servers and services are available
Abstract machine model
• Used to model the interfacing of sub-systems
• Organises the system into a set of layers (or abstract
machines) each of which provide a set of services
• Supports the incremental development of sub-systems
in different layers. When a layer interface changes,
only the adjacent layer is affected
• However, often difficult to structure systems in this
way
Version management system
Operating
system
Databasesystem
Object management
Version management
Control models
• Are concerned with the control flow between sub-
systems. Distinct from the system decomposition
model
• Centralised control
– One sub-system has overall responsibility for control
and starts and stops other sub-systems
• Event-based control
– Each sub-system can respond to externally generated
events from other sub-systems or the system’s
environment
Centralised control
• A control sub-system takes responsibility for
managing the execution of other sub-systems
• Call-return model
– Top-down subroutine model where control starts at the
top of a subroutine hierarchy and moves downwards.
Applicable to sequential systems
• Manager model
– Applicable to concurrent systems. One system
component controls the stopping, starting and
coordination of other system processes. Can be
implemented in sequential systems as a case statement
Call-return model
Routine 1.2
Routine 1.1 Routine 3.2
Routine 3.1
Routine 2 Routine 3
Routine 1
Main
program
Manager Model
System
controller
User
interface
Fault
handler
Computation
processes
Actuator
processes
Sensor
processes
Event-driven systems
• Driven by externally generated events where the timing
of the event is outwith the control of the sub-systems
which process the event
• Two principal event-driven models
– Broadcast models. An event is broadcast to all sub-systems.
Any sub-system which can handle the event may do so
– Interrupt-driven models. Used in real-time systems where
interrupts are detected by an interrupt handler and passed to
some other component for processing
• Other event driven models include spreadsheets and
production systems
Broadcast model
• Effective in integrating sub-systems on different
computers in a network
• Sub-systems register an interest in specific events.
When these occur, control is transferred to the
sub-system which can handle the event
• Control policy is not embedded in the event and
message handler. Sub-systems decide on events of
interest to them
• However, sub-systems don’t know if or when an
event will be handled
Cont...
Sub-system
1
Event and message handler
Sub-system
2
Sub-system
3
Sub-system
4
Interrupt-driven systems
• Used in real-time systems where fast response to an
event is essential
• There are known interrupt types with a handler
defined for each type
• Each type is associated with a memory location and a
hardware switch causes transfer to its handler
• Allows fast response but complex to program and
difficult to validate
Interrupt-driven control
Handler
1
Handler
2
Handler
3
Handler
4
Process
1
Process
2
Process
3
Process
4
Interrupts
Interrupt
vector
Modular decomposition
• Another structural level where sub-systems are
decomposed into modules
• Two modular decomposition models covered
– An object model where the system is decomposed into
interacting objects
– A data-flow model where the system is decomposed
into functional modules which transform inputs to
outputs. Also known as the pipeline model
• If possible, decisions about concurrency should be
delayed until modules are implemented
Object models
• Structure the system into a set of loosely coupled
objects with well-defined interfaces
• Object-oriented decomposition is concerned with
identifying object classes, their attributes and
operations
• When implemented, objects are created from these
classes and some control model used to coordinate
object operations
Invoice processing system
issue ()
sendReminder ()
acceptPayment ()
sendReceipt ()
invoice#
date
amount
customer
Invoice
invoice#
date
amount
customer#
Receipt
invoice#
date
amount
customer#
Payment
customer#
name
address
credit period
Customer
Data-flow models
• Functional transformations process their inputs to
produce outputs
• May be referred to as a pipe and filter model (as in
UNIX shell)
• Variants of this approach are very common. When
transformations are sequential, this is a batch
sequential model which is extensively used in data
processing systems
• Not really suitable for interactive systems
Invoice processing system
Read issued
invoices
Identify
payments
Issue
receipts
Find
payments
due
Receipts
Issue
payment
reminder
Reminders
Invoices Payments
Thank you
References
• https://www.google.com/search?q=user+interf
ace+design+ppt&oq=user+interface+design+p
pt&aqs=chrome..69i57j0l7.7652j1j7&sourceid
=chrome&ie=UTF-8

More Related Content

PDF
Architecture Design in Software Engineering
PPT
Chapter 6 - Architectural Design.pptbbbb
PPT
Architectural Design.pptArchitectural Design.ppt
PDF
Unit 5- Architectural Design in software engineering
PPTX
10 architectural design
PPTX
10 architectural design (1)
PPT
Architectural Design in Software Engineering SE10
ODP
Sen2 Architectural Design
Architecture Design in Software Engineering
Chapter 6 - Architectural Design.pptbbbb
Architectural Design.pptArchitectural Design.ppt
Unit 5- Architectural Design in software engineering
10 architectural design
10 architectural design (1)
Architectural Design in Software Engineering SE10
Sen2 Architectural Design

Similar to architeral design.pptx (20)

PPT
Architectural design1
PPT
Architectural design1
PPTX
VTU_SE_Module-4_b) Architectural Design.pptx
PDF
A Presentation on Architectual Design by Students of Engineering
PDF
An Introduction to Software Architecture - Summary
PPT
Software engg. pressman_ch-10
PPT
corporate.trainings.ppt on energy sample model
PPT
Software Architecture and patterns by Adelphi unicersity
PPTX
PPT
architectural design
PPT
software Architectural Design software engineering
PPTX
Unit_4_Software_Design.pptx
PPT
Software artitchteure
PPT
Chapter 7 Basic Building of SE Architecture.ppt
PPTX
Lecture-12-Architecture Design.pptx
PPTX
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
PPTX
chapter-1Introduction to DS,Issues and Architecture.pptx
PPT
Architec design introduction
PPT
Software architecture unit 4
Architectural design1
Architectural design1
VTU_SE_Module-4_b) Architectural Design.pptx
A Presentation on Architectual Design by Students of Engineering
An Introduction to Software Architecture - Summary
Software engg. pressman_ch-10
corporate.trainings.ppt on energy sample model
Software Architecture and patterns by Adelphi unicersity
architectural design
software Architectural Design software engineering
Unit_4_Software_Design.pptx
Software artitchteure
Chapter 7 Basic Building of SE Architecture.ppt
Lecture-12-Architecture Design.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
chapter-1Introduction to DS,Issues and Architecture.pptx
Architec design introduction
Software architecture unit 4

Recently uploaded (20)

PPTX
highway-150803160405-lva1-app6891 (1).pptx
PPTX
Soft Skills Unit 2 Listening Speaking Reading Writing.pptx
PDF
CB Công Nghiệp Slide .dh bách khoa đà nẵng
PPTX
240409 Data Center Training Programs by Uptime Institute (Drafting).pptx
PDF
V2500 Owner and Operatore Guide for Airbus
PPTX
MODULE 02 - CLOUD COMPUTING-Virtual Machines and Virtualization of Clusters a...
PDF
Recent Trends in Network Security - 2025
PPTX
Unit I - Mechatronics.pptx presentation
PDF
Software defined netwoks is useful to learn NFV and virtual Lans
PPT
Unit - I.lathemachnespct=ificationsand ppt
PPTX
1. Effective HSEW Induction Training - EMCO 2024, O&M.pptx
PPTX
quantum theory on the next future in.pptx
PDF
BBC NW_Tech Facilities_30 Odd Yrs Ago [J].pdf
PPTX
ARCHITECTURE AND PROGRAMMING OF EMBEDDED SYSTEMS
PPTX
Cloud Security and Privacy-Module-1.pptx
PPTX
22ME926Introduction to Business Intelligence and Analytics, Advanced Integrat...
PDF
Introduction to Machine Learning -Basic concepts,Models and Description
PDF
PhD defense presentation in field of Computer Science
PDF
IAE-V2500 Engine for Airbus Family 319/320
PPTX
IOP Unit 1.pptx for btech 1st year students
highway-150803160405-lva1-app6891 (1).pptx
Soft Skills Unit 2 Listening Speaking Reading Writing.pptx
CB Công Nghiệp Slide .dh bách khoa đà nẵng
240409 Data Center Training Programs by Uptime Institute (Drafting).pptx
V2500 Owner and Operatore Guide for Airbus
MODULE 02 - CLOUD COMPUTING-Virtual Machines and Virtualization of Clusters a...
Recent Trends in Network Security - 2025
Unit I - Mechatronics.pptx presentation
Software defined netwoks is useful to learn NFV and virtual Lans
Unit - I.lathemachnespct=ificationsand ppt
1. Effective HSEW Induction Training - EMCO 2024, O&M.pptx
quantum theory on the next future in.pptx
BBC NW_Tech Facilities_30 Odd Yrs Ago [J].pdf
ARCHITECTURE AND PROGRAMMING OF EMBEDDED SYSTEMS
Cloud Security and Privacy-Module-1.pptx
22ME926Introduction to Business Intelligence and Analytics, Advanced Integrat...
Introduction to Machine Learning -Basic concepts,Models and Description
PhD defense presentation in field of Computer Science
IAE-V2500 Engine for Airbus Family 319/320
IOP Unit 1.pptx for btech 1st year students

architeral design.pptx

  • 2. Software architecture • The design process for identifying the sub-systems making up a system and the framework for sub- system control and communication is architectural design • The output of this design process is a description of the software architecture
  • 3. Architectural design • An early stage of the system design process • Represents the link between specification and design processes • Often carried out in parallel with some specification activities • It involves identifying major system components and their communications
  • 4. Advantages of explicit architecture • Stakeholder communication – Architecture may be used as a focus of discussion by system stakeholders • System analysis – Means that analysis of whether the system can meet its non-functional requirements is possible • Large-scale reuse – The architecture may be reusable across a range of systems
  • 5. Architectural design process • System structuring – The system is decomposed into several principal sub- systems and communications between these sub- systems are identified • Control modelling – A model of the control relationships between the different parts of the system is established • Modular decomposition – The identified sub-systems are decomposed into modules
  • 6. Sub-systems and modules • A sub-system is a system in its own right whose operation is independent of the services provided by other sub-systems. • A module is a system component that provides services to other components but would not normally be considered as a separate system
  • 7. Architectural models • Different architectural models may be produced during the design process • Each model presents different perspectives on the architecture
  • 8. Architectural models • Static structural model that shows the major system components • Dynamic process model that shows the process structure of the system • Interface model that defines sub-system interfaces • Relationships model such as a data-flow model
  • 9. Architecture attributes • Performance – Localise operations to minimise sub-system communication • Security – Use a layered architecture with critical assets in inner layers • Safety – Isolate safety-critical components • Availability – Include redundant components in the architecture • Maintainability – Use fine-grain, self-contained components
  • 10. System structuring • Concerned with decomposing the system into interacting sub-systems • The architectural design is normally expressed as a block diagram presenting an overview of the system structure • More specific models showing how sub- systems share data, are distributed and interface with each other may also be developed
  • 11. Packing robot control system Vision system Object identification system A rm cont roller Gripper controller Packaging selection system Packing system Conveyor controller
  • 12. Cont… • System Structuring – The Repository Model – The Client Server Model – The Layered Model • Modular Decomposition – Data Flow diagram – Object Model • Control Styles – Centralized • Call return • Manager – Event based • Broadcasting • Interrupt Driven
  • 13. The repository model • Sub-systems must exchange data. This may be done in two ways: – Shared data is held in a central database or repository and may be accessed by all sub-systems – Each sub-system maintains its own database and passes data explicitly to other sub-systems • When large amounts of data are to be shared, the repository model of sharing is most commonly used
  • 14. Cont… • Disadvantages – Sub-systems must agree on a repository data model. Inevitably a compromise – Data evolution is difficult and expensive – No scope for specific management policies – Difficult to distribute efficiently
  • 16. Repository model characteristics • Advantages – Efficient way to share large amounts of data – Sub-systems need not be concerned with how data is produced Centralised management e.g. backup, security, etc. – Sharing model is published as the repository schema
  • 17. Client-server architecture • Distributed system model which shows how data and processing is distributed across a range of components • Set of stand-alone servers which provide specific services such as printing, data management, etc. • Set of clients which call on these services • Network which allows clients to access servers
  • 18. Film and picture library Catalogue server Catalogue Video server Film clip files Picture server Digitized photographs Hypertext server Hypertext web Client 1 Client 2 Client 3 Client 4 Wide-bandwidth network
  • 19. Client-server characteristics • Advantages – Distribution of data is straightforward – Makes effective use of networked systems. May require cheaper hardware – Easy to add new servers or upgrade existing servers • Disadvantages – No shared data model so sub-systems use different data organisation. data interchange may be inefficient – Redundant management in each server – No central register of names and services - it may be hard to find out what servers and services are available
  • 20. Abstract machine model • Used to model the interfacing of sub-systems • Organises the system into a set of layers (or abstract machines) each of which provide a set of services • Supports the incremental development of sub-systems in different layers. When a layer interface changes, only the adjacent layer is affected • However, often difficult to structure systems in this way
  • 22. Control models • Are concerned with the control flow between sub- systems. Distinct from the system decomposition model • Centralised control – One sub-system has overall responsibility for control and starts and stops other sub-systems • Event-based control – Each sub-system can respond to externally generated events from other sub-systems or the system’s environment
  • 23. Centralised control • A control sub-system takes responsibility for managing the execution of other sub-systems • Call-return model – Top-down subroutine model where control starts at the top of a subroutine hierarchy and moves downwards. Applicable to sequential systems • Manager model – Applicable to concurrent systems. One system component controls the stopping, starting and coordination of other system processes. Can be implemented in sequential systems as a case statement
  • 24. Call-return model Routine 1.2 Routine 1.1 Routine 3.2 Routine 3.1 Routine 2 Routine 3 Routine 1 Main program
  • 26. Event-driven systems • Driven by externally generated events where the timing of the event is outwith the control of the sub-systems which process the event • Two principal event-driven models – Broadcast models. An event is broadcast to all sub-systems. Any sub-system which can handle the event may do so – Interrupt-driven models. Used in real-time systems where interrupts are detected by an interrupt handler and passed to some other component for processing • Other event driven models include spreadsheets and production systems
  • 27. Broadcast model • Effective in integrating sub-systems on different computers in a network • Sub-systems register an interest in specific events. When these occur, control is transferred to the sub-system which can handle the event • Control policy is not embedded in the event and message handler. Sub-systems decide on events of interest to them • However, sub-systems don’t know if or when an event will be handled
  • 28. Cont... Sub-system 1 Event and message handler Sub-system 2 Sub-system 3 Sub-system 4
  • 29. Interrupt-driven systems • Used in real-time systems where fast response to an event is essential • There are known interrupt types with a handler defined for each type • Each type is associated with a memory location and a hardware switch causes transfer to its handler • Allows fast response but complex to program and difficult to validate
  • 31. Modular decomposition • Another structural level where sub-systems are decomposed into modules • Two modular decomposition models covered – An object model where the system is decomposed into interacting objects – A data-flow model where the system is decomposed into functional modules which transform inputs to outputs. Also known as the pipeline model • If possible, decisions about concurrency should be delayed until modules are implemented
  • 32. Object models • Structure the system into a set of loosely coupled objects with well-defined interfaces • Object-oriented decomposition is concerned with identifying object classes, their attributes and operations • When implemented, objects are created from these classes and some control model used to coordinate object operations
  • 33. Invoice processing system issue () sendReminder () acceptPayment () sendReceipt () invoice# date amount customer Invoice invoice# date amount customer# Receipt invoice# date amount customer# Payment customer# name address credit period Customer
  • 34. Data-flow models • Functional transformations process their inputs to produce outputs • May be referred to as a pipe and filter model (as in UNIX shell) • Variants of this approach are very common. When transformations are sequential, this is a batch sequential model which is extensively used in data processing systems • Not really suitable for interactive systems
  • 35. Invoice processing system Read issued invoices Identify payments Issue receipts Find payments due Receipts Issue payment reminder Reminders Invoices Payments