F4 - Architecture Documentation Flashcards

1
Q

What is a view in the context of documenting architectures?

A

A view is a representation of a whole system from the perspective of a related set of concerns, also known as a viewpoint

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

What is the purpose of having different views of a software system?

A

Different views allow for capturing various aspects or concerns of the system without contradicting each other, providing a comprehensive understanding of the system’s architecture

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

Describe the properties of a view in architectural documentation

A

Views should not contradict each other, can represent different perspectives of the system, and utilize appropriate notations or diagrams, which should be explained if not standardized

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

What are some examples of views commonly used in software architecture documentation

A

Context views, runtime views, building block views, and deployment views

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

Explain the purpose of building block views in software architecture documentation.

A

Building block views depict the logical structure and dependencies between blocks of the system, providing a top-level look at how the system is decomposed into logical building blocks

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

What type of diagrams can be used to represent building block views in architectural documentation?

A

UML class diagrams and UML component diagrams are commonly used for building block views

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

What is the focus of runtime views in software architecture documentation?

A

Runtime views describe the behavior of the system, including important communication patterns, essential application logic, and responses to significant events

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

Which type of diagram is often used to depict runtime views focusing on the order of activities and control flow?

A

UML activity diagrams are commonly used to represent runtime views

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

Explain the purpose of deployment views in software architecture documentation

A

Deployment views describe how the logical structure of the system maps to physical structures, including hardware, operating systems, and servers

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

What diagram is typically used to depict deployment views, showing how components manifest and are connected via protocols

A

UML deployment diagrams are commonly used for depicting deployment views.

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

What are cross-cutting concerns in software architecture?

A

Cross-cutting concerns are aspects of the system that cannot be illustrated as one view but are critical considerations for software architects, such as authentication, rights management, and data integrity.

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

How can architectural decisions be documented in a lean way?

A

Architectural decisions can be documented using techniques like Architecture Decision Records (ADRs), which provide a concise explanation of why a particular decision was made in the architecture

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

What is the purpose of evaluating alternatives in software architecture?

A

Evaluating alternatives helps assess how well each option fulfills relevant requirements, supports business goals, and meets the needs of the project

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

How can ADRs be utilized in architecture documentation?

A

ADRs can be used to explain why certain architectural decisions were made, providing transparency and rationale behind the chosen approach.

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