A requirement diagram documents the requirements for a system and the relationships between them. Each requirement has an identifier, a description, a risk level, and a verification method. Requirements can be linked to show derivation (one requirement stems from another) or containment (one requirement includes another).
Requirement diagrams are useful in project planning and specification work — capturing what a website, product, or service must do before any build work begins.
requirementDiagram
requirement site_launch {
id: 1
text: The website must be publicly accessible
risk: high
verifyMethod: test
}
requirement user_accounts {
id: 2
text: Visitors must be able to create an account
risk: medium
verifyMethod: test
}
requirement email_confirmation {
id: 3
text: A confirmation email must be sent on sign-up
risk: low
verifyMethod: test
}
functionalRequirement secure_passwords {
id: 4
text: Passwords must be stored using a secure hash
risk: high
verifyMethod: inspection
}
site_launch - derives -> user_accounts
user_accounts - contains -> email_confirmation
user_accounts - contains -> secure_passwords
The diagram makes requirement dependencies explicit — if user_accounts changes, all the requirements it contains are affected too.