Professional Documents
Culture Documents
luca boldrin
Topics
What is an architecture?
Architectural views
Architectural patterns
Eaxmple of application architectures
Architectural views
End-user Programmers
Functionality Software management
Implementation
Logical
Viewpoint
Viewpoint
Scenarios
Process Deployment
Viewpoint Viewpoint
Architectural views
Logical view
Implementation view
Process view
Deployment view
Scenario view
• Ad-hoc representations is
the practice.
https://docs.italia.it/italia/daf/daf-docs/en/bozza/architecture/logical_arch/logicalView.html
25/03/23 Lecture 8 - Software Architecture 18
Topics
Architectural views
Logical view
Implementation view
Process view
Deployment view
Scenario view
Domain
Technical Services
Domain
Vertical Layers
Technical Services
Horizontal Partitions
«component»
Novell
MySQL LDAP Foundation
Inventory
UML notation: A UML component, or replaceable, modular part of the physical system
Architectural views
Logical view
Implementation view
Process view
Deployment view
Scenario view
Architectural views
Logical view
Implementation view
Process view
Deployment view
Scenario view
Architectural views
Logical view
Implementation view
Process view
Deployment view
Scenario view
Putting it all together The elements in the four views are shown
to work together seamlessly by the use of a small set of important
scenarios —instances of more general use cases—for which we
describe the corresponding scripts [...]
The scenarios are in some sense an abstraction of the most
important requirements. [...]
This view is redundant with the other ones (hence the “+1”) [...]
Architectural patterns
1. Layered pattern
2. Client-server pattern
3. Master-slave pattern
4. Pipe-filter pattern
5. Broker pattern
6. Peer-to-peer pattern
7. Event-bus pattern
8. Model-view-controller pattern
9. Blackboard pattern
Architectural patterns
1. Layered pattern
Usage
• General desktop applications.
• E commerce web applications.
25/03/23 Lecture 8 - Software Architecture 37
Layered pattern
Name Layered architecture
Architectural patterns
2. client-server
Internet
Architectural patterns
3. Master-slave pattern
Usage
• In database replication, the master
database is regarded as the authoritative
source, and the slave databases are
synchronized to it.
• Peripherals connected to a bus in a
computer system (master and slave
drives).
Architectural patterns
4. Pipe-filter pattern
Usage
• Compilers. The consecutive filters perform lexical analysis, parsing,
semantic analysis, and code generation.
• Workflows.
•
Symbol table
Syntax tree
Architectural patterns
5. Broker pattern
Architectural patterns
Usage
• File-sharing networks such as Gnutella and G2)
• Multimedia protocols such as P2PTV and PDTP.
• Proprietary multimedia applications such
as Spotify.
Architectural patterns
Architectural patterns
8. MVC pattern
Architectural patterns
9. Blackboard pattern
Usage
• Speech recognition
• Vehicle identification and tracking
• Protein structure identification
• Sonar signals interpretation.
UML Code
editors generators
Java
editor
Design Project
translator repository
Python
editor
Design Report
analyzer generator
Architectural views
Architectural patterns
Eaxmple of application architectures