Process name:
Software Architectural Design
Process purpose:
Defining a Software Architectural Design to allocate relevant software requirements and its software elements. The design shall be also checked against defined criteria.
Process outcomes:
You´ve managed to:
define a software architectural design that determines the relevant software elements.
allocate the software requirements to the elements of the software.
define all interfaces for each software element.
define the dynamic behavior and resource consumption objectives of the software elements.
establish consistency and bidirectional traceability
agree on the software architectural design an communicate it to all relevant parties.
Base practices
Develop software architectural design
First of all we need to develop and document the software architectural design, which define the software elements based on functional and non-functional software requirements.
The defined process outcome is:
04-04 Software Architectural Design
Next the software requirements are being allocated to the software elements within software architectural design.
Again we need to provide a updated:
04-04 Software Architectural Design
Now that the elements are defined but maybe not really connected, we need to identify, develop and define interfaces in between them.
Results of this process need to be stored in:
04-04 Software Architectural Design
17-08 Interface Requirements Specification
Our Task now, is to document and evaluate the dynamic behavior of the interaction between the system elements. Dynamic behavior can be ascertained by operation modes like:
listen()
write()
syncIT()
log()
start-up
shutdown
diag mode
Results need to be documented within:
04-04 Software Architectural Design
In this step we want to identify and document the resource consumption objectives for all required elements of the software architectural design on the right hierarchical level. Examples could be:
CPU load
Memory (RAM, ROM, external/internal
Architecture x86
The objectives can be found within:
04-04 Software Architectural Design
Similar as in SYS.3-BP.5 we need to determine evaluation criteria for our architecture. Those will be used to evaluate alternative software architectures according to the defined criteria. The result of the chosen software architecture shall be recorded. How do I define such evaluation criteria? They can include quality characteristics like:
Modularity
Maintainability
Expandability
Scalability
Reliability
Security realization
Usability
The results of make-buy-reuse analysis can influence such a decision.
The results of this process need to be provided within:
04-04 Software Architectural Design
17-08 Interface Requirements Specification
13-19 Review Record
13-22 Traceability Record
To fulfill this process it is very important to provide traceability between the software requirements and the elements of the software architectural design.
Results can be found in:
13-22 Traceability Record
13-19 Review Record
As for the traceability the same applies to ensuring the consistency between our system requirements and system elements.
To fulfill consistency we need to provide:
13-22 Traceability Record
13-19 Review Record
13-04 Communication Record
04-04 Software Architectural Design
Finally we need to ensure that every relevant stakeholder gets the updates about the agreed software architectural design and its updates.
The results need to be stored within:
13-04 Communication Record
Finish
Let´s take a look into everything


