Requirements Engineering in der Entwicklung
Autor: Prof. Schneider
Bei der Entwicklung eines Produktes, seies es in Hardware, Software oder beides, besteht der erste Schritt darin sich zu überlegen, was die Anforderungen (engl. requirements) an dieses Produkt sind. Dies gilt auch für studentische Projekte. Wenn Sie die Aufgabe haben in beispielsweise einer Projekt- oder Bachelorarbeit ein mechatronisches Gerät zu entwickeln müssen Sie sich überlegen, was die Anforderungen sind.
Unter Requirements-Engineering versteht man den geordneten Prozess in dem Anforderungen ermittelt, dokumentiert, verwaltet, analysiert, abgestimmt und geprüft werden. Damit ergeben sich aus Bedürfnissen, Visionen und Randbedingungen, Anforderungen an ein Projekt und an ein Produkt. Dies ist ein Abstimmungsprozess, bei dem Sie den Auftraggeber mit einbinden müssen. Stimmen Sie die Anforderungen mit dem Auftraggeber ab und dann erst kann die Arbeit beginnen.
Schreiben Sie die Requirements tabellarisch auf und ordnen Sie jeder Anforderung eine eindeutige Nummer zu (z. B. Req. 1).
Klassen
Diese Anforderungen lassen sich in funktionale und nichtfunktionale Anforderungen untergliedern (vgl. Tabelle 1).
Klasse | engl. | Beschreibung | Beispiel |
---|---|---|---|
funktionale Anforderung | functional requirement, NFR | Eine funktionale Anforderung legt fest, was das Produkt tun soll. | Der Sensor muss die Geschwindigkeit in km/h messen. |
nichtfunktionale Anforderung | non-functional requirement, NFR | Die nichtfunktionalen Anforderungen beschreiben, wie gut das System die Leistung erbringen soll. Sie werden vielfach als Qualitätseigenschaften wie die Zuverlässigkeit oder das Zeitverhalten verstanden. | Die Geschwindigkeit muss spätestens 1 s nach der Messung angezeigt werden. |
Eigenschaften
Eigenschaft | Erklärung |
---|---|
testbar | Jede Anforderung wird in einem Modul- oder Systemtest geprüft. Wenn Ihnen kein sinnvoller Testfall einfällt, dann ist die Anforderung nicht gut. |
vollständig | Achten sie darauf nichts zu vergessen. Viele Informationen hat man im Kopf. Bringen sie diese auch zu Papier. Entsprechend wird auch die Testtiefe verbessert. |
relevant | Formulieren sie nur Anforderungen, die für die Komponente oder das System relevant sind. Es ist nicht relevant welche Bauteile sie einsetzen oder wie die Umsetzung konkret aussieht. |
konsistent | Vermeiden sie Widersprüche bei den Anforderungen. Achten sie darauf, dass die Anforderungen zusammen passen. |
eindeutig | Formulieren sie die Anforderungen eindeutig, so dass sich kein Raum für Interpretation ergibt. |
kontextfrei | Formulieren sie die Anforderung so, dass man sie ohne den Kontext versteht. Schlecht ist z. B. wenn man die Anforderung nur versteht, wenn man weiß in welchem Kapitel sie steht. Die Anforderung soll allein für sich verständlich sein. |
atomar | Halten sie die Anforderung kurz und knapp. Versuchen sie nicht mehrere Anforderungen in eine unter zu bringen. Damit werden die Anforderungen verständlicher, lesbarer und leichter testbar. |
Formulierung
Die Lampe muss nach einer Sekunde ±10%, nachdem der Anwender die Taste S1 gedrückt hat, eingeschaltet werden.
Testing
Am Ende des Projektes muss jede Anforderung getestet werden.
Einen Beispielartikel mit Anfoderungen und Test finden Sie hier.
Nützliche Links
- Anforderungen an Anforderungen
- Anforderungen müssen konkret formuliert werden
- Wie Anforderungen verbal besser beschrieben werden können