Requirements Engineering in der Entwicklung: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 20: Zeile 20:
<br>
<br>
== Eigenschaften ==
== Eigenschaften ==
Beachten Sie beim Schreiben der Anfoderungen die in Tabelle 2 bzw. Abb. 1 dargestellten Eigenschaften. Prüfen Sie, ob alle Eigenschaften erfüllt werden.
[[Datei:Anfananf.png|thumb|right|500px| Abb. 1: Eigenschaften von Anforderungen]]
[[Datei:Anfananf.png|thumb|right|500px| Abb. 1: Eigenschaften von Anforderungen]]
{| class="wikitable"
{| class="wikitable"

Version vom 8. September 2022, 17:53 Uhr

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).

Tabelle 1: Anforderungsklassen
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

Beachten Sie beim Schreiben der Anfoderungen die in Tabelle 2 bzw. Abb. 1 dargestellten Eigenschaften. Prüfen Sie, ob alle Eigenschaften erfüllt werden.

Abb. 1: Eigenschaften von Anforderungen
Tabelle 2: Eigenschaften von Anforderungen
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

Beim Formulieren der Anforderungen können Sie die Satzschablone in Abb. 2 verwenden. Beim Schreiben ist dies etwas langweilig, aber es entstehen klar verständliche Anforderungen.

Abb. 2: Formulierungsschablone

Beispiel für eine Zeitbedingung:
Die Geschwindigkeit muss, eine Sekunde ±10 % nachdem sie gemessen wurde, angezeigt werden.

Testing

Am Ende des Projektes muss jede Anforderung getestet werden. Dieses erfolgt in einem Komponenten oder Systemtest. Eine dokumentierung mit Bezug zu den Anforderungen in tabellarischer Form ist wünschenswert.

Einen Beispielartikel mit Anfoderungen und Test finden Sie hier.

Nützliche Links

Videos

YouTube: Requirements Engineering - Anforderungen formulieren & absichern - Joachim Schulz (15.04.16)
YouTube: Gute Anforderungen schreiben
YouTube: Anforderungsdefinition mittels Satzschablone