Design SA - Architecture centric approaches Flashcards

1
Q

What approaches can be differentiated?

A
  • Domain Driven Design
  • Evolutionary Architectury
  • Global analysis
  • Model Driven Architecture
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are important parts of DDD?

A
  • Functional and Domain Model and Domain Language
  • How to structure domains
  • Types of Domains
  • Integration of Domains
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Describe the connection in DDD of Functional Model, Domain Model and Domain language

A
  • domain model should be based on functional basis
  • acceptence throughout the project of this model is important
  • on basis of domain model the domain language is developed
  • this also needs to be accepted and used throughout the project, even in code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

In DDD what are the elements of the domain model?

A

Functional elements:
- value objects (no identity, simply describe a value or contain other value objects)
- entities (identifiable objects)
- services (operations with input/output of entities and value objects, aggregates)

Management elements:
- Factories (for creation of functional objects)
- Aggregates (for collection of objects with identity with one root access-object)
- Repositories (encapsulation of persistence)

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

In DDD how can a domain model be structured?

A

Either based on
- functional objects
- or user transactions

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

In DDD when should the structuring be based on functional objects?

A
  • functional logic is complex, extensive or flexible
  • reuse is important
  • object-oriented paradigm is well understood
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

In DDD when should the domain structuring be based on user transactions?

A
  • simple data operations and acquisition
  • integration of external systems
  • simple or limited functional logic
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

In DDD what are user transactions?

A
  • every action a system user can execute
  • also internal operations like checking input data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

In DDD what types of domains exist?

A
  • Core Domain
  • Support Subdomain
  • Generic Subdomain
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

In DDD describe the Core Domain

A
  • core part of the functionality of the system
  • should be implemented by most experienced developer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

In DDD describe the Support Subdomain

A
  • supporting and subordinate functionality
  • should be strictly seperated from core domain
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

In DDD describe the Generic Subdomain

A
  • can be supplied externally through buy-in or outsourced
  • functionality of importance that is not part of the Core Domain
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

In DDD what different options do we have for Intergration of Domains?

A
  • usage of same language (JSON, XML)
  • usage of open host service, one domains offers an api of sorts (REST, …) for use by other domains
  • anti-corruption layer, usage of other domain services via an isolation layer
  • seperate ways, no integration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Describe the core concepts of Evolutionary Architecture?

A
  • usage of a fitness function to describe ability of the system to fulfill the requierements
  • this makes different architectures comparable to each other
  • fitness function should be calculated often via inclusion of CICD
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the main concepts/principles of Evolutionary Architecture?

A
  • Last responsible moment principle
  • responsibility should be structured along domain or subject
  • Reverse Conway-maneauver
  • Focus on testablity
  • Postels Law
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

In Evolutionary Architecture what is the fitness function and what is important about its creation?

A
  • describes extent to which the system fulfills the goal
  • can be difficult to create because we need for each requierement/target quality a way of measuring it
  • should be calculated often in order to have quick feedback
  • time of measurement can have an impact on result
  • therefore description should mention when it it so be calculated
17
Q

Which Reference Architectures need to be known?

A
  • Generative creation of building blocks
  • Aspect orientation
  • Object orientation
  • procedural approaches
18
Q

Describe the reference architecture
Aspect orientation

A
  • can be used for cross-cutting tasks
    Example use cases:
  • security
  • monitoring
  • logging
  • error handling
  • validation
  • session
19
Q

What is a white box?

A
  • a black box view can be decomposed into the white-box view below it
  • in the white box view a building block is broken down into component elements
  • this again shows how building blocks are constructed, potentially from other building blocks