5 Part 5: V-Modell Reference Work Products

5.3 Products

5.3.10 System Design

5.3.10.10 Software Implementation, Integration and Evaluation Concept

Process module: Software Development

Responsible: Software Architect (when using process module Software Development)

Activity: Preparing Software Implementation, Integration and Evaluation Concept

Participating: Software Developer, Safety Manager

Purpose

The »Software Implementation, Integration and Evaluation Concept defines the developoment and completion process for the »Software Unit of the system. It provides particularly the »Software Developer and the »Inspector with guidelines for their tasks.

The concept describes programming conventions, documentation specifications, procedures, tools and environments for the implementation, installation, integration and testing of software elements in detail. This includes the description of the developoment environment, tools (compiler, linker) and programming language.

The contents of the software implementation, integration and evaluation concept shall be consistent with the »Software Architecture. The design decisions made shall be implemented in a suitable manner. With respect to organization and framework conditions, the concept is determined by specifications in the Project Manual.

The »Software Architect is responsible for the preparation of the concept. He will be supported by the Software Developer who is finally responsible for the completed system. Depending on the quality assurance specifications, the test products for the individual software elements will be prepared.

Is generated by

System Implementation, Integration and Evaluation Concept, System Architecture (see product dependency 4.15)

System Implementation, Integration and Evaluation Concept, Enabling System Architecture (see product dependency 4.16)

Project Manual, Overall System Specification (see product dependency 4.27)

Generates

Evaluation Report Usability, Evaluation Specification Usability, Software Component, Software Specification, Evaluation Report System Element, Evaluation Procedure System Element, Evaluation Specification System Element, Data Protection Concept, Information Security Concept, Safety and Security Analysis (see product dependency 4.17)

Evaluation Report Usability, Evaluation Specification Usability, Market Survey for Off-the-Shelf Products, External Software Module, External Software Module Specification, Make-or-Buy Decision, Evaluation Report System Element, Evaluation Procedure System Element, Evaluation Specification System Element, Data Protection Concept, Information Security Concept, Safety and Security Analysis (see product dependency 4.18)

Evaluation Report Usability, Evaluation Specification Usability, Software Module, Software Specification, Evaluation Report System Element, Evaluation Procedure System Element, Evaluation Specification System Element, Data Protection Concept, Information Security Concept, Safety and Security Analysis (see product dependency 4.19)

Depends on

External Hardware Module, Hardware Unit, Hardware Component, Hardware Module, Hardware Implementation, Integration and Evaluation Concept, External Software Module, Software Unit, Software Component, Software Module, External Unit, System Implementation, Integration and Evaluation Concept, Segment, System (see product dependency 5.38)

Hardware Implementation, Integration and Evaluation Concept, , Project Plan, System Implementation, Integration and Evaluation Concept (see product dependency 5.39)

Hardware Implementation, Integration and Evaluation Concept, , QA Manual, System Implementation, Integration and Evaluation Concept, Enabling System Implementation, Integration, and Evaluation Concept (see product dependency 5.43)

5.3.10.10.1 Realization Procedures and Environments

A »Software Unit should be realized in a suitable environment within the scope of a defined development process. Development environment and tools like compiler or linker shall be specified. The realization procedure will be defined by means of compiler procedures, link procedures and compilation orders. The data will be made automatizable and thus repeatable by tools like Make or Ant. All code references relevant for compiling and link procedures will be identified.

If a development environment is required in the long term for supporting the system in its life cycle phases, an independent »Enabling System will be developed.

5.3.10.10.2 Integration Procedures and Integration Plan

The architecture of a»Software Unit specifies the required software element types and the structure of the software unit. For integration planning, the concrete software elements to be developed and the integration sequence shall be derived from the »Software Architecture, and a suitable integration process shall be defined.

Integration procedures specify the integration environment and the integration tools. In this connection, it must be ensured that the tools of the realization and integration environment harmonize with each other and complement each other properly. The integration plan defines the integration architecture and the sequence of the integration steps. It specifies the software elements to be realized for the software element types defined in the software architecture and determines the integration sequence.

5.3.10.10.3 Installation Procedures and Target Environments

The development process also includes the identification of the required target environment and the description of the installation process. All target environments to be used by the system in various development phases shall be identified, and the installation procedures shall be specified. The Project Manual specifies conditions for the target environments to be supported. In addition to the development environment, an evaluation environment and an integration environment for simulating the final target platform will frequently be specified as target environments.

The installation procedure and the required tools will be described for every identified target environment. The description of the procedure for installing the system on the target platform is based on the contents of this subject. It will be prepared within the scope of the logisitc »In-Service Documentation and delivered to the acquirer.

5.3.10.10.4 Evaluation Procedures and Strategy

A general evaluation strategy and a concrete test process shall be specified for all software elements. In this connection, economic efficiency, availability of evaluation environments, testability or test duration are important factors.

The test process specifies algorithms, test tools and test methods to be used for executing the tests. The concrete evaluation procedure will be developed in the respective software element evaluation specifications.

The evaluation strategy will be derived from the evaluation strategy in the higher implementation, integration and evaluation concept and the specifications in the Project Manual and the »QA Manual. It specifies general rules and criteria for the execution of software element tests. Particularly the demonstrations and framework conditions required explicitly by the acquirer shall be taken into account for the evaluation strategy.

The evaluation strategy should be examined especially with regard to redundancy and risk reduction and with regard to the availability of existing tools.

5.3.10.10.5 Software Elements to be Evaluated

The evaluation of a software element is expensive and not always required. In order to adapt the effort to the requirements of individual projects, the »Software Architect has - based on the specifications in the Project Manual and the specified evaluation strategy - the possibility to determine which software elements of the »Software Unit are to be evaluated. Critiera for the necessity of an evaluation may include the following: criticality and complexity of the software element and its central role within the software unit. If software elements are classified as not to be evaluated, a rationale shall be included.

5.3.10.10.6 Safety and Security Relevant Software Elements and Safety and Security Measures

For every software element, it shall be determined if it has a risk potential, how high is this risk potenital, to which safety and security level it belongs and whether the execution of a hazard and safety analysis is required. The safety and security requirements to be fulfilled will be derived from the »Software Specification of the software element.

Software elements critical for safety and security are elements which are of critical importance for fulfilling the safety and security requirements, i.e., the risk assessment/danger potential of which exceeds a prespecified threshold level.