@@ -56,15 +56,15 @@ A table with quality goals and concrete scenarios, ordered by priorities
56
56
Explicit overview of stakeholders of the system, i.e. all person, roles
57
57
or organizations that
58
58
59
- - should know the architecture
59
+ - should know the architecture
60
60
61
- - have to be convinced of the architecture
61
+ - have to be convinced of the architecture
62
62
63
- - have to work with the architecture or with code
63
+ - have to work with the architecture or with code
64
64
65
- - need the documentation of the architecture for their work
65
+ - need the documentation of the architecture for their work
66
66
67
- - have to come up with decisions about the system or its development
67
+ - have to come up with decisions about the system or its development
68
68
69
69
** Motivation.**
70
70
@@ -127,9 +127,9 @@ completely understand them.
127
127
128
128
Various options:
129
129
130
- - Context diagrams
130
+ - Context diagrams
131
131
132
- - Lists of communication partners and their interfaces.
132
+ - Lists of communication partners and their interfaces.
133
133
134
134
## Business Context
135
135
@@ -192,14 +192,14 @@ and input/output.
192
192
A short summary and explanation of the fundamental decisions and
193
193
solution strategies, that shape the system’s architecture. These include
194
194
195
- - technology decisions
195
+ - technology decisions
196
196
197
- - decisions about the top-level decomposition of the system, e.g.
197
+ - decisions about the top-level decomposition of the system, e.g.
198
198
usage of an architectural pattern or design pattern
199
199
200
- - decisions on how to achieve key quality goals
200
+ - decisions on how to achieve key quality goals
201
201
202
- - relevant organizational decisions, e.g. selecting a development
202
+ - relevant organizational decisions, e.g. selecting a development
203
203
process or delegating certain tasks to third parties.
204
204
205
205
** Motivation.**
@@ -257,23 +257,23 @@ together with black box descriptions of their internal building blocks.
257
257
Here you describe the decomposition of the overall system using the
258
258
following white box template. It contains
259
259
260
- - an overview diagram
260
+ - an overview diagram
261
261
262
- - a motivation for the decomposition
262
+ - a motivation for the decomposition
263
263
264
- - black box descriptions of the contained building blocks. For these
264
+ - black box descriptions of the contained building blocks. For these
265
265
we offer you alternatives:
266
266
267
- - use _ one_ table for a short and pragmatic overview of all
267
+ - use _ one_ table for a short and pragmatic overview of all
268
268
contained building blocks and their interfaces
269
269
270
- - use a list of black box descriptions of the building blocks
270
+ - use a list of black box descriptions of the building blocks
271
271
according to the black box template (see below). Depending on
272
272
your choice of tool this list could be sub-chapters (in text
273
273
files), sub-pages (in a Wiki) or nested elements (in a modeling
274
274
tool).
275
275
276
- - (optional:) important interfaces, that are not explained in the
276
+ - (optional:) important interfaces, that are not explained in the
277
277
black box templates of a building block, but are very important for
278
278
understanding the white box. Since there are so many ways to specify
279
279
interfaces why do not provide a specific template for them. In the
@@ -348,21 +348,21 @@ the name of the black box.
348
348
Here you describe < ; black box 1> ; according the the following black
349
349
box template:
350
350
351
- - Purpose/Responsibility
351
+ - Purpose/Responsibility
352
352
353
- - Interface(s), when they are not extracted as separate paragraphs.
353
+ - Interface(s), when they are not extracted as separate paragraphs.
354
354
This interfaces may include qualities and performance
355
355
characteristics.
356
356
357
- - (Optional) Quality-/Performance characteristics of the black box,
357
+ - (Optional) Quality-/Performance characteristics of the black box,
358
358
e.g.availability, run time behavior, ….
359
359
360
- - (Optional) directory/file location
360
+ - (Optional) directory/file location
361
361
362
- - (Optional) Fulfilled requirements (if you need traceability to
362
+ - (Optional) Fulfilled requirements (if you need traceability to
363
363
requirements).
364
364
365
- - (Optional) Open issues/problems/risks
365
+ - (Optional) Open issues/problems/risks
366
366
367
367
_ < ; Purpose/Responsibility> ; _
368
368
@@ -446,15 +446,15 @@ _<white box template>_
446
446
The runtime view describes concrete behavior and interactions of the
447
447
system’s building blocks in form of scenarios from the following areas:
448
448
449
- - important use cases or features: how do building blocks execute
449
+ - important use cases or features: how do building blocks execute
450
450
them?
451
451
452
- - interactions at critical external interfaces: how do building blocks
452
+ - interactions at critical external interfaces: how do building blocks
453
453
cooperate with users and neighboring systems?
454
454
455
- - operation and administration: launch, start-up, stop
455
+ - operation and administration: launch, start-up, stop
456
456
457
- - error and exception scenarios
457
+ - error and exception scenarios
458
458
459
459
Remark: The main criterion for the choice of possible scenarios
460
460
(sequences, workflows) is their ** architectural relevance** . It is
@@ -473,24 +473,24 @@ static models (building block view, deployment view).
473
473
474
474
There are many notations for describing scenarios, e.g.
475
475
476
- - numbered list of steps (in natural language)
476
+ - numbered list of steps (in natural language)
477
477
478
- - activity diagrams or flow charts
478
+ - activity diagrams or flow charts
479
479
480
- - sequence diagrams
480
+ - sequence diagrams
481
481
482
- - BPMN or EPCs (event process chains)
482
+ - BPMN or EPCs (event process chains)
483
483
484
- - state machines
484
+ - state machines
485
485
486
- - …
486
+ - …
487
487
488
488
## < ; Runtime Scenario 1> ;
489
489
490
- - _ < ; insert runtime diagram or textual description of the
490
+ - _ < ; insert runtime diagram or textual description of the
491
491
scenario> ; _
492
492
493
- - _ < ; insert description of the notable aspects of the interactions
493
+ - _ < ; insert description of the notable aspects of the interactions
494
494
between the building block instances depicted in this diagram.> ; _
495
495
496
496
## < ; Runtime Scenario 2> ;
@@ -505,12 +505,12 @@ There are many notations for describing scenarios, e.g.
505
505
506
506
The deployment view describes:
507
507
508
- 1 . the technical infrastructure used to execute your system, with
508
+ 1 . the technical infrastructure used to execute your system, with
509
509
infrastructure elements like geographical locations, environments,
510
510
computers, processors, channels and net topologies as well as other
511
511
infrastructure elements and
512
512
513
- 2 . the mapping of (software) building blocks to that infrastructure
513
+ 2 . the mapping of (software) building blocks to that infrastructure
514
514
elements.
515
515
516
516
Often systems are executed in different environments, e.g. development
@@ -538,27 +538,27 @@ section 3.2. as technical context with your own infrastructure as ONE
538
538
black box. In this section you will zoom into this black box using
539
539
additional deployment diagrams:
540
540
541
- - UML offers deployment diagrams to express that view. Use it,
541
+ - UML offers deployment diagrams to express that view. Use it,
542
542
probably with nested diagrams, when your infrastructure is more
543
543
complex.
544
544
545
- - When your (hardware) stakeholders prefer other kinds of diagrams
545
+ - When your (hardware) stakeholders prefer other kinds of diagrams
546
546
rather than the deployment diagram, let them use any kind that is
547
547
able to show nodes and channels of the infrastructure.
548
548
549
549
## Infrastructure Level 1
550
550
551
551
Describe (usually in a combination of diagrams, tables, and text):
552
552
553
- - the distribution of your system to multiple locations, environments,
553
+ - the distribution of your system to multiple locations, environments,
554
554
computers, processors, .. as well as the physical connections
555
555
between them
556
556
557
- - important justification or motivation for this deployment structure
557
+ - important justification or motivation for this deployment structure
558
558
559
- - Quality and/or performance features of the infrastructure
559
+ - Quality and/or performance features of the infrastructure
560
560
561
- - the mapping of software artifacts to elements of the infrastructure
561
+ - the mapping of software artifacts to elements of the infrastructure
562
562
563
563
For multiple environments or alternative deployments please copy that
564
564
section of arc42 for all relevant environments.
@@ -607,15 +607,15 @@ that are relevant in multiple parts (= cross-cutting) of your system.
607
607
Such concepts are often related to multiple building blocks. They can
608
608
include many different topics, such as
609
609
610
- - domain models
610
+ - domain models
611
611
612
- - architecture patterns or design patterns
612
+ - architecture patterns or design patterns
613
613
614
- - rules for using specific technology
614
+ - rules for using specific technology
615
615
616
- - principal, often technical decisions of overall decisions
616
+ - principal, often technical decisions of overall decisions
617
617
618
- - implementation rules
618
+ - implementation rules
619
619
620
620
** Motivation.**
621
621
@@ -631,33 +631,33 @@ provided for a cohesive specification of such concepts.
631
631
632
632
The form can be varied:
633
633
634
- - concept papers with any kind of structure
634
+ - concept papers with any kind of structure
635
635
636
- - cross-cutting model excerpts or scenarios using notations of the
636
+ - cross-cutting model excerpts or scenarios using notations of the
637
637
architecture views
638
638
639
- - sample implementations, especially for technical concepts
639
+ - sample implementations, especially for technical concepts
640
640
641
- - reference to typical usage of standard frameworks (e.g. using
641
+ - reference to typical usage of standard frameworks (e.g. using
642
642
Hibernate for object/relational mapping)
643
643
644
644
** Structure.**
645
645
646
646
A potential (but not mandatory) structure for this section could be:
647
647
648
- - Domain concepts
648
+ - Domain concepts
649
649
650
- - User Experience concepts (UX)
650
+ - User Experience concepts (UX)
651
651
652
- - Safety and security concepts
652
+ - Safety and security concepts
653
653
654
- - Architecture and design patterns
654
+ - Architecture and design patterns
655
655
656
- - "Under-the-hood"
656
+ - "Under-the-hood"
657
657
658
- - development concepts
658
+ - development concepts
659
659
660
- - operational concepts
660
+ - operational concepts
661
661
662
662
Note: it might be difficult to assign individual concepts to one
663
663
specific topic on this list.
@@ -703,11 +703,11 @@ your decisions.
703
703
704
704
Various options:
705
705
706
- - List or table, ordered by importance and consequences or:
706
+ - List or table, ordered by importance and consequences or:
707
707
708
- - more detailed in form of separate sections per decision
708
+ - more detailed in form of separate sections per decision
709
709
710
- - ADR (architecture decision record) for every important decision
710
+ - ADR (architecture decision record) for every important decision
711
711
712
712
# Quality Requirements
713
713
@@ -743,10 +743,10 @@ large number of quality requirements.
743
743
The quality tree is a high-level overview of the quality goals and
744
744
requirements:
745
745
746
- - tree-like refinement of the term "quality". Use "quality" or
746
+ - tree-like refinement of the term "quality". Use "quality" or
747
747
"usefulness" as a root
748
748
749
- - a mind map with quality categories as main branches
749
+ - a mind map with quality categories as main branches
750
750
751
751
In any case the tree should include links to the scenarios of the
752
752
following section.
@@ -763,13 +763,13 @@ the system.
763
763
764
764
For architects, two kinds of scenarios are important:
765
765
766
- - Usage scenarios (also called application scenarios or use case
766
+ - Usage scenarios (also called application scenarios or use case
767
767
scenarios) describe the system’s runtime reaction to a certain
768
768
stimulus. This also includes scenarios that describe the system’s
769
769
efficiency or performance. Example: The system reacts to a user’s
770
770
request within one second.
771
771
772
- - Change scenarios describe a modification of the system or of its
772
+ - Change scenarios describe a modification of the system or of its
773
773
immediate environment. Example: Additional functionality is
774
774
implemented or requirements for a quality attribute change.
775
775
@@ -823,9 +823,9 @@ multi-language teams.
823
823
824
824
You should clearly define your terms, so that all stakeholders
825
825
826
- - have an identical understanding of these terms
826
+ - have an identical understanding of these terms
827
827
828
- - do not use synonyms and homonyms
828
+ - do not use synonyms and homonyms
829
829
830
830
** Form.**
831
831
@@ -837,5 +837,3 @@ Potentially more columns in case you need translations.
837
837
| ------ | -------------------- |
838
838
| Term 1 | < ; definition-1> ; |
839
839
| Term 2 | < ; definition-2> ; |
840
-
841
-
0 commit comments