SWE.1 Software Requirements Analysis#
The purpose is to establish a structured and analyzed set of software requirements consistent with the system requirements, and the system architecture.
Process outcomes#
Software requirements are specified.
Software requirements are structured and prioritized.
Software requirements are analyzed for correctness and technical feasibility.
The impact of software requirements on the operating environment is analyzed.
Consistency and bidirectional traceability are established between software requirements and system requirements.
Consistency and bidirectional traceability are established between software requirements and system architecture.
The software requirements are agreed and communicated to all affected parties.
Base practices#
SWE.1.BP1: Specify software requirements
|
status: valid
|
||||
Use the system requirements and the system architecture to identify and document the functional and non-functional requirements for the software according to defined characteristics for requirements. Note Characteristics of requirements are defined in standards such as ISO IEEE 29148, ISO 26262-8:2018, or the INCOSE Guide for Writing Requirements. Note Examples for defined characteristics of requirements shared by technical standards are verifiability (i.e., verification criteria being inherent in the requirements text), unambiguity/comprehensibility, freedom from design and implementation, and not contradicting any other requirement. Note In case of software-only development, the system requirements and the system architecture refer to a given operating environment. In that case, stakeholder requirements can be used as the basis for identifying the required functions and capabilities of the software. Note The hardware-software-interface (HSI) definition puts in context hardware and therefore it is an interface decision at the system design level. If such a HSI exists, then it may provide input to software requirements. |
|||||
SWE.1.BP2: Structure software requirements
|
status: valid
|
||||
Structure and prioritize the software requirements. Note Examples for structuring criteria can be grouping (e.g., by functionality) or expressing product variants. Note Prioritization can be done according to project or stakeholder needs via e.g., definition of release scopes. Refer to SPL.2.BP1. |
|||||
SWE.1.BP3: Analyze software requirements
|
status: valid
|
||||
Analyze the specified software requirements including their interdependencies to ensure correctness, technical feasibility, and to support project management regarding project estimates. Note See MAN.3.BP3 for project feasibility and MAN.3.BP5 for project estimates. Note Technical feasibility can be evaluated based on e.g., platform or product line, or by prototyping. |
|||||
SWE.1.BP4: Analyze the impact on the operating environment
|
status: valid
|
||||
Analyze the impact that the software requirements will have on elements in the operating environment. |
|||||
SWE.1.BP5: Ensure consistency and establish bidirectional traceability
|
status: valid
|
||||
Ensure consistency and establish bidirectional traceability between software requirements and system architecture. Ensure consistency and establish bidirectional traceability between software requirements and system requirements. Note Redundant traceability is not intended. Note There may be non-functional system requirements that the software requirements do not trace to. Examples are process requirements or requirements related to later software product lifecycle phases such as incident handling. Such requirements are still subject to verification. Note Bidirectional traceability supports consistency, and facilitates impact analysis of change requests, and demonstration of verification coverage. Traceability alone, e.g., the existence of links, does not necessarily mean that the information is consistent with each other. Note In case of software development only, the system requirements and system architecture refer to a given operating environment. In that case, consistency and bidirectional traceability can be ensured between stakeholder requirements and software requirements. |
|||||
SWE.1.BP6: Communicate agreed software requirements and impact on the operating environment
|
status: valid
|
||||
Communicate the agreed software requirements, and the results of the analysis of impact on the operating environment, to all affected parties. |
|||||