This is an example Software Requirements Specification (SRS), illustrating the typical structure and the use of Spexygen commands to define the traceable requirement work artifacts.
Description of concepts and definitions...
Definitions of formal requirements specifications with Spexygen commands.
My project shall provide a free function foo().
Description
Longer description of the requirement
Regulatory background
Across functional safety standards, a dedicated, traceable specification of software safety requirements is a central artifact for demonstrating that the software can achieve its claimed integrity levels, as summarized in the following table:
| IEC 61508-3:2010 (Functional Safety of E/E/PE Systems) |
|---|
[IEC 61508] requires that software safety requirements be explicitly specified, traceable to system-level safety requirements, and assigned appropriate safety integrity levels. The SSRS consolidates these software safety requirements for use in SIL-3 applications. The most relevant clauses are:
|
| IEC 62304:2006 + Amd1:2015 (Medical Device Software) |
[IEC 62304] mandates a documented set of software requirements that reflect the results of risk management and support verification and traceability throughout the lifecycle. The SSRS captures the Class-C-relevant software safety requirements, including risk-control dependencies, safety constraints and assumptions of use. Key clauses are:
|
| ISO 26262:2018 (Road Vehicles Functional Safety) |
[ISO 26262] requires a structured hierarchy of safety requirements, from safety goals down to software safety requirements, with clear allocation and traceability. The SSRS provides the software safety requirements necessary to integrate the element into ASIL-D systems and to support the Safety Manual's Assumed Safety Requirements (ASRs). For a SEooC, the key clauses are:
|
Forward Traceability (truncated to 1 level(s))
My project shall provide a class Foo.
Description
Longer description of the requirement
Forward Traceability (truncated to 1 level(s))
Class Foo shall provide a verify operation.Class Foo shall provide a public attribute x.
Description
Longer description of the requirement
Backward Traceability
Forward Traceability (truncated to 2 level(s))
Class Foo shall provide a constructor.
Description
Longer description of the requirement.
This is a attention note. Also shows how to add a "badge".Backward Traceability
Forward Traceability (truncated to 2 level(s))
Class Foo shall provide a verify operation.
Description
Longer description of the requirement
Backward Traceability
Forward Traceability
Class Foo shall provide an update operation.
Description
Longer description of the requirement
Backward Traceability
Forward Traceability
Class Foo shall be a singleton.
Description
Longer description of the requirement
Backward Traceability
Forward Traceability