Funktionale vs. nichtfunktionale Anforderungen
Hauptunterschied zwischen funktionalen und nichtfunktionalen Anforderungen
- Eine funktionale Anforderung definiert ein System oder seine Komponente, während eine nichtfunktionale Anforderung das Leistungsmerkmal eines Softwaresystems definiert.
- Funktionale Anforderungen helfen zusammen mit der Anforderungsanalyse dabei, fehlende Anforderungen zu identifizieren, während der Vorteil nicht-funktionaler Anforderungen darin besteht, dass sie Ihnen helfen, eine gute Benutzererfahrung und einfache Bedienung der Software sicherzustellen.
- „Functional Requirement“ ist ein Verb, während „Non-Functional Requirement“ ein Attribut ist
- Arten von nicht-funktionalen Anforderungen sind Skalierbarkeit Kapazität, Verfügbarkeit, Zuverlässigkeit, Wiederherstellbarkeit, Daten Integrity, usw., während Transaktionskorrekturen, -anpassungen und -stornierungen, Geschäftsregeln, Zertifizierungsanforderungen, Berichtsanforderungen, Verwaltungsfunktionen, Autorisierungsstufen, Audit-Tracking, externe Schnittstellen, Verwaltung historischer Daten, gesetzliche oder behördliche Anforderungen verschiedene Arten von funktionalen Anforderungen sind.
Was ist eine funktionale Anforderung?
In der Softwareentwicklung a funktionale Anforderung definiert ein System oder seine Komponente. Es beschreibt die Funktionen, die eine Software ausführen muss. Eine Funktion besteht aus nichts anderem als Eingaben, ihrem 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.
Funktionale Anforderungen in der Softwareentwicklung helfen Ihnen, das beabsichtigte Verhalten des Systems zu erfassen. Dieses Verhalten kann sich in Form von Funktionen, Diensten oder Aufgaben äußern oder darin, welches System ausgeführt werden muss.
Was ist eine nicht funktionale Anforderung?
A nichtfunktionale Anforderung definiert das Qualitätsmerkmal eines Softwaresystems. Sie stellen eine Reihe von Standards dar, anhand derer die spezifische Funktionsweise eines Systems beurteilt wird. Beispiel: Wie schnell wird die Website geladen?
Eine nichtfunktionale Anforderung ist unerlässlich, um die Benutzerfreundlichkeit und Effektivität des gesamten Softwaresystems sicherzustellen. Die Nichterfüllung nichtfunktionaler Anforderungen kann dazu führen, dass Systeme die Benutzeranforderungen nicht erfüllen.
Mit nichtfunktionalen Anforderungen können Sie dem Design des Systems über die verschiedenen agilen Backlogs hinweg Beschränkungen oder Einschränkungen auferlegen. Beispiel: Die Site sollte in 3 Sekunden geladen werden, wenn die Anzahl gleichzeitiger Benutzer > 10000 ist. DescriptDie Implementierung nicht-funktionaler Anforderungen ist genauso kritisch wie die Implementierung funktionaler Anforderungen.
Beispiel für funktionale Anforderungen
Hier sind einige Beispiele für funktionale Anforderungen in der Softwareentwicklung:
- 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.
Beispiele für nichtfunktionale Anforderungen
Hier sind einige Beispiele für nichtfunktionale Anforderungen in der Softwareentwicklung:
- Benutzer müssen das ursprünglich vergebene Login-Passwort unmittelbar nach der ersten erfolgreichen Anmeldung ändern. Darüber hinaus sollte die Initiale niemals wiederverwendet werden.
- Den Mitarbeitern ist es nie gestattet, ihre Gehaltsinformationen zu aktualisieren. Ein solcher Versuch sollte dem Sicherheitsadministrator gemeldet werden.
- Jeder erfolglose Versuch eines Benutzers, auf ein Datenelement zuzugreifen, wird in einem Audit-Trail aufgezeichnet.
- Eine Website sollte in der Lage sein, 20 Millionen Benutzer zu bewältigen und dabei ihre Leistung zu beeinträchtigen
- Die Software sollte portabel sein. Daher stellt der Wechsel von einem Betriebssystem auf ein anderes kein Problem dar.
- Der Datenschutz, der Export eingeschränkter Technologien, geistige Eigentumsrechte usw. sollten geprüft werden.
Unterschied zwischen funktionalen und nichtfunktionalen Anforderungen
Nachfolgend ist der Hauptunterschied zwischen funktionalen und nichtfunktionalen Anforderungen in der Softwareentwicklung aufgeführt:
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 |
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 für ein einfaches Projektmanagement
- Funktionale Anforderungen können in Form eines Anwendungsfalls oder einer User Story ausgedrückt werden, da sie ein von außen sichtbares funktionales Verhalten aufweisen.
Vorteile nichtfunktionaler Anforderungen
Vorteile/Vorteile von nichtfunktionalen Tests in Softwareentwicklung sind:
- Die nichtfunktionalen Anforderungen stellen sicher, dass das Softwaresystem den gesetzlichen und Compliance-Regeln entspricht.
- Sie stellen die Zuverlässigkeit, Verfügbarkeit und Leistung des Softwaresystems sicher
- Sie sorgen für ein gutes Benutzererlebnis und eine einfache Bedienung der Software.
- Sie helfen bei der Formulierung der Sicherheitsrichtlinien des Softwaresystems.