6 Part 6: V-Modell Reference Activities

6.3 Activities

6.3.10 System Design

6.3.10.5 Preparing Software Architecture

Work Product:

Software Architecture

Method Reference:

Design Verification, Prototyping, System Design

Tool reference:

Modeling Tool

Purpose

When preparing the architecture, a »Software Architecture of the software unit shall be derived from the requirements and defined.

The process of preparing the architecture (see Figure 22) will start with the identification of the architectural drivers and the parallel definition of the evaluation criteria. Then architectural views will be identified and prepared. This preparation will correspond to the actual design process.

The architecture that was prepared will be finally reviewed and selected on the basis of the evaluation criteria. The process of preparing the architecture may be carried out in several cycles.

6.3.10.5.1 Identifying Architectural Drivers

Subject:

Software Architecture: Architectural Principles and Design Alternatives

When identifying architectural drivers, principles for the design of a »Software Architecture shall be defined. This may be for example the following requirements:

6.3.10.5.2 Determining Evaluation Criteria

Subject:

Software Architecture: Architectural Principles and Design Alternatives

For the design of the architecture of the »Software Unit evaluation criteria shall be defined. These criteria will specify for which properties the selected architectural design will have to be evaluated. The identification of evaluation criteria will be based in particular on the non-functional requirements defined in the »Software Specification. The task of the architecture will be to support these requirements appropriately.

The evaluation criteria shall be prioritized and weighed. Additional criteria will be aspects such as licensing, development efforts or availability of already existing software elements (reuse).

6.3.10.5.3 Identifying Architectural Views

Subjects:

Software Architecture: Data Catalog, Software Architecture: Software Unit Decomposition, Software Architecture: Interface Overview

In this subactivity different perspectives (views) on the software shall be defined (see also the description regarding Identifying Architectural Views in the activity Developing Architecture).

In the simplest case »Software Architectures will be the hierarchical decomposition of the software with the associated software elements, including the interfaces (structural view), and the description of the communication and interaction between the software elements or the software elements and the environment (dynamic view).

It will be possible to define arbitrary additional views on the software, which may relate for example to the deployment, the work flow or the data.

Appropriately several different views should be prepared to permit easier access and to improve the understanding of the architecture.

6.3.10.5.4 Preparing Architectural Views

Subjects:

Software Architecture: Data Catalog, Software Architecture: Software Unit Decomposition, Software Architecture: Interface Overview, Software Architecture: Software Elements to be Specified

Each of the defined architectural views on the software shall be prepared (see also the definition for Preparing Architectural Views in the activity Developing Architecture). This will include the following steps:

6.3.10.5.5 Evaluating Architecture

Subject:

Software Architecture: Design Evaluation

The architectureshall be evaluated on the basis of the defined evaluation criteria. For this purpose it may be for example necessary to define scenarios for the evaluation criteria and to verify their implementation in the architecture or, in individual cases, to develop prototypes of critical elements.

If an architecture fulfills the evaluation criteria completely, it may be used as a basis for the further development process.