logo

Funktionale vs. nichtfunktionale Anforderungen

Die Anforderungsanalyse ist ein sehr kritischer Prozess, der es ermöglicht, den Erfolg eines System- oder Softwareprojekts zu bewerten. Anforderungen werden im Allgemeinen in zwei Typen unterteilt: funktionale und nicht funktionale Anforderungen.

Funktional vs. nicht funktionsfähig



Das Verstehen und Unterscheiden dieser Arten von Anforderungen ist für den Erfolg jedes Projekts von entscheidender Bedeutung. Unser umfassendes Kurs Systemdesign behandelt diese Konzepte im Detail und vermittelt Ihnen das Wissen und die Fähigkeiten, um Anforderungen effektiv zu erfassen, zu dokumentieren und zu analysieren.

Wichtige Themen für funktionale und nicht funktionale Anforderungen

Funktionale Anforderungen

Dabei handelt es sich um die Anforderungen, die der Endnutzer konkret an die Grundausstattung stellt, die das System bieten sollte. Alle diese Funktionalitäten müssen zwingend im Rahmen des Vertrags in das System integriert werden.



Diese werden in Form von Eingaben, die an das System gegeben werden sollen, der ausgeführten Operation und der erwarteten Ausgabe dargestellt oder angegeben. Dabei handelt es sich um vom Benutzer angegebene Anforderungen, die im Gegensatz zu den nichtfunktionalen Anforderungen direkt im Endprodukt sichtbar sind.

Beispiel:

  • Welche Funktionen müssen wir für dieses System entwerfen?
  • Welche Randfälle müssen wir gegebenenfalls in unserem Design berücksichtigen?

Nicht-funktionale Anforderungen

Dies sind die Qualitätsvorgaben, die das System laut Projektvertrag erfüllen muss. Die Priorität oder der Umfang, in dem diese Faktoren umgesetzt werden, variiert von Projekt zu Projekt. Sie werden auch Nichtverhaltensanforderungen genannt. Sie befassen sich mit Themen wie:



  • Portabilität
  • Sicherheit
  • Wartbarkeit
  • Zuverlässigkeit
  • Skalierbarkeit
  • Leistung
  • Wiederverwendbarkeit
  • Flexibilität

Beispiel:

  • Jede Anfrage soll mit minimaler Latenz verarbeitet werden?
  • Das System sollte sehr wertvoll sein.

Erweiterte Anforderungen

Dabei handelt es sich grundsätzlich um Anforderungen, die möglicherweise außerhalb des Systembereichs liegen.

Beispiel:

  • Unser System sollte Metriken und Analysen aufzeichnen.
  • Service-Zustands- und Leistungsüberwachung.

Unterschied zwischen funktionalen Anforderungen und nichtfunktionalen Anforderungen:

Funktionale Anforderungen

Nicht-funktionale Anforderungen

Eine funktionale Anforderung definiert ein System oder seine Komponente.

Eine nichtfunktionale Anforderung definiert das Qualitätsmerkmal eines Softwaresystems.

Multiplexer

Es legt fest: Was soll das Softwaresystem tun?

Es stellt Einschränkungen dar: Wie soll das Softwaresystem die funktionalen Anforderungen erfüllen?

Die funktionellen Anforderungen werden vom Benutzer angegeben.

Nichtfunktionale Anforderungen werden von technischen Fachleuten spezifiziert, z. Architekt, technische Leiter und Softwareentwickler.

Linux-Task-Manager

Es zwingend erforderlich ist.

Es ist nicht zwingend erforderlich.

Es wird im Anwendungsfall erfasst.

Es wird als Qualitätsmerkmal erfasst.

Auf Komponentenebene definiert.

Auf ein System als Ganzes angewendet.

Hilft Ihnen, die Funktionalität der Software zu überprüfen.

Hilft Ihnen, die Leistung der Software zu überprüfen.

Funktionstests wie System-, Integrations-, End-to-End-, API-Tests usw. werden durchgeführt.

Es werden nichtfunktionale Tests wie Leistungs-, Stress-, Benutzerfreundlichkeits-, Sicherheitstests usw. durchgeführt.

Normalerweise leicht zu definieren.

Normalerweise schwieriger zu definieren.

Beispiel
1) Authentifizierung des Benutzers, wann immer er sich am System anmeldet.
2) Systemabschaltung im Falle eines Cyberangriffs.
3) Eine Bestätigungs-E-Mail wird an den Benutzer gesendet, wenn er sich zum ersten Mal bei einem Softwaresystem registriert.

Beispiel
1) E-Mails sollten mit einer Latenzzeit von nicht mehr als 12 Stunden nach einer solchen Aktivität versendet werden.
2) Die Bearbeitung jeder Anfrage sollte innerhalb von 10 Sekunden erfolgen
3) Die Site sollte in 3 Sekunden geladen werden, wenn die Anzahl der gleichzeitigen Benutzer> 10.000 beträgt