Professional Documents
Culture Documents
05+06 SE Modeling Architecture
05+06 SE Modeling Architecture
INT2208E
Lecture 05: System Modeling
1
System modeling
2
System perspectives
3
External perspective
Box
4
Interaction perspective
6
Structural perspective
Calculate
insulin
Save ( )
Send ( )
8
State diagram of a microwave oven
Full
power Full power
do: set power
= 600
Timer
Waiting
Number
do: display Operation
Full Set time
time
power do: get number do: operate
exit: set time oven
Half
Half power
Door
power Cancel
Timer closed
Start
Door
open Door
Half power Enabled Waiting
open
do: set power Door do: display do: display
= 300 closed 'Ready' time
Disabled
do: display
'Waiting'
10
Key points
12
Key points
13
Software Engineering
INT2208E
Lecture 06: Architectural Design
14
Today…
15
Architectural design
16
Autonomous Driving Car
18
Autonomous Driving Car
19
Levels of Autonomous Driving
How ADV works?
Mapping out every
intersection, sign,
and signal
Keeping an eye
on everything, all
at once
Predicting things
before they
happen
Planning for the
safest outcome
Seeing the road in multiple dimensions
Seeing the road in multiple dimensions
Lidar
Camera
Rada
Apollo - Architecture
32
“PasteBin” Service
33
Facts
36
Analysis
37
Bottlenecks?
Architectural design decisions
Is there a generic application
How will the system be
architecture that can act as a What architectural patterns or
distributed across hardware
template for the system that is styles might be used?
cores or processors?
being designed?
How will the structural What architectural organization How should the architecture
components in the system be is best for delivering the of the system be
decomposed into non-functional requirements documented?
sub-components? of the system?
40
Architecture and system characteristics
• Performance
• Localise critical operations and minimise communications. Use large rather than fine-grain
components.
• Security
• Use a layered architecture with critical assets in the inner layers.
• Safety
• Localise safety-critical features in a small number of sub-systems.
• Availability
• Include redundant components and mechanisms for fault tolerance.
• Maintainability
• Use fine-grain, replaceable components.
41
Architectural views
42
Architectural patterns
43
The organization of the Model-View-Controller
Change
notification
State State query
change
Model
Encapsulates application
state
Notifies view of state
changes
44
A generic layered architecture
User interface
45
A repository architecture for an IDE
UML Code
editors generators
Java
editor
Design Project
translator repository
Python
editor
Design Report
analyzer generator
47
Which one should be used?
48
Use of application architectures
49
Key points
50
Key points
51
Next class
52