Software Architecture Flashcards

1
Q

What are the Architecture Characteristics?

A

(May be dependent on the context of the system)
- specifies operational and design criteria on how to
implement a certain requirement
- influences design aspect so that a (combination of)
components are specified to realize the
requirement? (and not best practice)
- Critical that application performs as intended and
meets (functional and non-func.) requirements

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

Operational Architecture Characteristic

A
Merkmale:
- Availability (Time interval the system to be online, 
  quick recovery, ...)
- Performance
- Scalability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Structural Architecture Characteristic

A
  • Extensibility
  • Maintainability
  • Configuration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cross-Cutting Architecture Characteristic

A

Need to be considered across multiple components

  • Accessibility (Usable by all users including disabilities)
  • Privacy (Data protection,..)
  • Security (encryption, authorization,..)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Different Types of Architecture Styles

A
monolithic:
- Layers
- Model-View-Controller
distributed:
- Service-Based
- microservices
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Layered Architectural Style

A
Technologically partitioned 
- definition of responsibilities for each layer
Layer types (open, closed)
- request muss pass through closed and can skip open 
  layers
Topology:
- Presentation layer
- Business layer
- Persistence layer
- Database layer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Layered Architectural Style - Trade Offs

A

+ Simplicity and Costs
+ Reliable
-> works well for medium sized systems

  • Elasticity and scalability
  • performance (parallelization not supported)
  • availability (long startup/recovery time)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Model-View-Controller (MVC) AS

A

Separates system in three modules
- Model (Backend & Data)
- View (presentation of the model data (user interface))
- Controller (translates user interaction to operations
on the model)

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

Model-View-Controller - Trade Offs

A

+ Interactive application (#views not fixed, datat should
be presented differently,…)
+ change propagation mechanism (ensures consistency between view and model on various platforms)

  • not all views are interested in all changes
  • increased complexity (separate components)
  • high dependency between view and controller
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Service-Based AS

A

User interface with one or more services that are connected to a common database
- multiple interfaces, services and databases in different arrangements possible
The services are composed of differen components
- domain partitioned service (components realize domain specific tasks)
- technically partitioned service (components in layered structure)

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