...
Expand | ||
---|---|---|
| ||
Contents The runtime view describes concrete behavior and interactions of the system’s building blocks in form of scenarios from the following areas:
Remark: The main criterion for the choice of possible scenarios (sequences, workflows) is their architectural relevance. It is not important to describe a large number of scenarios. You should rather document a representative selection. Motivation You should understand how (instances of) building blocks of your system perform their job and communicate at runtime. You will mainly capture scenarios in your documentation to communicate your architecture to stakeholders that are less willing or able to read and understand the static models (building block view, deployment view). Form There are many notations for describing scenarios, e.g.
|
...
Expand | ||
---|---|---|
| ||
Content The deployment view describes:
Often systems are executed in different environments, e.g. development environment, test environment, production environment. In such cases you should document all relevant environments. Especially document the deployment view when your software is executed as distributed system with more then one computer, processor, server or container or when you design and construct your own hardware processors and chips. From a software perspective it is sufficient to capture those elements of the infrastructure that are needed to show the deployment of your building blocks. Hardware architects can go beyond that and describe the infrastructure to any level of detail they need to capture. Motivation Software does not run without hardware. This underlying infrastructure can and will influence your system and/or some cross-cutting concepts. Therefore, you need to know the infrastructure. Maybe the highest level deployment diagram is already contained in section 3.2. as technical context with your own infrastructure as ONE black box. In this section you will zoom into this black box using additional deployment diagrams:
|
...
Expand | ||
---|---|---|
| ||
Content This section describes overall, principal regulations and solution ideas that are relevant in multiple parts (→ cross-cutting) of your system. Such concepts are often related to multiple building blocks. They can include many different topics, such as
Concepts form the basis for conceptual integrity (consistency, homogeneity) of the architecture. Thus, they are an important contribution to achieve inner qualities of your system. Some of these concepts cannot be assigned to individual building blocks (e.g. security or safety). This is the place in the template that we provided for a cohesive specification of such concepts. Form The form can be varied:
A potential (but not mandatory) structure for this section could be:
Note: it might be difficult to assign individual concepts to one specific topic on this list. |
...
Expand | ||
---|---|---|
| ||
Contents Important, expensive, large scale or risky architecture decisions including rationals. With "decisions" we mean selecting one alternative based on given criteria. Please use your judgement to decide whether an architectural decision should be documented here in this central section or whether you better document it locally (e.g. within the white box template of one building block). Avoid redundancy. Refer to section 4, where you already captured the most important decisions of your architecture. Motivation Stakeholders of your system should be able to comprehend and retrace your decisions. Form Various options:
|
...
Expand | ||
---|---|---|
| ||
Contents Concretizaion Concretization of (sometimes vague or implicit) quality requirements using (quality) scenarios. These scenarios describe what should happen when a stimulus arrives at the system. For architects, two kinds of scenarios are important:
Scenarios make quality requirements concrete and allow to more easily measure or decide whether they are fulfilled. Especially when you want to assess your architecture using methods like ATAM you need to describe your quality goals (from section 1.2) more precisely down to a level of scenarios that can be discussed and evaluated. Form Tabular or free form text. |
...
Expand | ||
---|---|---|
| ||
Contents The most important domain and technical terms that your stakeholders use when discussing the system. You can also see the glossary as source for translations if you work in multi-language teams. Motivation You should clearly define your terms, so that all stakeholders
|