Description and Communication of Software Architectures Flashcards

1
Q

What is an architecture view?

A
  • representation of the system from a specific viewpoint
  • emphasizes important objects and aspects
  • creates high level abstractions
  • obscures for the specific viewpoint unimportant details
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are well-established views (iSAQB)? Which diagrams generally belong to these views?

A
  • context view
  • runtime view (sequence diagram)
  • building block view (class diagram)
  • deployment view (deployment diagram)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Describe in short the Context view (or context diagram)

A
  • diagram with (preferably) UML components
  • contains the system under design as a black box
  • as well as all external systems and users as actors or UML components
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Describe in short the Runtime view

A
  • sequence, activity or similiar diagrams
  • describes main flows / sequences between building blocks that make up the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe in short the Building Block view

A
  • UML component or High-level class diagrams
  • describes functional and (possibly) technical building blocks of the system and their relationship with each other
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe in short the Deployment view

A
  • Mapping of the softwrae to physical infrastructure
  • deployment of software to computer nodes, networks, …
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How do the main four views work together with other views?

A
  • specialized views can be used to supplement the main views
  • each additional view needs time and effort for creation and maintenance, resulting in a bigger documentation effort
    examples:
  • Data view (database structures, like Entity-relationship model)
  • “Big Picture” for management communication
  • Mask view (screen masks, website screen sequence diagrams, …)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How often do these types of views exist?

A
  • more than once
  • can describe different parts in more detail
  • in accordance with project and stakeholder needs and criticality of the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What types of UML structure diagrams are mainly used for Architecture documentation?

A
  • UML component diagram
  • UML class diagram
  • UML composite structure diagram
  • UML deployment diagram
  • UML package diagram
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What types of UML behavior diagrams are mainly used for Architecture documentation?

A
  • UML sequence diagram
  • UML activity diagram
  • UML use-case diagram
  • UML communication diagram
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does an UML class diagram contain?

A
  • static structure of classes and their relationship with each other
  • typical relationships are aggregation, associations, specializations and generalizations
  • relationships can have different cardinalities
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What does an UML component diagram contain?

A
  • provides overview of the building blocks that make up the system
  • describes them using UML components
  • UML components have well-defined interfaces via which they are connected to other system components
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does an UML activity diagram contain?

A
  • shows possible sequences within elements of the system (classes, components, use-cases,…)
  • can be used to provide detailed descriptions of algorithms, data flow and control flows
  • usually have a starting point, end point, substeps and branches
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does an UML sequence diagram contain?

A
  • vertical description of communication between instances of building blocks in the system
  • can be nested to prevent them from becoming uncomprehensibly large
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How should you deal with other diagrams/views?

A
  • less formal diagrams, not UML, can be more appropriate for your stakeholders
  • like power-point presentations or Event-Driven Process chains
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the guidelines for writing a architecture view description

A
  • match description to target group
  • rule of thumb: use as little formalism as possible, but as much as necessary
  • resist the temptation to act dogmatically, project delays because of diagrams are seldom useful
  • useful initial framework: the higher the risks/complexity of the building block, the more comprehensive the documentation has to be
  • low risks = some risk may be omitted
17
Q

What is an example template for the description of architecture views?

A
  1. Brief description
  2. Diagrams
  3. Element catalog
  4. Variability
  5. Background information
18
Q

In the template for architecture view description describe the contents of:
1. Brief description

A
  • short text-based overview of what is involved in this specific case
19
Q

In the template for architecture view description describe the contents of:
- 2. Diagrams

A

Graphical representation of the view

20
Q

In the template for architecture view description describe the contents of:
- 3. Element catalog

A
  • textual or tabular list of elements/building blocks that appear in the architecture view
    including:
  • elements and properties
  • relationships and their properties
  • interfaces of and between elements
  • element behavior
21
Q

In the template for architecture view description describe the contents of:
- 4. Variability

A
  • text-based description of variable elements or relationships
  • regarding requierements, architecture, design, involved external systems, infrastructure
  • depending on view also operating parameters, installation, configuration
  • distinction can be useful between:
  • changeability - foreseeable ability to modify the current system
  • flexibility - ability to extend the system
22
Q

In the template for architecture view description describe the contents of:
- 5. Background information

A
  • text-based background information
  • useful for historically justification of architecture design decisions
    usually includes:
  • justificatins for selected structure or chosen alternative
  • results of analyses or preliminary assessments of specific content-related system aspects
  • assumptions made respective to the system, building blocks in use, or system environment
  • references to associated/connected views
  • source information of sample code