5 Part 5: V-Modell Reference Work Products
5.3 Products
5.3.9 System Specifications
5.3.9.7 External Software Module Specification
Process module: Software Development
Responsible: Software Architect (when using process module Software Development)
Participating: Software Developer, Logistics Developer, Ergonomics Manager, Safety Manager, Inspector
Purpose
The »External Software Module Specification describes all functional and non-functional requirements posed on an »External Software Module. In order to prepare the Software Specification, the requirements will be derived from the specifications of higher system elements. If changes are required in the course of the following development, the applicable specification shall be adapted at first. The »Evaluation Specification System Element defines the evaluation cases required for demonstrating the requirements of interfaces and specifications.
The External Software Module Specification mainly describes the requirements posed on the external software and specifies the connected interfaces.
The requirements tracing ensures that all requirements posed on the respective elements will be taken into account. The External Software Module Specification will be prepared together with the architecture design of the »Software Units. The »Software Architect is responsible for the preparation of these products, thus ensuring the consistency between specification and architecture.
Requirements of the External Software Module Specification may influence the Logistic Support Specification, just as logistic requirements may influence the External Software Module Specification.
Is generated by
Software Implementation, Integration and Evaluation Concept, Software Architecture (see product dependency 4.18)
Depends on
Make-or-Buy Decision (see product dependency 5.15)
External Hardware Module Specification, Hardware Specification, Logistic Support Specification, Software Specification, External Unit Specification, System Specification (see product dependency 5.23)
External Hardware Module Specification, External Unit Specification, Request for Proposal, Contract, Contract Addendum (see product dependency 5.53)
5.3.9.7.1 External Software Module Overview
The »External Software Module Overview provides a brief survey of the work product External Software Module, which is to be realized. It outlines tasks and objectives of the work product External Software Module. For a better understanding, the role of the element within a »Software Unit will be described.
5.3.9.7.2 Interface Specification
An interface represents the boundary between an external software module and its environment. It describes the data exchanged at the element boundary and their logic dependencies. Thus, the interface defines the services to be provided by the external software module. One software module can have several interfaces.
The interface description collects all functional requirements posed on the work product External Software Module, specifies all interfaces and presents them in their environment. Together with the non-functional requirements, the interface description defines the information required for developing the work product External Software Module. The interface description describes the interfaces to other software elements and the interfaces to the environment, e.g. the graphical user interface or interfaces to »Enabling Systems.
The description of the functional interface is subdivided into the description of the static and dynamic behavior. The static behavior determines the structure of the calls, through which the services of the work product External Software Module can be used. The description is mainly based on method signatures and definitions of data types. The dynamic behavior determines the sequence of calls and the logic dependencies of the transmitted data. The description of the dynamic behavior is frequently based on flowcharts (sequence charts, message sequence charts) or state transition diagrams.
The interface description is based on the summary of interfaces in the architecture and on the interface realizations of the »System Specifications of higher system elements. The interface description should consider if a re-use of already existing software elements is possible. In addtion, it should be ensured that the interface is stable, thus allowing a long use of the work product External Software Module.
5.3.9.7.3 Non-Functional Requirements
In addition to the functional requirements, an external software module must fulfill several non-functional requirements. Frequently demanded non-functional requirements - especially for software elements - include, e.g., usability, response time, transaction rate, confidentiality, or data integrity.
The non-functional requirements will be described in detail and specified by the actually required values. The non-functional requirements relevant for the work product of the type External Software Module will be derived from the specifications of higher system elements or software elements.
5.3.9.7.4 Acceptance Criteria and Receiving Evaluation Criteria
Acceptance criteria specify which criteria must be fulfilled in order to ensure that the delivered work product of the type External Software Module fulfills the requirements of the External Software Module Specification. The acceptance criteria shall be presented in a measurable way. From a contractual point of view, the acceptance criteria describe the conditions for the decision as to whether the work product of the type External Software Module fulfills the applicable requirements or not. Acceptance criteria refer to functional and non-functional requirements.
The acquirer shall outline structure and number of acceptance criteria. The acceptance criteria should be structured in accordance with their significant components: initial situation, action(s) and expected result. In any case, the expected acceptance results must be specified for each acceptance criterion.
The receiving evaluation determines if the acceptance criteria are fulfilled. Thus the acceptance criteria are included as requirements into the Evaluation Specification Delivery.