Le diagramme d'exigence décrit graphiquement une capacité ou une contrainte qui doit être satisfaite par un système. C'est une interprétation du cahier des charges.
Un diagramme d'exigence, placé dans un cartouche de type req, comporte :
- Des exigences décrites dans un cadre d'exigence (Requirement)
- Des liaisons
- Parfois le diagramme est inclus dans un package.
Exigence
Chaque cadre d'exigence dispose de trois informations au moins :
- un nom : il s'agit d'une chaîne de caractères décrivant l'exigence. Elle doit être courte précise et de préférence unique
- le texte de description: il décrit et précise l'exigence
- l'identifiant : il doit être unique et de préférence hiérarchisé. Un diagramme SysML pouvant être compilé pour générer un programme une duplicité d'identifiant générerait automatiquement une erreur.
Liaison
3 types de liaisons sont vraiment fondamentales :
- la contenance (ligne terminée par un cercle contenant une croix du côté du conteneur) permet de décomposer une exigence composite en plusieurs exigences unitaires, plus faciles ensuite à tracer vis-à-vis de l’architecture ou des tests ;
- le raffinement (« refine ») consiste en l’ajout de précisions, par exemple de données quantitatives ;
- la dérivation (« deriveReqt ») consiste à relier des exigences de niveaux différents, par exemple des exigences système à des exigences de niveau sous-système, etc. Elle implique généralement des choix d’architecture.
Package
Si le système est trop important, il peut être décomposé en partie. Chaque partie serait alors placée dans un package et chaque package aurait son propre diagramme d'exigence.