Definition

Funktionale Anforderungen

Was sind funktionale Anforderungen?

Funktionale Anforderungen sind die gewünschten Funktionen eines Programms oder Systems. Es handelt sich um die Aufgaben, die ein System ausführen muss, um die erwarteten Ziele zu erreichen.

Die Grundlage moderner Produkte, gute funktionale Anforderungen, tragen dazu bei, dass ein Projekt im Zeit- und Budgetrahmen bleibt.

Funktionale Anforderungen sind Teil der Anforderungsanalyse (auch als Requirements Engineering bekannt), einem interdisziplinären Bereich, der sich mit dem Design und der Wartung komplexer Systeme befasst. Bei den Systemen kann es sich um Software, elektronische Hardware oder eine Kombination aus beidem handeln, die als softwaregesteuerte Elektronik bezeichnet wird.

Funktionale Anforderungen beschreiben die gewünschte Endfunktion eines Systems und alle Schritte, die erforderlich sind, um diesen Endzustand zu erreichen. Dadurch wird sichergestellt, dass der Entwurf für das gewünschte Produkt geeignet ist und das Endprodukt den Erwartungen der Benutzer entspricht.

Die Anforderungen der Anforderungsanalyse dienen als Leitlinien für die Entwicklung des technischen Produkts. In der Regel handelt es sich bei einer funktionalen Anforderung um eine grundlegende Funktionalität oder ein gewünschtes Verhalten, das klar und quantitativ dokumentiert ist. Ideen aus der Anforderungsanalyse können auf komplexe Gegenstände angewendet werden.

Bei einem Glas kann eine funktionale Anforderung beispielsweise sein, dass es Flüssigkeiten aufnimmt und einen Schraubverschluss hat, um den Inhalt zu schützen. Wenn ein Produkt die funktionalen Anforderungen nicht erfüllt, bedeutet dies in der Regel, dass das Produkt von geringer Qualität und möglicherweise unbrauchbar ist.

So bestimmen Sie funktionale Anforderungen

Funktionale Anforderungen sind wie die Blaupausen, nach denen Bauarbeiter ein Gebäude errichten, und dienen Programmierern und Designern als detaillierte Pläne für die Entwicklung des Produkts. Je mehr Details den funktionalen Anforderungen hinzugefügt werden können, desto besser ist in der Regel das Endprodukt.

Zu Beginn der Projektplanung ist es wichtig, alle Beteiligten in die frühen Phasen der funktionalen Anforderungen einzubeziehen. Auf diese Weise können die Geschäftsziele gut verstanden und in den funktionalen Anforderungen festgehalten werden. Der Rahmen des Projekts kann festgelegt und das Ergebnis gut verstanden werden. Dadurch wird die Notwendigkeit späterer Änderungen oder Ergänzungen reduziert, die oft dazu führen, dass Projekte das Budget überschreiten und Termine nicht eingehalten werden.

Die MoSCoW-Methode ist eine Möglichkeit, die Anforderungen zu priorisieren, wobei jede Funktion in die Kategorien muss vorhanden sein (must have), sollte vorhanden sein (should have), könnte vorhanden sein (could have) oder wird nicht vorhanden sein (will not have) eingeteilt wird.

Eine andere Methode nutzt den Mehrwert einer Funktion im Vergleich zum Aufwand, der für ihre Implementierung erforderlich ist. Eine Wert-Aufwand-Matrix unterstützt dabei, die Bereiche zu identifizieren, die den größten Nutzen bei geringem Zeitaufwand bieten. Dies kann auch zu einem Minimum Viable Product (MVP) führen, bei dem nur die wichtigsten Funktionen geplant werden.

Funktionale Anforderungen können auf einer hohen Ebene beginnen und nach und nach detaillierter werden. Eine hochrangige Anforderung kann beispielsweise ein funktionsfähiger Warenkorb sein. Diese Anforderung kann weiter in kleinere Anforderungen unterteilt werden, wie zum Beispiel die Möglichkeit, Artikel hinzuzufügen oder zu entfernen und Kreditkarten zu verarbeiten.

Jede funktionale Anforderung kann mit entsprechenden Tests verbunden sein, um sicherzustellen, dass sie die Anforderungen erfüllt.

Ein Unit-Test kann einen Codeabschnitt überprüfen, indem er ihm eine Eingabe zuführt und bestätigt, dass die Ausgabe den Erwartungen entspricht. Beispielsweise kann eine Funktion zur Validierung der Kreditkartennummer mit einer ungültigen und einer gültigen Nummer getestet werden. Wenn sie nicht die richtige Ausgabe liefert, hat sie den Test nicht bestanden.

Nicht-funktionale Anforderungen

Funktionale Anforderungen in der Systemtechnik werden durch technische Anforderungen ergänzt, die auch als nicht-funktionale Anforderungen bezeichnet werden. Technische Anforderungen definieren, was erforderlich ist, um die gewünschte Funktion oder das gewünschte Verhalten eines Systems gemäß den Standards eines Benutzers zu liefern. Technische Anforderungen können Leistungsfaktoren, Zugänglichkeit, Vielseitigkeit, Protokollierung, Steuerung und Sicherung sein.

Sich ausschließlich auf funktionale Anforderungen zu konzentrieren und dabei nicht-funktionale Anforderungen zu vernachlässigen, kann zu erheblichen Problemen führen. Funktionale Anforderungen können als erfüllt angesehen werden, auch wenn die nicht-funktionalen Anforderungen nicht erfüllt sind. Dies kann dennoch bedeuten, dass das Produkt unbrauchbar ist, beispielsweise unter Berücksichtigung der Leistungsanforderungen. Beispielsweise kann die funktionale Anforderung darin bestehen, einen Verkaufsbericht zu erstellen, aber wenn dies zwölf Stunden dauert, ist er möglicherweise nicht nutzbar. Wenn nicht-funktionale Anforderungen an die Sicherheit nicht erfüllt werden, kann dies rechtliche oder finanzielle Konsequenzen haben.

Funktionale Anforderungen, geschäftliche Anforderungen und Benutzeranforderungen

Funktionale Anforderungen können als das Wie eines Projekts betrachtet werden. Sie definieren den Plan für die Umsetzung und wie die einzelnen Abschnitte zusammenwirken. Die Geschäfts- und Benutzeranforderungen legen das Warum des Projekts fest.

Abbildung 1: Geschäftliche und Benutzeranforderungen bestimmen das Warum eines Projekts. Funktionale Anforderungen decken das Wie ab.
Abbildung 1: Geschäftliche und Benutzeranforderungen bestimmen das Warum eines Projekts. Funktionale Anforderungen decken das Wie ab.

Die Geschäftsanforderungen sind der übergeordnete Grund für die Initiierung des Projekts und das, was damit erreicht werden soll. Dies kann beispielsweise die Steigerung der Benutzerbindung oder die Verbesserung der Rentabilität sein. Die funktionalen Anforderungen fügen sich dann in die Art und Weise ein, wie diese mit definitiven Tests während des Projekts erreicht werden.

Benutzeranforderungen sind die eher vagen Bedürfnisse der Benutzer. Dies können UI/UX-Überlegungen oder Anforderungen an die Benutzerfunktionen sein, die das Produkt erfüllen soll. Ein Beispiel hierfür ist der Dark Mode, eine Benutzeranforderung, die keinen konkreten geschäftlichen Nutzen hat, aber mit funktionalen Anforderungen und Kosten verbunden ist.

Erfahren Sie mehr über Softwareentwicklung