Requirements en de relatie met het V-model

 

In de vorige blog van onze projectmanager Jacco Middendorp vertelde hij over De kracht van requirements management in een R&D-omgeving. In deze blog gaan we verder op de requirements in verhouding tot het V-model.

 

In de ontwikkeling van high-tech producten (bijv. geavanceerde machines en chips) speelt de decompositie van high-level requirements naar module requirements een cruciale rol. High-tech projecten, zoals de ontwikkeling van robots, machines of halfgeleiders, vereisen een gedetailleerde vertaling van abstracte eisen naar werkbare specificaties. Deze decompositie zorgt ervoor dat elk onderdeel van het systeem kan worden ontworpen, gebouwd en getest om te voldoen aan de overkoepelende systeemdoelen.

Doordachte requirements voor een succesvol project

Met meer dan 20 jaar ervaring in de technologische sector weet Jacco Middendorp als geen ander hoe cruciaal duidelijke en goed doordachte requirements zijn voor een succesvol project. Als projectmanager bij TCPM heeft hij een passie voor techniek en streeft hij ernaar om samen met zijn team optimale resultaten te behalen.

Decompositie van high-level naar module requirements

High-level requirements beschrijven de brede eisen van een systeem. In het geval van een geavanceerde machine kan een high-level requirement zijn: “De machine moet nauwkeurig kunnen zagen met een tolerantie van 50 micrometer” Voor chipontwikkeling kan een high-level requirement zijn: “De chip moet 10 miljard bewerkingen per seconde kunnen uitvoeren met maximaal 5 watt energieverbruik.”

Bij decompositie worden deze high-level eisen stapsgewijs opgesplitst in modulevereisten, die specifieker en gedetailleerder zijn. De motor, besturingssystemen en sensoren van een zaagmachine, of de performance en geheugenarchitectuur van een chip, moeten allemaal gedetailleerde vereisten hebben die technisch haalbaar zijn en bijdragen aan het behalen van de algemene systeemdoelen.

Bijvoorbeeld, voor een zaagmachine kunnen de modulevereisten zijn:

  • Motoren: Vereisten voor koppel, snelheid en energieverbruik.
  • Besturingssystemen: Softwarevereisten voor het berekenen van posities en aansturen van de motor en het bijsturen/corrigeren in geval van afwijking.
  • Sensoren: Vereisten voor positionering en communicatie.

Voor chips kunnen de modulevereisten betrekking hebben op:

  • Performance: Kloksnelheid en verwerkingscapaciteit.
  • Geheugen: Snelheid en energie-efficiëntie.
  • I/O-poorten: Communicatienormen en signaalintegriteit.

 

Decompositie en het V-model

De decompositie zorgt ervoor dat het systeem opgedeeld wordt in beheersbare en meetbare componenten, waarbij elk component zijn eigen modulevereisten heeft die kunnen worden getest en gevalideerd.

Het V-model biedt een gestructureerde aanpak voor het ontwikkelen van systemen. In dit model staan het ontwerp en de implementatie aan de linkerzijde van de V en de tests aan de rechterzijde. De decompositie begint aan de linkerzijde van de V, waar high-level requirements stapsgewijs worden vertaald naar systeem-, subsysteem- en module-vereisten. Daarna wordt in de implementatiefase gewerkt aan de technische uitvoering van deze modules.

De rechterkant van het V-model richt zich op de verificatie en validatie van deze modules. Verificatie betekent het testen of de modules voldoen aan hun vereisten, bij chipontwikkeling betekent dit testen van gedrag in simulatie. Validatie gaat verder door te controleren of de modules samenwerken om de high-level requirements van het systeem te behalen. Dit zorgt voor een consistente aanpak die ontwerp en testactiviteiten verbindt.

 

Verticale coverage

Verticale coverage houdt in dat alle niveaus van het systeemontwerp — van de high-level requirements tot de modulevereisten — volledig worden gedekt, waarbij elk onderdeel traceerbaar is naar een hoger niveau. Dit betekent dat voor elke module de oorspronkelijke high-level vereiste volledig is afgedekt en elke modulevereiste te herleiden is naar de overkoepelende systeemdoelen.

Bijvoorbeeld, als een high-level requirement voor de zaagmachine is dat de machine een nauwkeurigheid van 50 µm moet behalen, dan wordt deze eis vertaald naar gedetailleerde modulevereisten voor de motoren van de machine, de besturingssoftware en de sensoren. Elke module wordt vervolgens ontworpen en getest om te waarborgen dat deze bijdraagt aan het behalen van de vereiste nauwkeurigheid.

In chipontwikkeling kan een high-level requirement zijn dat de chip 10 miljard bewerkingen per seconde moet kunnen uitvoeren. Deze vereiste wordt vertaald naar gedetailleerde modulevereisten voor de performance van de chip. Elke module wordt vervolgens ontworpen en getest om te waarborgen dat deze bijdraagt aan het behalen van de hoge verwerkingscapaciteit.

Verticale coverage waarborgt zo de traceerbaarheid en zorgt ervoor dat het hele systeemontwerp consistent is met de originele doelen van het project.

 

Horizontale coverage

Horizontale coverage verwijst naar de dekking van testvereisten voor elke module en submodule binnen het systeem, van de individuele componenten tot het volledige systeem. Dit houdt in dat er voor elke laag van het systeem een teststrategie moet worden gedefinieerd die de prestaties en de werking van die laag verifieert.

In het geval van een zaagmachine kan horizontale coverage als volgt worden gedefinieerd:

  • Motor: Testen van koppel, snelheid en energieverbruik.
  • Besturingssoftware: Testen van nauwkeurigheid in het aansteken van de motor en het berekenen van posities.
  • Sensoren: Testen van de nauwkeurigheid van positionering.

Op systeemniveau moeten deze modules samen getest worden om te verifiëren of de zaagmachine de vereiste nauwkeurigheid van 50 micrometer behaalt.

In chipontwikkeling kan horizontale coverage zo gedefinieerd worden:

  • Performance: Testen van snelheid en verwerkingscapaciteit.
  • Geheugencontroller: Testen van lees- en schrijfsnelheden.
  • I/O-poorten: Testen van communicatie-integriteit en snelheid.

De systeemtest verifieert of de chip de algehele vereiste van 10 miljard bewerkingen per seconde behaalt, met een maximaal stroomverbruik van 5 watt.

Horizontale coverage zorgt ervoor dat alle onderdelen van het systeem op de juiste manier worden getest en dat de juiste testcriteria vooraf gedefinieerd zijn voor elk niveau van het systeem. Dit garandeert dat zowel de moduletests als de systeemtests volledig en effectief uitgevoerd kunnen worden, wat resulteert in een betrouwbaar en functioneel eindproduct.

Praktijkvoorbeeld

“Bij een chipontwikkelingsproject, dat ik in het verleden uitgevoerd heb, was een requirements manager betrokken die het team bijstond in het definiëren van de requirements en het linken ervan. Hier werd gebruik gemaakt van een requirements management tool, van waaruit informatie geëxtraheerd kan worden voor rapportage. Op reguliere basis werd onderstaande report gemaakt, waarbij de status van de requirements, de horizontale en verticale coverage en de status van de testen van gepasseerde milestones met kleur inzichtelijk werden gemaakt. Op deze manier was in één oogopslag zichtbaar hoe het project ervoor stond op het gebied van requirements management.

 

Conclusie

De decompositie van high-level requirements naar modulevereisten is een essentieel proces voor het ontwikkelen van geavanceerde machines en chips. Het V-model biedt een duidelijke structuur om deze decompositie te realiseren, door het ontwerp en de testfasen systematisch met elkaar te verbinden. Verticale coverage waarborgt dat elke modulevereiste traceerbaar is naar de originele systeemvereisten, terwijl horizontale coverage ervoor zorgt dat op elk systeemniveau duidelijke en gedetailleerde testcriteria gedefinieerd zijn. Samen bieden deze methoden een robuuste aanpak voor het ontwerpen, ontwikkelen, testen en valideren van complexe systemen.

Gerelateerde berichten

De kracht van requirements management in een R&D-omgeving
Blogs
De kracht van requirements management in een R&D-omgeving