Was ist eine funktionale Anforderung im Software Engineering?
Was ist eine funktionale Anforderung?
A Funktionale Anforderung (FR) ist eine Beschreibung des Dienstes, den die Software bieten muss. Es beschreibt ein Softwaresystem oder seine Komponente. Eine Funktion ist nichts anderes als Eingaben in das Softwaresystem, sein Verhalten und Ausgaben. Dabei kann es sich um eine Berechnung, Datenmanipulation, einen Geschäftsprozess, eine Benutzerinteraktion oder eine andere spezifische Funktionalität handeln, die definiert, welche Funktion ein System voraussichtlich ausführen wird. Auch funktionale Anforderungen im Software Engineering werden genannt Funktionale Spezifikation.
In der Softwareentwicklung und Systemtechnik kann eine funktionale Anforderung von der abstrakten Aussage auf hoher Ebene über die Notwendigkeit des Absenders bis hin zu detaillierten mathematischen funktionalen Anforderungsspezifikationen reichen. Funktionsfähige Software Anforderungen helfen Ihnen dabei, das beabsichtigte Verhalten des Systems zu erfassen.
Was sollte im funktionalen Anforderungsdokument enthalten sein?
So schreiben Sie ein Dokument mit funktionalen Anforderungen:
Die funktionalen Anforderungen eines Systems sollten Folgendes umfassen:
- Details zu den auf jedem Bildschirm durchgeführten Vorgängen
- Die Datenverarbeitungslogik sollte in das System eingegeben werden
- Es sollte Beschreibungen von Systemberichten oder anderen Ausgaben enthalten
- Vollständige Informationen zu den vom System durchgeführten Arbeitsabläufen
- Es sollte klar definiert sein, wer die Daten im System erstellen/ändern/löschen darf
- Wie das System geltende Regulierungs- und Compliance-Anforderungen erfüllt, sollte im Funktionsdokument festgehalten werden
Vorteile der funktionalen Anforderung
Hier sind die Vor- und Vorteile der Erstellung eines typischen funktionalen Anforderungsdokuments:
- Hilft Ihnen zu überprüfen, ob die Anwendung alle Funktionalitäten bereitstellt, die in den Funktionsanforderungen dieser Anwendung erwähnt wurden
- Ein funktionales Anforderungsdokument hilft Ihnen, die Funktionalität eines Systems oder eines seiner Subsysteme zu definieren.
- Funktionale Anforderungen und eine Anforderungsanalyse helfen dabei, fehlende Anforderungen zu identifizieren. Sie helfen dabei, den erwarteten Systemdienst und das erwartete Verhalten klar zu definieren.
- Fehler, die in der Phase der Erfassung funktionaler Anforderungen festgestellt werden, sind am kostengünstigsten zu beheben.
- Unterstützen Sie Benutzerziele, Aufgaben oder Aktivitäten
Arten von funktionalen Anforderungen
Hier sind die häufigsten funktionalen Anforderungstypen:
- Transaktionsabwicklung
- Geschäftsregeln
- Zertifizierungsanforderungen
- Berichtsanforderungen
- Administrative Funktionen
- Berechtigungsstufen
- Audit-Tracking
- Externe Schnittstellen
- Verwaltung historischer Daten
- Gesetzliche und regulatorische Anforderungen
Beispiel für funktionale Anforderungen
Nachfolgend finden Sie die beliebtesten Beispiele für funktionale Anforderungen:
- Die Software validiert Kunden automatisch anhand des ABC Contact Management Systems
- Das Verkaufssystem sollte es Benutzern ermöglichen, Kundenverkäufe aufzuzeichnen
- Die Hintergrundfarbe für alle Fenster in der Anwendung ist blau und hat einen hexadezimalen RGB-Farbwert von 0x0000FF.
- Nur Mitarbeiter auf Führungsebene haben das Recht, Umsatzdaten einzusehen.
- Das Softwaresystem sollte in die Banking-API integriert sein
- Das Softwaresystem sollte bestehen Abschnitt 508 Erfordernis der Barrierefreiheit.
Nicht funktionale vs. funktionale Anforderungen
Hier gibt es wesentliche Unterschiede zwischen funktionalen und nichtfunktionalen Anforderungen Software Engineering:
Parameter | Funktionale Anforderung | Nichtfunktionale Anforderung |
---|---|---|
Was es ist | Verb | Attribute |
Anforderung | Es zwingend erforderlich ist | Es ist nicht verpflichtend |
Erfassungstyp | Es wird im Anwendungsfall erfasst. | Es wird als Qualitätsmerkmal erfasst. |
Endresultat | Produkteigenschaft | Produkteigenschaften |
Capturing | Leicht zu erfassen | Schwer einzufangen |
Ziel | Hilft Ihnen, die Funktionalität der Software zu überprüfen. | Hilft Ihnen, die Leistung der Software zu überprüfen. |
Schwerpunktbereich | Konzentrieren Sie sich auf die Benutzeranforderungen | Konzentriert sich auf die Erwartungen des Benutzers. |
Dokumentation | Beschreiben Sie, was das Produkt bewirkt | Beschreibt, wie das Produkt funktioniert |
Art der Prüfung | Funktionstests wie System, Integration, End-to-End, API-Tests, usw. | Nicht-funktionale Tests wie Leistung, Stress, Benutzerfreundlichkeit, Sicherheitstests, usw. |
Test Ausführung | Die Testausführung erfolgt vor nichtfunktionalen Tests. | Nach der Funktionsprüfung |
Produkt-Info | Produkt-Eigenschaften | Produkteigenschaften |
Best Practice für funktionale Anforderungen
Wichtige Best Practices für die Entwicklung eines funktionalen Anforderungsdokuments sind wie folgt:
- Kombinieren Sie nicht zwei Anforderungen zu einer. Halten Sie die Anforderungen detailliert.
- Sie sollten jede Anforderung so vollständig und genau wie möglich formulieren.
- Das Dokument sollte alle technischen Anforderungen darlegen.
- Ordnen Sie alle Anforderungen den Zielen und Prinzipien zu, die zu einer erfolgreichen Softwarebereitstellung beitragen
- Ermitteln Sie Anforderungen mithilfe von Interviews, Workshops und lockerer Kommunikation.
- Wenn es eine bekannte, verifizierte Einschränkung gibt, die sich wesentlich auf eine Anforderung auswirkt, handelt es sich um einen kritischen Zustand, der dokumentiert werden sollte.
- Es ist notwendig, dass Sie alle Annahmen im Dokument dokumentieren.
Fehler beim Erstellen einer funktionalen Anforderung
Hier sind einige häufige Fehler, die beim Erstellen eines Funktionsanforderungsdokuments gemacht werden:
- Eingabe ungerechtfertigter zusätzlicher Informationen, die Entwickler verwirren könnten
- Das Anforderungsdokument enthält nicht genügend Details.
- Sie fügen Regeln oder Beispiele, Scoping-Anweisungen oder Ziele hinzu – alles außer der Anforderung selbst.
- Eine wichtige Information weggelassen, die unbedingt erforderlich ist, um die Anforderung vollständig, genau und endgültig darzulegen.
- Einige Fachleute beginnen, die von ihnen dokumentierten Anforderungen zu verteidigen, wenn die Anforderung geändert wird, anstatt die richtige Wahrheit herauszufinden.
- Anforderungen, die keinem Ziel oder Prinzip zugeordnet sind.
SCHLÜSSELQUALIFIKATIONEN
- Erklären Sie funktionale Anforderungen im Software Engineering: Funktionale Anforderungen definieren ein System oder seine Komponenten
- Das Dokument mit den funktionalen Anforderungen sollte eine Datenverarbeitungslogik und vollständige Informationen über die vom System durchgeführten Arbeitsabläufe enthalten
- Funktionale Anforderungen und eine Anforderungsanalyse helfen dabei, fehlende Anforderungen zu identifizieren
- Transaktionskorrekturen, -anpassungen und -stornierungen, Geschäftsregeln, Zertifizierungsanforderungen, Berichtsanforderungen, Verwaltungsfunktionen, Autorisierungsebenen, Audit-Tracking, externe Schnittstellen, historische Datenverwaltung, rechtliche oder behördliche Anforderungen sind verschiedene Arten von funktionalen Anforderungen
- Es empfiehlt sich, zwei Anforderungen nicht zu einer zu kombinieren. Halten Sie die Anforderungen detailliert.
- Das Einfügen ungerechtfertigter zusätzlicher Informationen, die Entwickler verwirren könnten, sollte im Funktionsanforderungsdokument vermieden werden. Um zu verstehen, wie diese Anforderungen in tatsächliche Testverfahren umgesetzt werden, können Sie diesen Leitfaden lesen Funktionsprüfung.