chapter 4 design -...
TRANSCRIPT
![Page 1: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/1.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Chapter 4 — Design
May 13, 2009
Chapter 4 — Design 1/72
![Page 2: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/2.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Outline
1 Introduction
2 Architectural DesignSystem OrganizationDistributed Systems Architecture
3 Application ArchitecturesTypes of AAs
4 Object-Oriented DesignObject-Oriented Design Process
5 Interface Design
Chapter 4 — Design 2/72
![Page 3: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/3.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Logical organization of software
UML modelsketches, drawings, notes
creative process: no real “method”learn from previous design experiences
Chapter 4 — Design 3/72
![Page 4: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/4.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Logical organization of softwareUML model
sketches, drawings, notes
creative process: no real “method”learn from previous design experiences
Chapter 4 — Design 3/72
![Page 5: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/5.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Logical organization of softwareUML modelsketches, drawings, notes
creative process: no real “method”learn from previous design experiences
Chapter 4 — Design 3/72
![Page 6: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/6.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Logical organization of softwareUML modelsketches, drawings, notes
creative process: no real “method”
learn from previous design experiences
Chapter 4 — Design 3/72
![Page 7: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/7.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Logical organization of softwareUML modelsketches, drawings, notes
creative process: no real “method”learn from previous design experiences
Chapter 4 — Design 3/72
![Page 8: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/8.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
In This Chapter
Learn about software design perspectives and ideas
Architecture: abstract formulas and patternsSpecific Issues: common to most software designs
object-oriented designuser-interface design
Chapter 4 — Design 4/72
![Page 9: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/9.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
In This Chapter
Learn about software design perspectives and ideasArchitecture: abstract formulas and patterns
Specific Issues: common to most software designsobject-oriented designuser-interface design
Chapter 4 — Design 4/72
![Page 10: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/10.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
In This Chapter
Learn about software design perspectives and ideasArchitecture: abstract formulas and patternsSpecific Issues: common to most software designs
object-oriented designuser-interface design
Chapter 4 — Design 4/72
![Page 11: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/11.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
In This Chapter
Learn about software design perspectives and ideasArchitecture: abstract formulas and patternsSpecific Issues: common to most software designs
object-oriented designuser-interface design
Chapter 4 — Design 4/72
![Page 12: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/12.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Outline
1 Introduction
2 Architectural DesignSystem OrganizationDistributed Systems Architecture
3 Application ArchitecturesTypes of AAs
4 Object-Oriented DesignObject-Oriented Design Process
5 Interface Design
Chapter 4 — Design 5/72
![Page 13: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/13.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
System is composed of sub-systems
Architectural Design:identify sub-systemsframework for sub-system control and communication
affects performance, robustness, availability, maintainability
Chapter 4 — Design 6/72
![Page 14: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/14.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
System is composed of sub-systemsArchitectural Design:
identify sub-systemsframework for sub-system control and communication
affects performance, robustness, availability, maintainability
Chapter 4 — Design 6/72
![Page 15: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/15.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
System is composed of sub-systemsArchitectural Design:
identify sub-systemsframework for sub-system control and communication
affects performance, robustness, availability, maintainability
Chapter 4 — Design 6/72
![Page 16: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/16.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Outline
1 Introduction
2 Architectural DesignSystem OrganizationDistributed Systems Architecture
3 Application ArchitecturesTypes of AAs
4 Object-Oriented DesignObject-Oriented Design Process
5 Interface Design
Chapter 4 — Design 7/72
![Page 17: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/17.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Organization
Reflects basic strategy for the structure
Common organization styles:repositoryclient-serverlayered
Chapter 4 — Design 8/72
![Page 18: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/18.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Organization
Reflects basic strategy for the structureCommon organization styles:
repositoryclient-serverlayered
Chapter 4 — Design 8/72
![Page 19: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/19.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Repository Model
If large amounts of data: central, shared repository or DB
otherwise: DBs for each subsystem
Advantages / Disadvantages:efficient for sharing (all sub-systems must agree on data model)backup, security, access control are centralized (agreement)
Chapter 4 — Design 9/72
![Page 20: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/20.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Repository Model
If large amounts of data: central, shared repository or DBotherwise: DBs for each subsystem
Advantages / Disadvantages:efficient for sharing (all sub-systems must agree on data model)backup, security, access control are centralized (agreement)
Chapter 4 — Design 9/72
![Page 21: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/21.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Repository Model
If large amounts of data: central, shared repository or DBotherwise: DBs for each subsystem
Advantages / Disadvantages:
efficient for sharing (all sub-systems must agree on data model)backup, security, access control are centralized (agreement)
Chapter 4 — Design 9/72
![Page 22: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/22.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Repository Model
If large amounts of data: central, shared repository or DBotherwise: DBs for each subsystem
Advantages / Disadvantages:efficient for sharing (all sub-systems must agree on data model)
backup, security, access control are centralized (agreement)
Chapter 4 — Design 9/72
![Page 23: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/23.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Repository Model
If large amounts of data: central, shared repository or DBotherwise: DBs for each subsystem
Advantages / Disadvantages:efficient for sharing (all sub-systems must agree on data model)backup, security, access control are centralized (agreement)
Chapter 4 — Design 9/72
![Page 24: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/24.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of services
Components:servers: offer services.
e.g., web, print, file, compile
clients: consumer servicesnetwork: connects the two
not always necessary if not distributed
Clients must know name, services of available serverse.g., DNSnot vice-versa
Clients access services using RPC with a request-reply protocole.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 25: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/25.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of servicesComponents:
servers: offer services.e.g., web, print, file, compile
clients: consumer servicesnetwork: connects the two
not always necessary if not distributed
Clients must know name, services of available serverse.g., DNSnot vice-versa
Clients access services using RPC with a request-reply protocole.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 26: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/26.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of servicesComponents:
servers: offer services.
e.g., web, print, file, compile
clients: consumer servicesnetwork: connects the two
not always necessary if not distributed
Clients must know name, services of available serverse.g., DNSnot vice-versa
Clients access services using RPC with a request-reply protocole.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 27: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/27.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of servicesComponents:
servers: offer services.e.g., web, print, file, compile
clients: consumer servicesnetwork: connects the two
not always necessary if not distributed
Clients must know name, services of available serverse.g., DNSnot vice-versa
Clients access services using RPC with a request-reply protocole.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 28: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/28.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of servicesComponents:
servers: offer services.e.g., web, print, file, compile
clients: consumer services
network: connects the twonot always necessary if not distributed
Clients must know name, services of available serverse.g., DNSnot vice-versa
Clients access services using RPC with a request-reply protocole.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 29: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/29.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of servicesComponents:
servers: offer services.e.g., web, print, file, compile
clients: consumer servicesnetwork: connects the two
not always necessary if not distributed
Clients must know name, services of available serverse.g., DNSnot vice-versa
Clients access services using RPC with a request-reply protocole.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 30: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/30.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of servicesComponents:
servers: offer services.e.g., web, print, file, compile
clients: consumer servicesnetwork: connects the two
not always necessary if not distributed
Clients must know name, services of available serverse.g., DNSnot vice-versa
Clients access services using RPC with a request-reply protocole.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 31: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/31.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of servicesComponents:
servers: offer services.e.g., web, print, file, compile
clients: consumer servicesnetwork: connects the two
not always necessary if not distributed
Clients must know name, services of available servers
e.g., DNSnot vice-versa
Clients access services using RPC with a request-reply protocole.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 32: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/32.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of servicesComponents:
servers: offer services.e.g., web, print, file, compile
clients: consumer servicesnetwork: connects the two
not always necessary if not distributed
Clients must know name, services of available serverse.g., DNS
not vice-versa
Clients access services using RPC with a request-reply protocole.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 33: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/33.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of servicesComponents:
servers: offer services.e.g., web, print, file, compile
clients: consumer servicesnetwork: connects the two
not always necessary if not distributed
Clients must know name, services of available serverse.g., DNSnot vice-versa
Clients access services using RPC with a request-reply protocole.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 34: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/34.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of servicesComponents:
servers: offer services.e.g., web, print, file, compile
clients: consumer servicesnetwork: connects the two
not always necessary if not distributed
Clients must know name, services of available serverse.g., DNSnot vice-versa
Clients access services using RPC with a request-reply protocol
e.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 35: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/35.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of servicesComponents:
servers: offer services.e.g., web, print, file, compile
clients: consumer servicesnetwork: connects the two
not always necessary if not distributed
Clients must know name, services of available serverse.g., DNSnot vice-versa
Clients access services using RPC with a request-reply protocole.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 36: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/36.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture Model
System as a set of servicesComponents:
servers: offer services.e.g., web, print, file, compile
clients: consumer servicesnetwork: connects the two
not always necessary if not distributed
Clients must know name, services of available serverse.g., DNSnot vice-versa
Clients access services using RPC with a request-reply protocole.g., http protocol for WWW
Client waits for a reply
Chapter 4 — Design 10/72
![Page 37: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/37.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Achitecture Model
E.g.: Video and Photo Library system’s architecture
Chapter 4 — Design 11/72
![Page 38: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/38.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Achitecture Model
Advantages:
Distributed architecture: processing, storagemake changes transparently
Best used if using shared data modelotherwise may need to translate for each sub-systemXML can be used, but slow
Chapter 4 — Design 12/72
![Page 39: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/39.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Achitecture Model
Advantages:Distributed architecture: processing, storage
make changes transparently
Best used if using shared data modelotherwise may need to translate for each sub-systemXML can be used, but slow
Chapter 4 — Design 12/72
![Page 40: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/40.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Achitecture Model
Advantages:Distributed architecture: processing, storagemake changes transparently
Best used if using shared data modelotherwise may need to translate for each sub-systemXML can be used, but slow
Chapter 4 — Design 12/72
![Page 41: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/41.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Achitecture Model
Advantages:Distributed architecture: processing, storagemake changes transparently
Best used if using shared data model
otherwise may need to translate for each sub-systemXML can be used, but slow
Chapter 4 — Design 12/72
![Page 42: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/42.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Achitecture Model
Advantages:Distributed architecture: processing, storagemake changes transparently
Best used if using shared data modelotherwise may need to translate for each sub-system
XML can be used, but slow
Chapter 4 — Design 12/72
![Page 43: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/43.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Achitecture Model
Advantages:Distributed architecture: processing, storagemake changes transparently
Best used if using shared data modelotherwise may need to translate for each sub-systemXML can be used, but slow
Chapter 4 — Design 12/72
![Page 44: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/44.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Layered Architecture Model
Organize sub-systems in layers
Also “abstract machine model”Each layer ≈ an abstract machineContrast this with client-server model
hierarchy vs. network
Advantages:supports incremental developmentlocalize machine dependence in lower layers
Disadvantages:may have to “punch through” from top to bottomperformance may suffer
Chapter 4 — Design 13/72
![Page 45: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/45.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Layered Architecture Model
Organize sub-systems in layersAlso “abstract machine model”
Each layer ≈ an abstract machineContrast this with client-server model
hierarchy vs. network
Advantages:supports incremental developmentlocalize machine dependence in lower layers
Disadvantages:may have to “punch through” from top to bottomperformance may suffer
Chapter 4 — Design 13/72
![Page 46: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/46.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Layered Architecture Model
Organize sub-systems in layersAlso “abstract machine model”Each layer ≈ an abstract machine
Contrast this with client-server modelhierarchy vs. network
Advantages:supports incremental developmentlocalize machine dependence in lower layers
Disadvantages:may have to “punch through” from top to bottomperformance may suffer
Chapter 4 — Design 13/72
![Page 47: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/47.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Layered Architecture Model
Organize sub-systems in layersAlso “abstract machine model”Each layer ≈ an abstract machineContrast this with client-server model
hierarchy vs. network
Advantages:supports incremental developmentlocalize machine dependence in lower layers
Disadvantages:may have to “punch through” from top to bottomperformance may suffer
Chapter 4 — Design 13/72
![Page 48: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/48.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Layered Architecture Model
Organize sub-systems in layersAlso “abstract machine model”Each layer ≈ an abstract machineContrast this with client-server model
hierarchy vs. network
Advantages:supports incremental developmentlocalize machine dependence in lower layers
Disadvantages:may have to “punch through” from top to bottomperformance may suffer
Chapter 4 — Design 13/72
![Page 49: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/49.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Layered Architecture Model
Organize sub-systems in layersAlso “abstract machine model”Each layer ≈ an abstract machineContrast this with client-server model
hierarchy vs. network
Advantages:
supports incremental developmentlocalize machine dependence in lower layers
Disadvantages:may have to “punch through” from top to bottomperformance may suffer
Chapter 4 — Design 13/72
![Page 50: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/50.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Layered Architecture Model
Organize sub-systems in layersAlso “abstract machine model”Each layer ≈ an abstract machineContrast this with client-server model
hierarchy vs. network
Advantages:supports incremental development
localize machine dependence in lower layers
Disadvantages:may have to “punch through” from top to bottomperformance may suffer
Chapter 4 — Design 13/72
![Page 51: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/51.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Layered Architecture Model
Organize sub-systems in layersAlso “abstract machine model”Each layer ≈ an abstract machineContrast this with client-server model
hierarchy vs. network
Advantages:supports incremental developmentlocalize machine dependence in lower layers
Disadvantages:may have to “punch through” from top to bottomperformance may suffer
Chapter 4 — Design 13/72
![Page 52: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/52.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Layered Architecture Model
Organize sub-systems in layersAlso “abstract machine model”Each layer ≈ an abstract machineContrast this with client-server model
hierarchy vs. network
Advantages:supports incremental developmentlocalize machine dependence in lower layers
Disadvantages:
may have to “punch through” from top to bottomperformance may suffer
Chapter 4 — Design 13/72
![Page 53: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/53.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Layered Architecture Model
Organize sub-systems in layersAlso “abstract machine model”Each layer ≈ an abstract machineContrast this with client-server model
hierarchy vs. network
Advantages:supports incremental developmentlocalize machine dependence in lower layers
Disadvantages:may have to “punch through” from top to bottom
performance may suffer
Chapter 4 — Design 13/72
![Page 54: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/54.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Layered Architecture Model
Organize sub-systems in layersAlso “abstract machine model”Each layer ≈ an abstract machineContrast this with client-server model
hierarchy vs. network
Advantages:supports incremental developmentlocalize machine dependence in lower layers
Disadvantages:may have to “punch through” from top to bottomperformance may suffer
Chapter 4 — Design 13/72
![Page 55: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/55.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Layered Architecture Model
Figure: Version Control System
Chapter 4 — Design 14/72
![Page 56: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/56.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Reference architectures
Represents architecture for a particular domain
several systems will share the architectureCan be resued
Not for direct implementationcommunicate domain conceptsevaluate possible architectures
Chapter 4 — Design 15/72
![Page 57: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/57.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Reference architectures
Represents architecture for a particular domainseveral systems will share the architecture
Can be resued
Not for direct implementationcommunicate domain conceptsevaluate possible architectures
Chapter 4 — Design 15/72
![Page 58: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/58.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Reference architectures
Represents architecture for a particular domainseveral systems will share the architectureCan be resued
Not for direct implementationcommunicate domain conceptsevaluate possible architectures
Chapter 4 — Design 15/72
![Page 59: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/59.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Reference architectures
Represents architecture for a particular domainseveral systems will share the architectureCan be resued
Not for direct implementation
communicate domain conceptsevaluate possible architectures
Chapter 4 — Design 15/72
![Page 60: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/60.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Reference architectures
Represents architecture for a particular domainseveral systems will share the architectureCan be resued
Not for direct implementationcommunicate domain concepts
evaluate possible architectures
Chapter 4 — Design 15/72
![Page 61: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/61.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Reference architectures
Represents architecture for a particular domainseveral systems will share the architectureCan be resued
Not for direct implementationcommunicate domain conceptsevaluate possible architectures
Chapter 4 — Design 15/72
![Page 62: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/62.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Example Reference Architecture
Figure: The OSI Reference Architecture for Computer Networks
Chapter 4 — Design 16/72
![Page 63: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/63.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Outline
1 Introduction
2 Architectural DesignSystem OrganizationDistributed Systems Architecture
3 Application ArchitecturesTypes of AAs
4 Object-Oriented DesignObject-Oriented Design Process
5 Interface Design
Chapter 4 — Design 17/72
![Page 64: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/64.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
Information processing is distributed over several computers
Advantages:Resource sharingOpennessConcurrencyScalabilityFault Tolerance
Disadvantages:ComplexitySecurityManageabilityUnpredictability
Chapter 4 — Design 18/72
![Page 65: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/65.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
Information processing is distributed over several computersAdvantages:
Resource sharingOpennessConcurrencyScalabilityFault Tolerance
Disadvantages:ComplexitySecurityManageabilityUnpredictability
Chapter 4 — Design 18/72
![Page 66: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/66.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
Information processing is distributed over several computersAdvantages:
Resource sharing
OpennessConcurrencyScalabilityFault Tolerance
Disadvantages:ComplexitySecurityManageabilityUnpredictability
Chapter 4 — Design 18/72
![Page 67: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/67.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
Information processing is distributed over several computersAdvantages:
Resource sharingOpenness
ConcurrencyScalabilityFault Tolerance
Disadvantages:ComplexitySecurityManageabilityUnpredictability
Chapter 4 — Design 18/72
![Page 68: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/68.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
Information processing is distributed over several computersAdvantages:
Resource sharingOpennessConcurrency
ScalabilityFault Tolerance
Disadvantages:ComplexitySecurityManageabilityUnpredictability
Chapter 4 — Design 18/72
![Page 69: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/69.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
Information processing is distributed over several computersAdvantages:
Resource sharingOpennessConcurrencyScalability
Fault Tolerance
Disadvantages:ComplexitySecurityManageabilityUnpredictability
Chapter 4 — Design 18/72
![Page 70: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/70.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
Information processing is distributed over several computersAdvantages:
Resource sharingOpennessConcurrencyScalabilityFault Tolerance
Disadvantages:ComplexitySecurityManageabilityUnpredictability
Chapter 4 — Design 18/72
![Page 71: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/71.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
Information processing is distributed over several computersAdvantages:
Resource sharingOpennessConcurrencyScalabilityFault Tolerance
Disadvantages:
ComplexitySecurityManageabilityUnpredictability
Chapter 4 — Design 18/72
![Page 72: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/72.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
Information processing is distributed over several computersAdvantages:
Resource sharingOpennessConcurrencyScalabilityFault Tolerance
Disadvantages:Complexity
SecurityManageabilityUnpredictability
Chapter 4 — Design 18/72
![Page 73: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/73.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
Information processing is distributed over several computersAdvantages:
Resource sharingOpennessConcurrencyScalabilityFault Tolerance
Disadvantages:ComplexitySecurity
ManageabilityUnpredictability
Chapter 4 — Design 18/72
![Page 74: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/74.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
Information processing is distributed over several computersAdvantages:
Resource sharingOpennessConcurrencyScalabilityFault Tolerance
Disadvantages:ComplexitySecurityManageability
Unpredictability
Chapter 4 — Design 18/72
![Page 75: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/75.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Introduction
Information processing is distributed over several computersAdvantages:
Resource sharingOpennessConcurrencyScalabilityFault Tolerance
Disadvantages:ComplexitySecurityManageabilityUnpredictability
Chapter 4 — Design 18/72
![Page 76: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/76.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Multi-processor Architecture
Figure: A multiprocessor traffic control system
Chapter 4 — Design 19/72
![Page 77: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/77.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Client-Server Architecture (CSA)
Difference between server process and server computer
Chapter 4 — Design 20/72
![Page 78: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/78.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
CSA Example
Figure: A client-server system
Chapter 4 — Design 21/72
![Page 79: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/79.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
CSA Example
Figure: Computers in a client-server network
Chapter 4 — Design 22/72
![Page 80: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/80.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
How to CSA-ize Your System
Distribute some/all of the MVC layers
Chapter 4 — Design 23/72
![Page 81: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/81.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Two-tier CSA
Simplest CSA: a server(s) and clients
Thin and flat client models
Chapter 4 — Design 24/72
![Page 82: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/82.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Two-tier CSA
Simplest CSA: a server(s) and clientsThin and flat client models
Chapter 4 — Design 24/72
![Page 83: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/83.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Three-tier CSA
Each MVC layer on a separate computer
Chapter 4 — Design 25/72
![Page 84: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/84.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Other Distributed Architectures
Peer-to-peer
centralizedsemi-centralized
Service-oriented Architecture (e.g., web services)web beyond browsersstandards (based on XML)
SOAPWSDLUDDI
Chapter 4 — Design 26/72
![Page 85: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/85.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Other Distributed Architectures
Peer-to-peercentralized
semi-centralized
Service-oriented Architecture (e.g., web services)web beyond browsersstandards (based on XML)
SOAPWSDLUDDI
Chapter 4 — Design 26/72
![Page 86: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/86.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Other Distributed Architectures
Peer-to-peercentralizedsemi-centralized
Service-oriented Architecture (e.g., web services)web beyond browsersstandards (based on XML)
SOAPWSDLUDDI
Chapter 4 — Design 26/72
![Page 87: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/87.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Other Distributed Architectures
Peer-to-peercentralizedsemi-centralized
Service-oriented Architecture (e.g., web services)
web beyond browsersstandards (based on XML)
SOAPWSDLUDDI
Chapter 4 — Design 26/72
![Page 88: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/88.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Other Distributed Architectures
Peer-to-peercentralizedsemi-centralized
Service-oriented Architecture (e.g., web services)web beyond browsers
standards (based on XML)SOAPWSDLUDDI
Chapter 4 — Design 26/72
![Page 89: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/89.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignSystem Organization Distributed Systems Architecture
Other Distributed Architectures
Peer-to-peercentralizedsemi-centralized
Service-oriented Architecture (e.g., web services)web beyond browsersstandards (based on XML)
SOAPWSDLUDDI
Chapter 4 — Design 26/72
![Page 90: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/90.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Outline
1 Introduction
2 Architectural DesignSystem OrganizationDistributed Systems Architecture
3 Application ArchitecturesTypes of AAs
4 Object-Oriented DesignObject-Oriented Design Process
5 Interface Design
Chapter 4 — Design 27/72
![Page 91: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/91.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Introduction
Look at system architecture from application’s perspective
previous perspective: control, distribution, structure
Issues to common to applications of a certain kind
Chapter 4 — Design 28/72
![Page 92: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/92.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Introduction
Look at system architecture from application’s perspectiveprevious perspective: control, distribution, structure
Issues to common to applications of a certain kind
Chapter 4 — Design 28/72
![Page 93: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/93.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Introduction
Look at system architecture from application’s perspectiveprevious perspective: control, distribution, structure
Issues to common to applications of a certain kind
Chapter 4 — Design 28/72
![Page 94: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/94.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Use of AA
As s/w developer, AAs are useful asstarting point for design process
design checklistorganize team-specific workassessing components for reuse
Chapter 4 — Design 29/72
![Page 95: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/95.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Use of AA
As s/w developer, AAs are useful asstarting point for design processdesign checklist
organize team-specific workassessing components for reuse
Chapter 4 — Design 29/72
![Page 96: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/96.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Use of AA
As s/w developer, AAs are useful asstarting point for design processdesign checklistorganize team-specific work
assessing components for reuse
Chapter 4 — Design 29/72
![Page 97: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/97.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Use of AA
As s/w developer, AAs are useful asstarting point for design processdesign checklistorganize team-specific workassessing components for reuse
Chapter 4 — Design 29/72
![Page 98: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/98.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Outline
1 Introduction
2 Architectural DesignSystem OrganizationDistributed Systems Architecture
3 Application ArchitecturesTypes of AAs
4 Object-Oriented DesignObject-Oriented Design Process
5 Interface Design
Chapter 4 — Design 30/72
![Page 99: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/99.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Data-Processing Systems
Batch-processing of data
input and output: sizable databases / data stores
Figure: Model of data-processing applications
Do not need to save state across transactions∴, function-oriented rather than OO
Chapter 4 — Design 31/72
![Page 100: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/100.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Data-Processing Systems
Batch-processing of datainput and output: sizable databases / data stores
Figure: Model of data-processing applications
Do not need to save state across transactions∴, function-oriented rather than OO
Chapter 4 — Design 31/72
![Page 101: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/101.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Data-Processing Systems
Batch-processing of datainput and output: sizable databases / data stores
Figure: Model of data-processing applications
Do not need to save state across transactions∴, function-oriented rather than OO
Chapter 4 — Design 31/72
![Page 102: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/102.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Data-Processing Systems
Batch-processing of datainput and output: sizable databases / data stores
Figure: Model of data-processing applications
Do not need to save state across transactions
∴, function-oriented rather than OO
Chapter 4 — Design 31/72
![Page 103: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/103.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Data-Processing Systems
Batch-processing of datainput and output: sizable databases / data stores
Figure: Model of data-processing applications
Do not need to save state across transactions∴, function-oriented rather than OO
Chapter 4 — Design 31/72
![Page 104: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/104.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Data-Flow Diagrams
DFDs are useful to describe data-processing applications
Figure: DFD for a payroll system
Chapter 4 — Design 32/72
![Page 105: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/105.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Transaction-Processing Systems
Process user requests for DB read / update
Could be event-driven (interactive) or procedural(non-interactive)E.g.: medical records software, ATM
Figure: Layered architecture of a transaction processing system
Chapter 4 — Design 33/72
![Page 106: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/106.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Transaction-Processing Systems
Process user requests for DB read / updateCould be event-driven (interactive) or procedural(non-interactive)
E.g.: medical records software, ATM
Figure: Layered architecture of a transaction processing system
Chapter 4 — Design 33/72
![Page 107: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/107.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Transaction-Processing Systems
Process user requests for DB read / updateCould be event-driven (interactive) or procedural(non-interactive)E.g.: medical records software, ATM
Figure: Layered architecture of a transaction processing system
Chapter 4 — Design 33/72
![Page 108: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/108.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Transaction-Processing Systems
Process user requests for DB read / updateCould be event-driven (interactive) or procedural(non-interactive)E.g.: medical records software, ATM
Figure: Layered architecture of a transaction processing system
Chapter 4 — Design 33/72
![Page 109: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/109.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Event Processing Systems
Respond to user or system events
e.g. of such events?
Figure: Architecture of Event-driven system
Chapter 4 — Design 34/72
![Page 110: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/110.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Event Processing Systems
Respond to user or system eventse.g. of such events?
Figure: Architecture of Event-driven system
Chapter 4 — Design 34/72
![Page 111: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/111.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignTypes of AAs
Event Processing Systems
Respond to user or system eventse.g. of such events?
Figure: Architecture of Event-driven system
Chapter 4 — Design 34/72
![Page 112: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/112.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Outline
1 Introduction
2 Architectural DesignSystem OrganizationDistributed Systems Architecture
3 Application ArchitecturesTypes of AAs
4 Object-Oriented DesignObject-Oriented Design Process
5 Interface Design
Chapter 4 — Design 35/72
![Page 113: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/113.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Introduction
Object-oriented system: interacting objects that maintain their ownstate and provide operations on those states
Object-oriented design: system designing with object classes andwith relationships between these classes
classes are related to problemstate representation is privatesystem is easy to modify→ objects (classes) since they areindependentobjects are reusable
Chapter 4 — Design 36/72
![Page 114: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/114.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Introduction
Object-oriented system: interacting objects that maintain their ownstate and provide operations on those statesObject-oriented design: system designing with object classes andwith relationships between these classes
classes are related to problem
state representation is privatesystem is easy to modify→ objects (classes) since they areindependentobjects are reusable
Chapter 4 — Design 36/72
![Page 115: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/115.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Introduction
Object-oriented system: interacting objects that maintain their ownstate and provide operations on those statesObject-oriented design: system designing with object classes andwith relationships between these classes
classes are related to problemstate representation is private
system is easy to modify→ objects (classes) since they areindependentobjects are reusable
Chapter 4 — Design 36/72
![Page 116: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/116.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Introduction
Object-oriented system: interacting objects that maintain their ownstate and provide operations on those statesObject-oriented design: system designing with object classes andwith relationships between these classes
classes are related to problemstate representation is privatesystem is easy to modify→ objects (classes) since they areindependentobjects are reusable
Chapter 4 — Design 36/72
![Page 117: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/117.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Objects and classes
Object: entity{state, operations}
state provides object informationoperations provide services to other objectsObjects created from a class: definition of template
Chapter 4 — Design 37/72
![Page 118: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/118.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Objects and classes
Object: entity{state, operations}state provides object information
operations provide services to other objectsObjects created from a class: definition of template
Chapter 4 — Design 37/72
![Page 119: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/119.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Objects and classes
Object: entity{state, operations}state provides object informationoperations provide services to other objects
Objects created from a class: definition of template
Chapter 4 — Design 37/72
![Page 120: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/120.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Objects and classes
Object: entity{state, operations}state provides object informationoperations provide services to other objectsObjects created from a class: definition of template
Chapter 4 — Design 37/72
![Page 121: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/121.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
An Employee object class (UML)
Chapter 4 — Design 38/72
![Page 122: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/122.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Example Class Hierarchy (Generalization)
Chapter 4 — Design 39/72
![Page 123: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/123.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Association Model
Chapter 4 — Design 40/72
![Page 124: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/124.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Concurrent Objects
Objects execute concurrently
However, service requests are proceduralThreads allow for full concurrency even with service requests
Chapter 4 — Design 41/72
![Page 125: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/125.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Concurrent Objects
Objects execute concurrentlyHowever, service requests are procedural
Threads allow for full concurrency even with service requests
Chapter 4 — Design 41/72
![Page 126: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/126.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Concurrent Objects
Objects execute concurrentlyHowever, service requests are proceduralThreads allow for full concurrency even with service requests
Chapter 4 — Design 41/72
![Page 127: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/127.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Outline
1 Introduction
2 Architectural DesignSystem OrganizationDistributed Systems Architecture
3 Application ArchitecturesTypes of AAs
4 Object-Oriented DesignObject-Oriented Design Process
5 Interface Design
Chapter 4 — Design 42/72
![Page 128: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/128.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
The Process
Steps in the process:Understand context and useDesign system architectureIdentify main objectsDesign system modelsSpecify object interfaces
Usually an iterative, interleaved process
Chapter 4 — Design 43/72
![Page 129: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/129.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
The Process
Steps in the process:Understand context and useDesign system architectureIdentify main objectsDesign system modelsSpecify object interfaces
Usually an iterative, interleaved process
Chapter 4 — Design 43/72
![Page 130: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/130.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
The Process
Steps in the process:Understand context and useDesign system architectureIdentify main objectsDesign system modelsSpecify object interfaces
Usually an iterative, interleaved process
Chapter 4 — Design 43/72
![Page 131: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/131.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Example: a weather mapping system
Chapter 4 — Design 44/72
![Page 132: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/132.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Basics
System descriptiongenerates weather maps from data collected from several sourcescollect and integrate data into an archiveuse archive and digitized map to display/print weather map
Chapter 4 — Design 45/72
![Page 133: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/133.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Use Case and Context
Context: how the system is connected in its environmentUse case: ways in which system can be used
Chapter 4 — Design 46/72
![Page 134: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/134.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Use-cases for weather station
Chapter 4 — Design 47/72
![Page 135: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/135.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Compltete System Architecture
Layered architecture: each step only depends on previous step
Chapter 4 — Design 48/72
![Page 136: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/136.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Compltete System Architecture
Layered architecture: each step only depends on previous step
Chapter 4 — Design 48/72
![Page 137: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/137.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Subsystems in the Architecture
Chapter 4 — Design 49/72
![Page 138: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/138.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
System Architecture of Weather Station
Decomposing the system
Weather Station architecture:
Chapter 4 — Design 50/72
![Page 139: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/139.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
System Architecture of Weather Station
Decomposing the systemWeather Station architecture:
Chapter 4 — Design 50/72
![Page 140: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/140.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
System Architecture of Weather Station
Decomposing the systemWeather Station architecture:
Chapter 4 — Design 50/72
![Page 141: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/141.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Object Identification
Figure out what objects (classes) for each system/susbsystem
Use application domain knowledge for attributes and servicesFor the weather station subsystem:
Chapter 4 — Design 51/72
![Page 142: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/142.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Object Identification
Figure out what objects (classes) for each system/susbsystemUse application domain knowledge for attributes and services
For the weather station subsystem:
Chapter 4 — Design 51/72
![Page 143: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/143.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Object Identification
Figure out what objects (classes) for each system/susbsystemUse application domain knowledge for attributes and servicesFor the weather station subsystem:
Chapter 4 — Design 51/72
![Page 144: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/144.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Design Models
Graphical model of system to be implemented
Helps you to program your classes laterBridge between requirements and implementation
can create conflicts for level of detail
create several models with varying detailor choose certain level of detail in single model
Chapter 4 — Design 52/72
![Page 145: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/145.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Design Models
Graphical model of system to be implementedHelps you to program your classes laterBridge between requirements and implementation
can create conflicts for level of detail
create several models with varying detailor choose certain level of detail in single model
Chapter 4 — Design 52/72
![Page 146: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/146.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Design Models
Graphical model of system to be implementedHelps you to program your classes laterBridge between requirements and implementation
can create conflicts for level of detail
create several models with varying detailor choose certain level of detail in single model
Chapter 4 — Design 52/72
![Page 147: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/147.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Design Models
Graphical model of system to be implementedHelps you to program your classes laterBridge between requirements and implementation
can create conflicts for level of detail
create several models with varying detail
or choose certain level of detail in single model
Chapter 4 — Design 52/72
![Page 148: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/148.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Design Models
Graphical model of system to be implementedHelps you to program your classes laterBridge between requirements and implementation
can create conflicts for level of detail
create several models with varying detailor choose certain level of detail in single model
Chapter 4 — Design 52/72
![Page 149: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/149.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Static and Dynamic models
Static Models
describe system structure with classes and relationshipsrelationships: generalization, used/used-by, composition
Dynamic Modelsshow interactions between system objects (not classes)service requests, state chages
Chapter 4 — Design 53/72
![Page 150: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/150.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Static and Dynamic models
Static Modelsdescribe system structure with classes and relationships
relationships: generalization, used/used-by, compositionDynamic Models
show interactions between system objects (not classes)service requests, state chages
Chapter 4 — Design 53/72
![Page 151: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/151.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Static and Dynamic models
Static Modelsdescribe system structure with classes and relationshipsrelationships: generalization, used/used-by, composition
Dynamic Modelsshow interactions between system objects (not classes)service requests, state chages
Chapter 4 — Design 53/72
![Page 152: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/152.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Static and Dynamic models
Static Modelsdescribe system structure with classes and relationshipsrelationships: generalization, used/used-by, composition
Dynamic Models
show interactions between system objects (not classes)service requests, state chages
Chapter 4 — Design 53/72
![Page 153: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/153.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Static and Dynamic models
Static Modelsdescribe system structure with classes and relationshipsrelationships: generalization, used/used-by, composition
Dynamic Modelsshow interactions between system objects (not classes)
service requests, state chages
Chapter 4 — Design 53/72
![Page 154: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/154.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Static and Dynamic models
Static Modelsdescribe system structure with classes and relationshipsrelationships: generalization, used/used-by, composition
Dynamic Modelsshow interactions between system objects (not classes)service requests, state chages
Chapter 4 — Design 53/72
![Page 155: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/155.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
UML for Modeling
12 types of graphical models to document the static and dynamicsystem design
Subsystem models: show logical grouping of classes insub-systems
show as packagesstatic models
Sequence models: show sequence of object interactionsUML sequence or collaboration diagram.dynamic models
State machine models: show state changes for individual objectsevents and responsesstate chart diagramsdynamic models
Other model types in UML: use case, object models, generalization,etc.
Chapter 4 — Design 54/72
![Page 156: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/156.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
UML for Modeling
12 types of graphical models to document the static and dynamicsystem designSubsystem models: show logical grouping of classes insub-systems
show as packagesstatic models
Sequence models: show sequence of object interactionsUML sequence or collaboration diagram.dynamic models
State machine models: show state changes for individual objectsevents and responsesstate chart diagramsdynamic models
Other model types in UML: use case, object models, generalization,etc.
Chapter 4 — Design 54/72
![Page 157: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/157.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
UML for Modeling
12 types of graphical models to document the static and dynamicsystem designSubsystem models: show logical grouping of classes insub-systems
show as packages
static models
Sequence models: show sequence of object interactionsUML sequence or collaboration diagram.dynamic models
State machine models: show state changes for individual objectsevents and responsesstate chart diagramsdynamic models
Other model types in UML: use case, object models, generalization,etc.
Chapter 4 — Design 54/72
![Page 158: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/158.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
UML for Modeling
12 types of graphical models to document the static and dynamicsystem designSubsystem models: show logical grouping of classes insub-systems
show as packagesstatic models
Sequence models: show sequence of object interactionsUML sequence or collaboration diagram.dynamic models
State machine models: show state changes for individual objectsevents and responsesstate chart diagramsdynamic models
Other model types in UML: use case, object models, generalization,etc.
Chapter 4 — Design 54/72
![Page 159: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/159.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
UML for Modeling
12 types of graphical models to document the static and dynamicsystem designSubsystem models: show logical grouping of classes insub-systems
show as packagesstatic models
Sequence models: show sequence of object interactions
UML sequence or collaboration diagram.dynamic models
State machine models: show state changes for individual objectsevents and responsesstate chart diagramsdynamic models
Other model types in UML: use case, object models, generalization,etc.
Chapter 4 — Design 54/72
![Page 160: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/160.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
UML for Modeling
12 types of graphical models to document the static and dynamicsystem designSubsystem models: show logical grouping of classes insub-systems
show as packagesstatic models
Sequence models: show sequence of object interactionsUML sequence or collaboration diagram.
dynamic models
State machine models: show state changes for individual objectsevents and responsesstate chart diagramsdynamic models
Other model types in UML: use case, object models, generalization,etc.
Chapter 4 — Design 54/72
![Page 161: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/161.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
UML for Modeling
12 types of graphical models to document the static and dynamicsystem designSubsystem models: show logical grouping of classes insub-systems
show as packagesstatic models
Sequence models: show sequence of object interactionsUML sequence or collaboration diagram.dynamic models
State machine models: show state changes for individual objectsevents and responsesstate chart diagramsdynamic models
Other model types in UML: use case, object models, generalization,etc.
Chapter 4 — Design 54/72
![Page 162: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/162.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
UML for Modeling
12 types of graphical models to document the static and dynamicsystem designSubsystem models: show logical grouping of classes insub-systems
show as packagesstatic models
Sequence models: show sequence of object interactionsUML sequence or collaboration diagram.dynamic models
State machine models: show state changes for individual objects
events and responsesstate chart diagramsdynamic models
Other model types in UML: use case, object models, generalization,etc.
Chapter 4 — Design 54/72
![Page 163: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/163.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
UML for Modeling
12 types of graphical models to document the static and dynamicsystem designSubsystem models: show logical grouping of classes insub-systems
show as packagesstatic models
Sequence models: show sequence of object interactionsUML sequence or collaboration diagram.dynamic models
State machine models: show state changes for individual objectsevents and responses
state chart diagramsdynamic models
Other model types in UML: use case, object models, generalization,etc.
Chapter 4 — Design 54/72
![Page 164: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/164.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
UML for Modeling
12 types of graphical models to document the static and dynamicsystem designSubsystem models: show logical grouping of classes insub-systems
show as packagesstatic models
Sequence models: show sequence of object interactionsUML sequence or collaboration diagram.dynamic models
State machine models: show state changes for individual objectsevents and responsesstate chart diagrams
dynamic models
Other model types in UML: use case, object models, generalization,etc.
Chapter 4 — Design 54/72
![Page 165: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/165.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
UML for Modeling
12 types of graphical models to document the static and dynamicsystem designSubsystem models: show logical grouping of classes insub-systems
show as packagesstatic models
Sequence models: show sequence of object interactionsUML sequence or collaboration diagram.dynamic models
State machine models: show state changes for individual objectsevents and responsesstate chart diagramsdynamic models
Other model types in UML: use case, object models, generalization,etc.
Chapter 4 — Design 54/72
![Page 166: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/166.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
UML for Modeling
12 types of graphical models to document the static and dynamicsystem designSubsystem models: show logical grouping of classes insub-systems
show as packagesstatic models
Sequence models: show sequence of object interactionsUML sequence or collaboration diagram.dynamic models
State machine models: show state changes for individual objectsevents and responsesstate chart diagramsdynamic models
Other model types in UML: use case, object models, generalization,etc.
Chapter 4 — Design 54/72
![Page 167: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/167.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Subsystem Models
Objects in weather station package:
Figure: Weather station packages
Chapter 4 — Design 55/72
![Page 168: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/168.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Subsystem Models
simple associations as well
sub-system model + class model = describe logical groupingusually relate to Java packages/libraries
Chapter 4 — Design 56/72
![Page 169: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/169.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Subsystem Models
simple associations as wellsub-system model + class model = describe logical grouping
usually relate to Java packages/libraries
Chapter 4 — Design 56/72
![Page 170: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/170.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Subsystem Models
simple associations as wellsub-system model + class model = describe logical groupingusually relate to Java packages/libraries
Chapter 4 — Design 56/72
![Page 171: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/171.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Sequence Diagrams
Document interactions
For each interaction: sequence of object interactions
Figure: Sequence of operations in data collection
Chapter 4 — Design 57/72
![Page 172: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/172.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Sequence Diagrams
Document interactionsFor each interaction: sequence of object interactions
Figure: Sequence of operations in data collection
Chapter 4 — Design 57/72
![Page 173: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/173.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Sequence Diagrams
Document interactionsFor each interaction: sequence of object interactions
Figure: Sequence of operations in data collection
Chapter 4 — Design 57/72
![Page 174: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/174.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Sequence Diagrams
Objects shown horizontally, time vertically
Labeled arrows show atomic interactions between objectsrepresent messagesnot data flows
thin rectangles: when the object is the controlling objectin a hierarchy, control is not relinquished until original object isreplied to
Sequence Diagrams also for single objects
Chapter 4 — Design 58/72
![Page 175: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/175.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Sequence Diagrams
Objects shown horizontally, time verticallyLabeled arrows show atomic interactions between objects
represent messagesnot data flows
thin rectangles: when the object is the controlling objectin a hierarchy, control is not relinquished until original object isreplied to
Sequence Diagrams also for single objects
Chapter 4 — Design 58/72
![Page 176: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/176.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Sequence Diagrams
Objects shown horizontally, time verticallyLabeled arrows show atomic interactions between objects
represent messagesnot data flows
thin rectangles: when the object is the controlling objectin a hierarchy, control is not relinquished until original object isreplied to
Sequence Diagrams also for single objects
Chapter 4 — Design 58/72
![Page 177: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/177.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Sequence Diagrams
Objects shown horizontally, time verticallyLabeled arrows show atomic interactions between objects
represent messagesnot data flows
thin rectangles: when the object is the controlling object
in a hierarchy, control is not relinquished until original object isreplied to
Sequence Diagrams also for single objects
Chapter 4 — Design 58/72
![Page 178: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/178.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Sequence Diagrams
Objects shown horizontally, time verticallyLabeled arrows show atomic interactions between objects
represent messagesnot data flows
thin rectangles: when the object is the controlling objectin a hierarchy, control is not relinquished until original object isreplied to
Sequence Diagrams also for single objects
Chapter 4 — Design 58/72
![Page 179: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/179.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Sequence Diagrams
Objects shown horizontally, time verticallyLabeled arrows show atomic interactions between objects
represent messagesnot data flows
thin rectangles: when the object is the controlling objectin a hierarchy, control is not relinquished until original object isreplied to
Sequence Diagrams also for single objects
Chapter 4 — Design 58/72
![Page 180: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/180.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
State Diagrams
For important objects: show their lifetimes and event responses
Figure: State diagram for weather station
States can be helpful when implementing the class
Chapter 4 — Design 59/72
![Page 181: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/181.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
State Diagrams
For important objects: show their lifetimes and event responses
Figure: State diagram for weather station
States can be helpful when implementing the class
Chapter 4 — Design 59/72
![Page 182: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/182.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
State Diagrams
For important objects: show their lifetimes and event responses
Figure: State diagram for weather station
States can be helpful when implementing the class
Chapter 4 — Design 59/72
![Page 183: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/183.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Object-Interface Specification
Only the interface
not implementation or data itemsno internal details (private methos etc.)
helps concurrent developmentmore maintainable than full specification of classesTwo approaches:
each interface is a class in Javadeclare interfaces separately from classes
use interface and let classes implement an interface
Simply use Java (or another OO PL) to define interfaces
Chapter 4 — Design 60/72
![Page 184: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/184.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Object-Interface Specification
Only the interfacenot implementation or data items
no internal details (private methos etc.)
helps concurrent developmentmore maintainable than full specification of classesTwo approaches:
each interface is a class in Javadeclare interfaces separately from classes
use interface and let classes implement an interface
Simply use Java (or another OO PL) to define interfaces
Chapter 4 — Design 60/72
![Page 185: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/185.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Object-Interface Specification
Only the interfacenot implementation or data itemsno internal details (private methos etc.)
helps concurrent developmentmore maintainable than full specification of classesTwo approaches:
each interface is a class in Javadeclare interfaces separately from classes
use interface and let classes implement an interface
Simply use Java (or another OO PL) to define interfaces
Chapter 4 — Design 60/72
![Page 186: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/186.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Object-Interface Specification
Only the interfacenot implementation or data itemsno internal details (private methos etc.)
helps concurrent development
more maintainable than full specification of classesTwo approaches:
each interface is a class in Javadeclare interfaces separately from classes
use interface and let classes implement an interface
Simply use Java (or another OO PL) to define interfaces
Chapter 4 — Design 60/72
![Page 187: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/187.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Object-Interface Specification
Only the interfacenot implementation or data itemsno internal details (private methos etc.)
helps concurrent developmentmore maintainable than full specification of classes
Two approaches:each interface is a class in Javadeclare interfaces separately from classes
use interface and let classes implement an interface
Simply use Java (or another OO PL) to define interfaces
Chapter 4 — Design 60/72
![Page 188: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/188.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Object-Interface Specification
Only the interfacenot implementation or data itemsno internal details (private methos etc.)
helps concurrent developmentmore maintainable than full specification of classesTwo approaches:
each interface is a class in Javadeclare interfaces separately from classes
use interface and let classes implement an interface
Simply use Java (or another OO PL) to define interfaces
Chapter 4 — Design 60/72
![Page 189: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/189.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Object-Interface Specification
Only the interfacenot implementation or data itemsno internal details (private methos etc.)
helps concurrent developmentmore maintainable than full specification of classesTwo approaches:
each interface is a class in Java
declare interfaces separately from classesuse interface and let classes implement an interface
Simply use Java (or another OO PL) to define interfaces
Chapter 4 — Design 60/72
![Page 190: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/190.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Object-Interface Specification
Only the interfacenot implementation or data itemsno internal details (private methos etc.)
helps concurrent developmentmore maintainable than full specification of classesTwo approaches:
each interface is a class in Javadeclare interfaces separately from classes
use interface and let classes implement an interface
Simply use Java (or another OO PL) to define interfaces
Chapter 4 — Design 60/72
![Page 191: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/191.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Object-Interface Specification
Only the interfacenot implementation or data itemsno internal details (private methos etc.)
helps concurrent developmentmore maintainable than full specification of classesTwo approaches:
each interface is a class in Javadeclare interfaces separately from classes
use interface and let classes implement an interface
Simply use Java (or another OO PL) to define interfaces
Chapter 4 — Design 60/72
![Page 192: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/192.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Design Evolution
OO approach allows for easy changes to design
state representation does not affect interfaceobjects are loosely coupled⇒ easy to introduce new ones
E.g.: add pollution-monitoring to weather stationintroduce Air quality class at Weather Data leveladd reportAirQuality() operation to WeatherStationadd classes for pollution monitoring
Chapter 4 — Design 61/72
![Page 193: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/193.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Design Evolution
OO approach allows for easy changes to designstate representation does not affect interface
objects are loosely coupled⇒ easy to introduce new ones
E.g.: add pollution-monitoring to weather stationintroduce Air quality class at Weather Data leveladd reportAirQuality() operation to WeatherStationadd classes for pollution monitoring
Chapter 4 — Design 61/72
![Page 194: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/194.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Design Evolution
OO approach allows for easy changes to designstate representation does not affect interfaceobjects are loosely coupled⇒ easy to introduce new ones
E.g.: add pollution-monitoring to weather stationintroduce Air quality class at Weather Data leveladd reportAirQuality() operation to WeatherStationadd classes for pollution monitoring
Chapter 4 — Design 61/72
![Page 195: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/195.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Design Evolution
OO approach allows for easy changes to designstate representation does not affect interfaceobjects are loosely coupled⇒ easy to introduce new ones
E.g.: add pollution-monitoring to weather station
introduce Air quality class at Weather Data leveladd reportAirQuality() operation to WeatherStationadd classes for pollution monitoring
Chapter 4 — Design 61/72
![Page 196: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/196.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Design Evolution
OO approach allows for easy changes to designstate representation does not affect interfaceobjects are loosely coupled⇒ easy to introduce new ones
E.g.: add pollution-monitoring to weather stationintroduce Air quality class at Weather Data level
add reportAirQuality() operation to WeatherStationadd classes for pollution monitoring
Chapter 4 — Design 61/72
![Page 197: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/197.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Design Evolution
OO approach allows for easy changes to designstate representation does not affect interfaceobjects are loosely coupled⇒ easy to introduce new ones
E.g.: add pollution-monitoring to weather stationintroduce Air quality class at Weather Data leveladd reportAirQuality() operation to WeatherStation
add classes for pollution monitoring
Chapter 4 — Design 61/72
![Page 198: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/198.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface DesignObject-Oriented Design Process
Design Evolution
OO approach allows for easy changes to designstate representation does not affect interfaceobjects are loosely coupled⇒ easy to introduce new ones
E.g.: add pollution-monitoring to weather stationintroduce Air quality class at Weather Data leveladd reportAirQuality() operation to WeatherStationadd classes for pollution monitoring
Chapter 4 — Design 61/72
![Page 199: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/199.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Outline
1 Introduction
2 Architectural DesignSystem OrganizationDistributed Systems Architecture
3 Application ArchitecturesTypes of AAs
4 Object-Oriented DesignObject-Oriented Design Process
5 Interface Design
Chapter 4 — Design 62/72
![Page 200: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/200.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
“Design interface with user’s experience and interaction inmind”
Field of Human Computer InteractionExamples:
Command line interfaceXHTML/CSSSwingsometimes combined with hardware design
Software developer == Interface designer
Chapter 4 — Design 63/72
![Page 201: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/201.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
“Design interface with user’s experience and interaction inmind”Field of Human Computer Interaction
Examples:Command line interfaceXHTML/CSSSwingsometimes combined with hardware design
Software developer == Interface designer
Chapter 4 — Design 63/72
![Page 202: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/202.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
“Design interface with user’s experience and interaction inmind”Field of Human Computer InteractionExamples:
Command line interfaceXHTML/CSSSwingsometimes combined with hardware design
Software developer == Interface designer
Chapter 4 — Design 63/72
![Page 203: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/203.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
“Design interface with user’s experience and interaction inmind”Field of Human Computer InteractionExamples:
Command line interfaceXHTML/CSSSwingsometimes combined with hardware design
Software developer == Interface designer
Chapter 4 — Design 63/72
![Page 204: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/204.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
“Design interface with user’s experience and interaction inmind”Field of Human Computer InteractionExamples:
Command line interfaceXHTML/CSSSwingsometimes combined with hardware design
Software developer == Interface designer
Chapter 4 — Design 63/72
![Page 205: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/205.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Good user experience is crucial to product success
User errors are often a result of bad interface design
Chapter 4 — Design 64/72
![Page 206: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/206.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Good user experience is crucial to product successUser errors are often a result of bad interface design
Chapter 4 — Design 64/72
![Page 207: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/207.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Good user experience is crucial to product successUser errors are often a result of bad interface design
Chapter 4 — Design 64/72
![Page 208: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/208.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Bad interface leads tofrustration
inaccessible / difficult to use featuresmistakes
Some (random) guides:make user interaction simple and efficient (Quicksilver, TaDa List,Ubiquity, !gpsGuide, !Password-engine)balance meaning with action (icons in any app, Reason, !Office2010)understand and aid human memory (!16tone, !SonicMood)don’t terrorize user with errors (http://adobegripes.tumblr.com)work with user’s capabilities (accessibility, Frenzic, Mac toolbar,!Any (old) Linux GUI interface)
Chapter 4 — Design 65/72
![Page 209: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/209.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Bad interface leads tofrustrationinaccessible / difficult to use features
mistakes
Some (random) guides:make user interaction simple and efficient (Quicksilver, TaDa List,Ubiquity, !gpsGuide, !Password-engine)balance meaning with action (icons in any app, Reason, !Office2010)understand and aid human memory (!16tone, !SonicMood)don’t terrorize user with errors (http://adobegripes.tumblr.com)work with user’s capabilities (accessibility, Frenzic, Mac toolbar,!Any (old) Linux GUI interface)
Chapter 4 — Design 65/72
![Page 210: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/210.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Bad interface leads tofrustrationinaccessible / difficult to use featuresmistakes
Some (random) guides:make user interaction simple and efficient (Quicksilver, TaDa List,Ubiquity, !gpsGuide, !Password-engine)balance meaning with action (icons in any app, Reason, !Office2010)understand and aid human memory (!16tone, !SonicMood)don’t terrorize user with errors (http://adobegripes.tumblr.com)work with user’s capabilities (accessibility, Frenzic, Mac toolbar,!Any (old) Linux GUI interface)
Chapter 4 — Design 65/72
![Page 211: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/211.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Bad interface leads tofrustrationinaccessible / difficult to use featuresmistakes
Some (random) guides:
make user interaction simple and efficient (Quicksilver, TaDa List,Ubiquity, !gpsGuide, !Password-engine)balance meaning with action (icons in any app, Reason, !Office2010)understand and aid human memory (!16tone, !SonicMood)don’t terrorize user with errors (http://adobegripes.tumblr.com)work with user’s capabilities (accessibility, Frenzic, Mac toolbar,!Any (old) Linux GUI interface)
Chapter 4 — Design 65/72
![Page 212: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/212.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Bad interface leads tofrustrationinaccessible / difficult to use featuresmistakes
Some (random) guides:make user interaction simple and efficient (Quicksilver, TaDa List,Ubiquity, !gpsGuide, !Password-engine)
balance meaning with action (icons in any app, Reason, !Office2010)understand and aid human memory (!16tone, !SonicMood)don’t terrorize user with errors (http://adobegripes.tumblr.com)work with user’s capabilities (accessibility, Frenzic, Mac toolbar,!Any (old) Linux GUI interface)
Chapter 4 — Design 65/72
![Page 213: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/213.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Bad interface leads tofrustrationinaccessible / difficult to use featuresmistakes
Some (random) guides:make user interaction simple and efficient (Quicksilver, TaDa List,Ubiquity, !gpsGuide, !Password-engine)balance meaning with action (icons in any app, Reason, !Office2010)
understand and aid human memory (!16tone, !SonicMood)don’t terrorize user with errors (http://adobegripes.tumblr.com)work with user’s capabilities (accessibility, Frenzic, Mac toolbar,!Any (old) Linux GUI interface)
Chapter 4 — Design 65/72
![Page 214: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/214.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Bad interface leads tofrustrationinaccessible / difficult to use featuresmistakes
Some (random) guides:make user interaction simple and efficient (Quicksilver, TaDa List,Ubiquity, !gpsGuide, !Password-engine)balance meaning with action (icons in any app, Reason, !Office2010)understand and aid human memory (!16tone, !SonicMood)
don’t terrorize user with errors (http://adobegripes.tumblr.com)work with user’s capabilities (accessibility, Frenzic, Mac toolbar,!Any (old) Linux GUI interface)
Chapter 4 — Design 65/72
![Page 215: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/215.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Bad interface leads tofrustrationinaccessible / difficult to use featuresmistakes
Some (random) guides:make user interaction simple and efficient (Quicksilver, TaDa List,Ubiquity, !gpsGuide, !Password-engine)balance meaning with action (icons in any app, Reason, !Office2010)understand and aid human memory (!16tone, !SonicMood)don’t terrorize user with errors (http://adobegripes.tumblr.com)
work with user’s capabilities (accessibility, Frenzic, Mac toolbar,!Any (old) Linux GUI interface)
Chapter 4 — Design 65/72
![Page 216: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/216.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Introduction
Bad interface leads tofrustrationinaccessible / difficult to use featuresmistakes
Some (random) guides:make user interaction simple and efficient (Quicksilver, TaDa List,Ubiquity, !gpsGuide, !Password-engine)balance meaning with action (icons in any app, Reason, !Office2010)understand and aid human memory (!16tone, !SonicMood)don’t terrorize user with errors (http://adobegripes.tumblr.com)work with user’s capabilities (accessibility, Frenzic, Mac toolbar,!Any (old) Linux GUI interface)
Chapter 4 — Design 65/72
![Page 217: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/217.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Formal principles
User familiarity
ConsistencyMinimal surpriseRecoverabilityUser guidanceUser diversity
Chapter 4 — Design 66/72
![Page 218: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/218.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Formal principles
User familiarityConsistency
Minimal surpriseRecoverabilityUser guidanceUser diversity
Chapter 4 — Design 66/72
![Page 219: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/219.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Formal principles
User familiarityConsistencyMinimal surprise
RecoverabilityUser guidanceUser diversity
Chapter 4 — Design 66/72
![Page 220: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/220.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Formal principles
User familiarityConsistencyMinimal surpriseRecoverability
User guidanceUser diversity
Chapter 4 — Design 66/72
![Page 221: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/221.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Formal principles
User familiarityConsistencyMinimal surpriseRecoverabilityUser guidance
User diversity
Chapter 4 — Design 66/72
![Page 222: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/222.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Formal principles
User familiarityConsistencyMinimal surpriseRecoverabilityUser guidanceUser diversity
Chapter 4 — Design 66/72
![Page 223: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/223.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Issues of Interface Design
Answer two questions:How should user interact with system?How should information be presented to user?
Chapter 4 — Design 67/72
![Page 224: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/224.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
User Interaction
Advanced from interfaces designed for experts
Current interaction styles:direct manipulationmenu selectionform fill-incommand languagenatural language
Chapter 4 — Design 68/72
![Page 225: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/225.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
User Interaction
Advanced from interfaces designed for expertsCurrent interaction styles:
direct manipulationmenu selectionform fill-incommand languagenatural language
Chapter 4 — Design 68/72
![Page 226: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/226.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
User Interaction
Advanced from interfaces designed for expertsCurrent interaction styles:
direct manipulation
menu selectionform fill-incommand languagenatural language
Chapter 4 — Design 68/72
![Page 227: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/227.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
User Interaction
Advanced from interfaces designed for expertsCurrent interaction styles:
direct manipulationmenu selection
form fill-incommand languagenatural language
Chapter 4 — Design 68/72
![Page 228: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/228.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
User Interaction
Advanced from interfaces designed for expertsCurrent interaction styles:
direct manipulationmenu selectionform fill-in
command languagenatural language
Chapter 4 — Design 68/72
![Page 229: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/229.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
User Interaction
Advanced from interfaces designed for expertsCurrent interaction styles:
direct manipulationmenu selectionform fill-incommand language
natural language
Chapter 4 — Design 68/72
![Page 230: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/230.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
User Interaction
Advanced from interfaces designed for expertsCurrent interaction styles:
direct manipulationmenu selectionform fill-incommand languagenatural language
Chapter 4 — Design 68/72
![Page 231: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/231.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
User Interaction
Advanced from interfaces designed for expertsCurrent interaction styles:
direct manipulationmenu selectionform fill-incommand languagenatural language
Chapter 4 — Design 68/72
![Page 232: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/232.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Comaprisons of Interface Styles
Figure: Interaction Styles Merits/Demerits
Chapter 4 — Design 69/72
![Page 233: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/233.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Interaction Issues
single application may have mixed styles
e.g., Linux: direct manipulation, menu selection, commandlanguage
Web interfacesmostly forms baseddirect manipulation ?command language ?
Chapter 4 — Design 70/72
![Page 234: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/234.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Interaction Issues
single application may have mixed stylese.g., Linux: direct manipulation, menu selection, commandlanguage
Web interfacesmostly forms baseddirect manipulation ?command language ?
Chapter 4 — Design 70/72
![Page 235: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/235.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Interaction Issues
single application may have mixed stylese.g., Linux: direct manipulation, menu selection, commandlanguage
Web interfaces
mostly forms baseddirect manipulation ?command language ?
Chapter 4 — Design 70/72
![Page 236: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/236.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Interaction Issues
single application may have mixed stylese.g., Linux: direct manipulation, menu selection, commandlanguage
Web interfacesmostly forms based
direct manipulation ?command language ?
Chapter 4 — Design 70/72
![Page 237: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/237.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Interaction Issues
single application may have mixed stylese.g., Linux: direct manipulation, menu selection, commandlanguage
Web interfacesmostly forms baseddirect manipulation ?
command language ?
Chapter 4 — Design 70/72
![Page 238: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/238.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Interaction Issues
single application may have mixed stylese.g., Linux: direct manipulation, menu selection, commandlanguage
Web interfacesmostly forms baseddirect manipulation ?command language ?
Chapter 4 — Design 70/72
![Page 239: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/239.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Information Presentation
Use the MVC approach for focusing on UI
Kinds of presentation elements depend on many factors:precise vs relationships (tables/text/graphs, sparklines)speed of change in values (tables/graphs, animation)
Visualizations for large, changing, interactive datamolecule models, network graphs
Color usage:few (4-5)system change == color changedisplay anomalies, similaritiesconsistencyeye strain (red-on-blue)
Chapter 4 — Design 71/72
![Page 240: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/240.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Information Presentation
Use the MVC approach for focusing on UIKinds of presentation elements depend on many factors:
precise vs relationships (tables/text/graphs, sparklines)speed of change in values (tables/graphs, animation)
Visualizations for large, changing, interactive datamolecule models, network graphs
Color usage:few (4-5)system change == color changedisplay anomalies, similaritiesconsistencyeye strain (red-on-blue)
Chapter 4 — Design 71/72
![Page 241: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/241.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Information Presentation
Use the MVC approach for focusing on UIKinds of presentation elements depend on many factors:
precise vs relationships (tables/text/graphs, sparklines)
speed of change in values (tables/graphs, animation)
Visualizations for large, changing, interactive datamolecule models, network graphs
Color usage:few (4-5)system change == color changedisplay anomalies, similaritiesconsistencyeye strain (red-on-blue)
Chapter 4 — Design 71/72
![Page 242: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/242.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Information Presentation
Use the MVC approach for focusing on UIKinds of presentation elements depend on many factors:
precise vs relationships (tables/text/graphs, sparklines)speed of change in values (tables/graphs, animation)
Visualizations for large, changing, interactive datamolecule models, network graphs
Color usage:few (4-5)system change == color changedisplay anomalies, similaritiesconsistencyeye strain (red-on-blue)
Chapter 4 — Design 71/72
![Page 243: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/243.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Information Presentation
Use the MVC approach for focusing on UIKinds of presentation elements depend on many factors:
precise vs relationships (tables/text/graphs, sparklines)speed of change in values (tables/graphs, animation)
Visualizations for large, changing, interactive data
molecule models, network graphs
Color usage:few (4-5)system change == color changedisplay anomalies, similaritiesconsistencyeye strain (red-on-blue)
Chapter 4 — Design 71/72
![Page 244: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/244.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Information Presentation
Use the MVC approach for focusing on UIKinds of presentation elements depend on many factors:
precise vs relationships (tables/text/graphs, sparklines)speed of change in values (tables/graphs, animation)
Visualizations for large, changing, interactive datamolecule models, network graphs
Color usage:few (4-5)system change == color changedisplay anomalies, similaritiesconsistencyeye strain (red-on-blue)
Chapter 4 — Design 71/72
![Page 245: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/245.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Information Presentation
Use the MVC approach for focusing on UIKinds of presentation elements depend on many factors:
precise vs relationships (tables/text/graphs, sparklines)speed of change in values (tables/graphs, animation)
Visualizations for large, changing, interactive datamolecule models, network graphs
Color usage:
few (4-5)system change == color changedisplay anomalies, similaritiesconsistencyeye strain (red-on-blue)
Chapter 4 — Design 71/72
![Page 246: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/246.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Information Presentation
Use the MVC approach for focusing on UIKinds of presentation elements depend on many factors:
precise vs relationships (tables/text/graphs, sparklines)speed of change in values (tables/graphs, animation)
Visualizations for large, changing, interactive datamolecule models, network graphs
Color usage:few (4-5)
system change == color changedisplay anomalies, similaritiesconsistencyeye strain (red-on-blue)
Chapter 4 — Design 71/72
![Page 247: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/247.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Information Presentation
Use the MVC approach for focusing on UIKinds of presentation elements depend on many factors:
precise vs relationships (tables/text/graphs, sparklines)speed of change in values (tables/graphs, animation)
Visualizations for large, changing, interactive datamolecule models, network graphs
Color usage:few (4-5)system change == color change
display anomalies, similaritiesconsistencyeye strain (red-on-blue)
Chapter 4 — Design 71/72
![Page 248: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/248.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Information Presentation
Use the MVC approach for focusing on UIKinds of presentation elements depend on many factors:
precise vs relationships (tables/text/graphs, sparklines)speed of change in values (tables/graphs, animation)
Visualizations for large, changing, interactive datamolecule models, network graphs
Color usage:few (4-5)system change == color changedisplay anomalies, similarities
consistencyeye strain (red-on-blue)
Chapter 4 — Design 71/72
![Page 249: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/249.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Information Presentation
Use the MVC approach for focusing on UIKinds of presentation elements depend on many factors:
precise vs relationships (tables/text/graphs, sparklines)speed of change in values (tables/graphs, animation)
Visualizations for large, changing, interactive datamolecule models, network graphs
Color usage:few (4-5)system change == color changedisplay anomalies, similaritiesconsistency
eye strain (red-on-blue)
Chapter 4 — Design 71/72
![Page 250: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/250.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
Information Presentation
Use the MVC approach for focusing on UIKinds of presentation elements depend on many factors:
precise vs relationships (tables/text/graphs, sparklines)speed of change in values (tables/graphs, animation)
Visualizations for large, changing, interactive datamolecule models, network graphs
Color usage:few (4-5)system change == color changedisplay anomalies, similaritiesconsistencyeye strain (red-on-blue)
Chapter 4 — Design 71/72
![Page 251: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/251.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
UI Design Process
3-step process
User analysis, System prototyping, Interface evaluation
Chapter 4 — Design 72/72
![Page 252: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/252.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
UI Design Process
3-step process
User analysis, System prototyping, Interface evaluation
Chapter 4 — Design 72/72
![Page 253: Chapter 4 Design - users.manchester.eduusers.manchester.edu/Facstaff/RAhmad/classes/221/rsrcs/ch4_design.pdf · IntroductionArchitectural DesignApplication ArchitecturesObject-Oriented](https://reader030.vdocuments.us/reader030/viewer/2022040900/5e704886f2190d2987451249/html5/thumbnails/253.jpg)
Introduction Architectural Design Application Architectures Object-Oriented Design Interface Design
UI Design Process
3-step process
User analysis, System prototyping, Interface evaluation
Chapter 4 — Design 72/72