©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 1
System Design
Architectural Design
Distributed System Architectures
Object Oriented Design
Real-time Software Design
Design with reuse
User Interface Design
Lecture 4
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 2
Software Architecture
Identifying the sub-systems and making a framework for
these sub-system control and communication is called
architectural design.
Output of design process = software architecture.
Output of architectural design process = architectural
design document
This document contains e.g. DFD, ERD etc.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 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.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 4
Advantages of explicit architecture
Stakeholder Communication
• Architecture may be used as a focus of discussion by system
stakeholders[involved].
System Analysis
• Means that analysis of whether the system can meet its non-
functional requirements is possible.
• [What a system should do = non functional requirements]
• [How a system should do = functional requirements]
Large-Scale Reuse
• The architecture may be reusable across a range of systems.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 5
System Architecture affects:
Performance
Security
• Use a layered architecture with critical assets in the inner
layers.
Safety
• Use safety-critical features in a small number of sub-systems.
Availability
• Include redundant components and mechanisms for fault
tolerance.
Maintainability
• Provides support, resilency
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 6
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.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 7
Block Diagram of Computer
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 8
1- Client-server model
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.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 9
Film and picture library
Catalogue
server
Library
catalogue
Video
server
Film clip
files
Picture
server
Digitised
photo graphs
Web server
Film and
photo info.
Client 1 Client 2 Client 3 Client 4
Internet
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 10
2- Abstract machine (layered) 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 artificial to structure systems in this way.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 11
Version Management System
Configuration management systemlayer
Database systemlayer
Operating systemlayer
Object management systemlayer
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 12
3- Object Oriented 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.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 13
Invoice processing system
issue ()
sendReminder ()
acceptPayment ()
sendReceipt ()
invoice#
date
amount
customer
invoice#
date
amount
customer#
invoice#
date
amount
customer#
customer#
name
address
credit period
Customer
Payment
Invoice
Receipt
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 14
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.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 15
Real-time system control
System
contr oller
User
inter face
Fault
handler
Computa tion
pr ocesses
Actuator
processes
Sensor
pr ocesses
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 16
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.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 17
Selective broadcasting
Sub-system
1
Event and messa ge handler
Sub-system
2
Sub-system
3
Sub-system
4
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 18
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.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 19
Interrupt-driven control
Handler
1
Handler
2
Handler
3
Handler
4
Process
1
Process
2
Process
3
Process
4
Interrupts
Interrupt
vector
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 20
Reference architectures
Architectural models may be specific to some application
domain.
Two types of domain-specific model
• Generic models.
• Reference models.
Generic models are usually bottom-up models; Reference
models are top-down models.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 21
Reference architectures
Reference models are derived from a study of the
application domain rather than from existing systems.
May be used as a basis for system implementation or to
compare different systems. It acts as a standard against
which systems can be evaluated.
OSI model is a layered model for communication
systems.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 22
OSI reference model
Presenta tion
Session
Transpor t
Network
Data link
Physical
7
6
5
4
3
2
1
Comm unica tions medium
Networ k
Data link
Physical
Applica tion
Presenta tion
Session
Transpor t
Networ k
Data link
Physical
Applica tion

More Related Content

PPT
Introduction to Software Enigneering
PPT
Software Processes
PPT
Software Verification & Validation
PDF
Software Engineering - Ch2
PPTX
PDF
Software Engineering - Ch6
PPT
962 sech04
Introduction to Software Enigneering
Software Processes
Software Verification & Validation
Software Engineering - Ch2
Software Engineering - Ch6
962 sech04

What's hot (20)

DOCX
Ch 01 s.e introduction
PPT
software Engineering process
PDF
Engineering Software Products: 1. software products
DOCX
Swe notes
PPTX
Computer Aided Software Engineering Nayab Awan
PDF
Software Engineering - Ch3
PDF
Software Engineering - Ch9
PDF
Software Engineering - Ch12
PPTX
Software maintenance
PDF
Software Engineering - Ch17
PPTX
Software Engineering- Crisis and Process Models
PDF
Software engineering lecture notes
PPT
Advanced topics in software engineering
PDF
Software Engineering - Ch11
DOCX
Ch 02 s.e software process models 1
PPTX
Software maintenance ppt
PDF
software engineering
PPTX
Software Engineering unit 5
PPT
Ian Sommerville, Software Engineering, 9th EditionCh 8
PDF
software development, process model, requirement engineering, srs, structured...
Ch 01 s.e introduction
software Engineering process
Engineering Software Products: 1. software products
Swe notes
Computer Aided Software Engineering Nayab Awan
Software Engineering - Ch3
Software Engineering - Ch9
Software Engineering - Ch12
Software maintenance
Software Engineering - Ch17
Software Engineering- Crisis and Process Models
Software engineering lecture notes
Advanced topics in software engineering
Software Engineering - Ch11
Ch 02 s.e software process models 1
Software maintenance ppt
software engineering
Software Engineering unit 5
Ian Sommerville, Software Engineering, 9th EditionCh 8
software development, process model, requirement engineering, srs, structured...
Ad

Similar to System Design (20)

PPT
Ch11
PPT
Architectural Design Software Engineering 7th Edition
PPT
Architectural Design Software Engineering 7th Edition
PPT
software Architectural Design software engineering
PPTX
07 - Design and Implementation.pptx
PDF
Rekayasa-Perangkat-Lunak-Pertemuan-2.pdf
PDF
Chapter 7 design and implementation.pdf
PDF
System Modelling
PDF
Software Engineering - Ch8
PPTX
connections,Networking,tcp/ip,types of network.pptx
PPT
Architectural Design.pptArchitectural Design.ppt
PPT
ch07.ppt
PPT
Chapter 6 - Architectural Design.pptbbbb
PDF
Requirements engineering process: Feasibility studies, requirements elicitati...
PPTX
Chapter Six: Design and impelementation.
PPTX
PPTX
Ch7 Implementation.pptx of computer network uet lahore
Ch11
Architectural Design Software Engineering 7th Edition
Architectural Design Software Engineering 7th Edition
software Architectural Design software engineering
07 - Design and Implementation.pptx
Rekayasa-Perangkat-Lunak-Pertemuan-2.pdf
Chapter 7 design and implementation.pdf
System Modelling
Software Engineering - Ch8
connections,Networking,tcp/ip,types of network.pptx
Architectural Design.pptArchitectural Design.ppt
ch07.ppt
Chapter 6 - Architectural Design.pptbbbb
Requirements engineering process: Feasibility studies, requirements elicitati...
Chapter Six: Design and impelementation.
Ch7 Implementation.pptx of computer network uet lahore
Ad

More from university of education,Lahore (20)

PPT
Activites and Time Planning
PPT
Classical Encryption Techniques
PPT
Activites and Time Planning
PPTX
OSI Security Architecture
PPTX
Network Security Terminologies
PPT
Project Scheduling, Planning and Risk Management
PPTX
Software Testing and Debugging
PPTX
PPT
Enterprise Application Integration
PPTX
PPTX
Itertaive Process Development
PPTX
Lect 2 assessing the technology landscape
PPTX
system level requirements gathering and analysis
Activites and Time Planning
Classical Encryption Techniques
Activites and Time Planning
OSI Security Architecture
Network Security Terminologies
Project Scheduling, Planning and Risk Management
Software Testing and Debugging
Enterprise Application Integration
Itertaive Process Development
Lect 2 assessing the technology landscape
system level requirements gathering and analysis

Recently uploaded (20)

PDF
FORM 1 BIOLOGY MIND MAPS and their schemes
PDF
Hazard Identification & Risk Assessment .pdf
PPTX
Core Concepts of Personalized Learning and Virtual Learning Environments
PDF
Race Reva University – Shaping Future Leaders in Artificial Intelligence
PDF
International_Financial_Reporting_Standa.pdf
PPTX
Climate Change and Its Global Impact.pptx
PDF
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 2).pdf
PPTX
Unit 4 Computer Architecture Multicore Processor.pptx
PDF
Myanmar Dental Journal, The Journal of the Myanmar Dental Association (2013).pdf
PDF
English Textual Question & Ans (12th Class).pdf
PDF
My India Quiz Book_20210205121199924.pdf
DOCX
Cambridge-Practice-Tests-for-IELTS-12.docx
PPTX
B.Sc. DS Unit 2 Software Engineering.pptx
PDF
Environmental Education MCQ BD2EE - Share Source.pdf
PDF
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
IP : I ; Unit I : Preformulation Studies
PPTX
Education and Perspectives of Education.pptx
PDF
Journal of Dental Science - UDMY (2022).pdf
PDF
CRP102_SAGALASSOS_Final_Projects_2025.pdf
FORM 1 BIOLOGY MIND MAPS and their schemes
Hazard Identification & Risk Assessment .pdf
Core Concepts of Personalized Learning and Virtual Learning Environments
Race Reva University – Shaping Future Leaders in Artificial Intelligence
International_Financial_Reporting_Standa.pdf
Climate Change and Its Global Impact.pptx
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 2).pdf
Unit 4 Computer Architecture Multicore Processor.pptx
Myanmar Dental Journal, The Journal of the Myanmar Dental Association (2013).pdf
English Textual Question & Ans (12th Class).pdf
My India Quiz Book_20210205121199924.pdf
Cambridge-Practice-Tests-for-IELTS-12.docx
B.Sc. DS Unit 2 Software Engineering.pptx
Environmental Education MCQ BD2EE - Share Source.pdf
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
A powerpoint presentation on the Revised K-10 Science Shaping Paper
IP : I ; Unit I : Preformulation Studies
Education and Perspectives of Education.pptx
Journal of Dental Science - UDMY (2022).pdf
CRP102_SAGALASSOS_Final_Projects_2025.pdf

System Design

  • 1. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 1 System Design Architectural Design Distributed System Architectures Object Oriented Design Real-time Software Design Design with reuse User Interface Design Lecture 4
  • 2. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 2 Software Architecture Identifying the sub-systems and making a framework for these sub-system control and communication is called architectural design. Output of design process = software architecture. Output of architectural design process = architectural design document This document contains e.g. DFD, ERD etc.
  • 3. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 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. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 4 Advantages of explicit architecture Stakeholder Communication • Architecture may be used as a focus of discussion by system stakeholders[involved]. System Analysis • Means that analysis of whether the system can meet its non- functional requirements is possible. • [What a system should do = non functional requirements] • [How a system should do = functional requirements] Large-Scale Reuse • The architecture may be reusable across a range of systems.
  • 5. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 5 System Architecture affects: Performance Security • Use a layered architecture with critical assets in the inner layers. Safety • Use safety-critical features in a small number of sub-systems. Availability • Include redundant components and mechanisms for fault tolerance. Maintainability • Provides support, resilency
  • 6. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 6 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.
  • 7. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 7 Block Diagram of Computer
  • 8. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 8 1- Client-server model 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.
  • 9. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 9 Film and picture library Catalogue server Library catalogue Video server Film clip files Picture server Digitised photo graphs Web server Film and photo info. Client 1 Client 2 Client 3 Client 4 Internet
  • 10. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 10 2- Abstract machine (layered) 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 artificial to structure systems in this way.
  • 11. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 11 Version Management System Configuration management systemlayer Database systemlayer Operating systemlayer Object management systemlayer
  • 12. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 12 3- Object Oriented 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.
  • 13. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 13 Invoice processing system issue () sendReminder () acceptPayment () sendReceipt () invoice# date amount customer invoice# date amount customer# invoice# date amount customer# customer# name address credit period Customer Payment Invoice Receipt
  • 14. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 14 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.
  • 15. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 15 Real-time system control System contr oller User inter face Fault handler Computa tion pr ocesses Actuator processes Sensor pr ocesses
  • 16. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 16 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.
  • 17. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 17 Selective broadcasting Sub-system 1 Event and messa ge handler Sub-system 2 Sub-system 3 Sub-system 4
  • 18. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 18 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.
  • 19. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 19 Interrupt-driven control Handler 1 Handler 2 Handler 3 Handler 4 Process 1 Process 2 Process 3 Process 4 Interrupts Interrupt vector
  • 20. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 20 Reference architectures Architectural models may be specific to some application domain. Two types of domain-specific model • Generic models. • Reference models. Generic models are usually bottom-up models; Reference models are top-down models.
  • 21. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 21 Reference architectures Reference models are derived from a study of the application domain rather than from existing systems. May be used as a basis for system implementation or to compare different systems. It acts as a standard against which systems can be evaluated. OSI model is a layered model for communication systems.
  • 22. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 11 Slide 22 OSI reference model Presenta tion Session Transpor t Network Data link Physical 7 6 5 4 3 2 1 Comm unica tions medium Networ k Data link Physical Applica tion Presenta tion Session Transpor t Networ k Data link Physical Applica tion