L4 - System Decomposition Flashcards

1
Q

Filter

A

Processing Step

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

8 Steps of System Design

A
  1. Design Goal
  2. Subsystem Decomposition
  3. Concurrency
  4. Hardware/Software Mapping
  5. Persistent Data Management
  6. Global Resource Handling
  7. Software Control
  8. Boundary Conditions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Closed Architecture (Opaque Layering)

A

Layer can only call operations from layer below. Buschmann: ‘direct addressing’ - low coupling: more portable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

API

A

Application Programmer’s Interface (API) specifies the subsystem interface

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is not explicitly shown in Communication Diagrams?

A

Labels + Roles + Multiplicities (Difference between Communication and Class Diagrams)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Open Architecture (Transparent Layering)

A

Layer can call any operation. Buschmann: ‘indirect addressing’ - high coupling: higher performance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Which architectural style should be used when considering systems with high coupling?

A

Model View Controller

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Problem Solving Heuristics

A

Understanding the problem + Devising a plan + Executing plan + Examining solution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Process Flow MVC

A
  1. View sends update to Controller
  2. Controller updates Model
  3. Model updates View
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

View (MVC)

A

Subsystem that contains boundary objects (displaying information to user)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Cohesion

A

Dependency and relation among classes. More interaction within their subsystem (high cohesion) = the better.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Controller (MVC)

A

Subsystem between views and models (responsible for interacting with user & change mangement)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Pipe

A

Connection between two processing steps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Client-Server Architecture

A

Client (Input + Front End Processing) + Server (Data Management)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

‘Layer A calls layer B’

A

Runtime dependency

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

MVC

A

Model View Controller decouples data access and data presentation.

17
Q

T.H.E. System (Dijkstra)

A

Selected Layer has no knowledge of higher layers (‘directed addressing’)

18
Q

‘Layer A depends on layer B’

A

Usage/Compile Time Dependency

19
Q

3-layered Architecture

A

Application consists of three hierarchically ordered layers.

20
Q

Design Goal

A

Identify functional and non-functional Design Goals. Stakeholders might have different needs than developers (trade-off)

21
Q

Communication Diagram

A

Class Diagram + Messages (sequential/conditional/concurrent)

22
Q

Subsystem Decomposition

A

Reduce the complexity of system while allowing change (high cohesion + low coupling)

23
Q

Coupling

A

Dependency among subsystems. Low coupling (subsystem interactions) desirable. Calling class should not know anything about internal variables (Principle of information hiding)

24
Q

3-tier Architecture

A

Closed Architecture + 3 Layers on 3 separate hardware nodes (web browser + web server + database)

25
Q

Service

A

Group of externally visible operations provided by a subsystem

26
Q

Model (MVC)

A

Subsystem that contains entity objects (responsible for application domain knowledge)