NexoGraph logoNexoGraph Help
Standards & Principles

ISO/IEC/IEEE 29148 — Requirements Engineering

How ISO 29148 requirements engineering processes and quality characteristics align with the NexoGraph metamodel.

ISO/IEC/IEEE 29148:2018 (Systems and software engineering — Life cycle processes — Requirements engineering) is the primary international standard for requirements engineering practice. It defines the processes, concepts, and quality characteristics needed to produce well-formed stakeholder needs and system requirements throughout a system's life cycle.

ISO 29148 is a companion standard to ISO 15288: where 15288 defines what life cycle processes produce, 29148 specifies how to produce requirements artefacts and what quality they must meet.

Process Model

ISO 29148 defines four requirements-related processes:

ProcessAbbreviationPurposeOutput artefact
Business or Mission AnalysisBoMADefine the problem space, operational context, and measures of successBusiness Analysis Report, ConOps
Stakeholder Needs and Requirements DefinitionStNRElicit and document what stakeholders need from the systemStakeholder Requirements Specification (StRS)
System Requirements DefinitionSyRDTransform stakeholder needs into verifiable system requirementsSystem Requirements Specification (SyRS)
Software Requirements DefinitionSwRDRefine system requirements into software-level requirementsSoftware Requirements Specification (SwRS)

The traceability chain that ISO 29148 mandates runs the full length of this pipeline: every system requirement must trace back to a stakeholder need, and every stakeholder need must trace forward to at least one system requirement.


NexoGraph Alignment

Entities

ISO 29148 conceptNexoGraph entityNotes
StakeholderStakeholderCategory, influence, and interest attributes support stakeholder register
Stakeholder need (StRS output)StakeholderNeedOwns needText, rationale, priority, source
Operator/user stakeholderUserSeparate entity type for end-user personas
User needUserNeedDistinct from StakeholderNeed; linked via HAS_USER_NEED relation
Stakeholder requirement (StRS output)Requirement with reqType: STAKEHOLDERFormalized stakeholder requirement under STAKEHOLDER_REQUIREMENTS
System requirement (SyRS output)Requirement with reqType: SYSTEMReqType field distinguishes stakeholder/system/subsystem/SW/HW tiers
Subsystem requirementRequirement with reqType: SUBSYSTEMSame entity type, distinguished by type and Package allocation
Software requirement (SwRS output)Requirement with reqType: SOFTWARE
Hardware requirementRequirement with reqType: HARDWARE

Requirement attributes

ISO 29148 §5.2.6 lists the attributes every well-managed requirement should carry. The table below shows how NexoGraph's Requirement and Need entities cover them:

ISO 29148 attributeNexoGraph fieldCoverage
Unique identifieruuid, shortId, customIdFull
Text statementreqText / needTextFull
SourcesourceFull
RationalerationaleFull
Prioritypriority (CRITICAL/HIGH/MEDIUM/LOW)Full
Category / typereqCat, reqTypeFull — 13-value category enum, 5-value type enum
TagstagsFull
Lifecycle statuslifecycleStateId / lifecycleStateNameFull — managed by the lifecycle service
Audit trailcreatedAt, updatedAt, createdBy, updatedBy, revisionFull
Verification methodGap — no IDAD (Inspection/Demo/Analysis/Test) field
Fit criteriaGapUserStory has acceptanceCriteria but Requirement does not
ConditionsGap — no pre/postcondition field
StabilityGap — no stability/volatility attribute
RiskGap — no requirement-level risk rating

Traceability

ISO 29148 mandates bidirectional traceability across the full chain: stakeholder need → system requirement → software requirement → verification.

The upper traceability path (Stakeholder → StakeholderNeed → Requirement → SystemCapability) is supported through REFINES_INTO and SATISFIED_BY reference relations. User needs may also refine into stakeholder requirements when user concerns need formal stakeholder-level treatment.


Well-Formed Requirement Characteristics

ISO 29148 §5.2.5 defines nine characteristics that determine whether a single requirement is well-formed. NexoGraph supports authoring-time enforcement of these through the AI inline suggestion service.

CharacteristicDefinitionNexoGraph support
NecessaryRemoves a need only at cost — no "TBD" termsAI suggestions flag TBD/TBC text
AppropriateCorrect level of abstraction for the intended audienceRequirementType (STAKEHOLDER vs SYSTEM vs SOFTWARE) enforces abstraction level
UnambiguousSingle interpretation — no "and/or", hedging wordsAI writing assist steers toward precise language
CompleteContains all essential information with no missing clausesMandatory fields (reqText, rationale) enforce baseline completeness
SingularStates one and only one condition or capabilityAI inline suggest can detect compound requirements
FeasibleAchievable within known constraintsRationale and source fields document feasibility basis
VerifiableCan be confirmed by inspection, test, analysis, or demonstrationGap — verification method field not yet present
CorrectAccurately represents a real stakeholder needTraceability to StakeholderNeed/UserNeed via REFINES_INTO provides upstream confirmation
ConformingComplies with standard templates and writing conventionsAI prompts follow 29148-style sentence patterns

Requirements Specification Characteristics

ISO 29148 §5.2.8 adds five quality characteristics that apply to a requirements set (a Package or root collection), not just individual requirements:

CharacteristicDefinitionNexoGraph support
CompleteEvery stated need is addressedCoverage analysis via reference relations
ConsistentNo requirement contradicts anotherAI batch consistency-check job
AffordableSet as a whole is achievable within budget/scheduleBusiness Case linked to requirements root
BoundedScope is clearly defined and stablePackage hierarchy defines scope boundaries
ComprehensibleStakeholders can understand and use the specificationDescription, category, and type fields aid legibility

Gap Analysis

The table below summarises what ISO 29148 compliance requires that NexoGraph does not yet implement:

GapISO 29148 clauseImpactStatus
Verification method field on Requirement§5.2.6Requirements cannot be formally assigned an IDAD verification typePlanned
Fit criteria on Requirement§5.2.6Acceptance cannot be quantified at the requirement levelPlanned
Operational Concept (ConOps) entity§6.2.1 BoMA outputNo structured representation of operational scenarios/use cases above Stakeholder levelUnder consideration
Measures of Effectiveness (MoE)§6.2.2 StNR outputStakeholder-level success criteria not captured as first-class entitiesUnder consideration
Measures of Performance (MoP)§6.2.3 SyRD outputSystem-level performance targets not captured as first-class entitiesUnder consideration
Stability / volatility attribute§5.2.6Change management cannot prioritise volatile requirementsUnder consideration
Risk attribute on Requirement§5.2.6Cannot flag high-risk requirements for additional scrutinyUnder consideration

To produce a 29148-aligned requirement set in NexoGraph, follow this sequence:

  1. Identify stakeholders — Create Stakeholder entities for each stakeholder group. Record category (INTERNAL/EXTERNAL/CUSTOMER/REGULATORY/PARTNER/SUPPLIER) and influence/interest levels to build the stakeholder register.

  2. Elicit stakeholder needs — Under the STAKEHOLDER_NEEDS root, create StakeholderNeed entities. Link each need to its owning stakeholder via the HAS_STAKEHOLDER_NEED relation. Populate source, rationale, and priority.

  3. Capture user needs separately — For operator/end-user stakeholders, create User entities and link UserNeed entities via HAS_USER_NEED. This keeps the ISO 42010 concern model intact: user concerns are distinct from organizational stakeholder needs.

  4. Write stakeholder requirements — Under the STAKEHOLDER_REQUIREMENTS root, create Requirement entities typed as STAKEHOLDER. Use the reqCat field to classify each requirement (FUNCTIONAL, PERFORMANCE, INTERFACE, etc.).

  5. Establish traceability — Link each Requirement back to the StakeholderNeed or UserNeed it refines using REFINES_INTO, then link requirements to satisfying capabilities with SATISFIED_BY.

  6. Run AI consistency checks — Trigger the batch consistency-check job to detect conflicting requirements within a Package before review gates.

  7. Advance lifecycle states — Move entities through draft → review → approved states to record the formal review and baseline events that ISO 29148 §6.2.4.3 requires.

On this page