Linda Westfall beschrijft aan de hand van vijf basale vragen de essentie van requirements (engineering).
-
Wat, verschillende niveaus en soorten requirements.
-
Waarom, voordelen van goede requirements.
-
Wie , belanghebbenden bij requirements.
-
Wanneer, momenten waarop verschillende activiiteiten rond requirements plaatsvinden
-
Hoe, technieken voor het eliciteren, analyseren, specificeren en valideren van requirements
Schematisch kunnen de door Westfall onderkende niveaus en soorten requirements (afgeleid van Karl E. Wiegers) als volgt worden weergegeven:
Westfall definieert bedrijfsregels (business rules) als specifiek beleid, standaarden, prakijken, regels en richtlijnen die vastleggen hoe gebruikers moeten werken (do business) en positioneert ze (dus) op hetzelfde niveaus als de user requirements. Het systeem moet zich houden aan deze regels om goed te functioneren binnen het gebruikersdomein.
Westfall onderscheidt kwaliteitsatributen op twee niveaus: gebruikers en product. Op het niveau van gebruikers zijn de kwaliteitsattributen de niet-functionele kenmerken die de productkwaliteit van het systeem definiëren, zoals betrouwbaarheid, beschikbaarheid. Een kwaliteitsattribuut op gebruikersniveau kan zich op productniveau vertalen naar zowel een functioneel requirement (functionaliteit nodig om te voldoen aan het niet-functionele kwaliteitsattribuut) als een niet-functioneel requirement (eigenschappen nodig die het systeem moet hebben). Ze noemt hierbij de volgende voorbeelden: "an ease of learning requirement might translate into the functional requirement of having the system display pop-up help when the user hovers the cursor over an icon" en "an ease-of-use requirement might translate into nonfunctional requirements for response time to user commands or report requests."
Het is mogelijk dat een kwaliteitsattribuut op gebruikersniveau vertaald moet worden naar functionele requirements op productniveau: er is specifieke functionaliteit nodig om te voldoen aan de niet-functionele kwaliteitsattributen.
Met de externe interface requirements kunnen de eisen worden vastgelegd voor het uitwisselen van informatie met gedeelde interfaces die buiten de grenzen vallen van het te ontwikkelen systeem.
De constraints definiëren welke beperkingen er zijn bij het maken van keuzes voor wat betreft het ontwerp en de ontwikkeling van het systeem.
Er kunnen ook zgn. data requirements van toepassing zijn voor specifieke gegevensvelden of -structuren.
Bron: Software Requirements Engineering: What, Why, Who, When and How (Linda Westfall)