features functional requirements
In diesem Lernprogramm werden die Typen, Funktionen und der Vergleich von funktionalen und nicht funktionalen Anforderungen sowie von geschäftlichen und funktionalen Anforderungen anhand von Beispielen erläutert:
Funktionale Anforderungen definieren, was ein Softwaresystem tun soll. Es definiert eine Funktion eines Softwaresystems oder seines Moduls. Die Funktionalität wird als eine Reihe von Eingaben in das zu testende System für die Ausgabe vom System gemessen.
Die Implementierung funktionaler Anforderungen in einem System ist in der Phase des Systemdesigns geplant, während sie bei nicht funktionalen Anforderungen im Dokument Systemarchitektur geplant ist. Die funktionale Anforderung unterstützt das Generieren der nicht funktionalen Anforderungen.
Was du lernen wirst:
- Funktionale Anforderungen und nicht funktionale Anforderungen
- Funktionale und nicht funktionale Anforderungen
- Fazit
Funktionale Anforderungen und nicht funktionale Anforderungen
Funktionale Anforderungen
Lassen Sie uns anhand von Beispielen verstehen, was funktionale Anforderungen sind.
Beispiel: In einem Automotive ADAS-Projekt könnte eine Funktionsanforderung für ein Surround-View-System lauten: „Die Rückfahrkamera sollte eine Bedrohung oder ein Objekt erkennen“. Nicht funktionale Anforderungen könnten hier sein, „wie schnell die Warnung an einen Benutzer angezeigt werden soll, wenn eine Bedrohung von Kamerasensoren erkannt wird“.
Nimm noch eins Beispiel des Infotainment-Systemprojekts. Der Benutzer aktiviert Bluetooth hier über HMI und prüft, ob Bluetooth aktiviert ist oder nicht. Hinweis Andere Bluetooth-Dienste werden aktiviert (von grau bis fett), wenn der Benutzer Bluetooth aktiviert.
wie man die Reihenfolge eines Arrays in Java umkehrt
Funktionale Anforderungen sprechen also über ein bestimmtes Systemergebnis, wenn der Benutzer eine Aufgabe für sie ausführt. Andererseits gibt die nicht funktionale Anforderung das Gesamtverhalten des Systems oder seiner Komponente und nicht die Funktion an.
Arten von funktionalen Anforderungen
Die funktionalen Anforderungen können die folgenden Komponenten umfassen, die im Rahmen von Funktionstests gemessen werden können:
# 1) Interoperabilität: Die Anforderung beschreibt, ob ein Softwaresystem systemübergreifend interoperabel ist.
Beispiel: Wenn der Benutzer ein Bluetooth-fähiges Android-basiertes Smartphone mit einem QNX-basierten Infotainmentsystem koppelt, sollte es für die Bluetooth-Funktionsanforderungen im Auto-Infotainmentsystem möglich sein, das Telefonbuch in das Infotainmentsystem zu übertragen oder Musik von unserem Telefongerät zum Infotainmentsystem zu streamen.
Die Interoperabilität prüft also, ob eine Kommunikation zwischen den beiden verschiedenen Geräten möglich ist oder nicht.
Ein weiterer Beispiel ist von den E-Mail-Service-Systemen wie Google Mail. Mit Google Mail können Sie E-Mails von einem anderen Mail-Exchange-Server wie Yahoo.com oder Rediffmail.com importieren. Dies ist aufgrund der Interoperabilität zwischen E-Mail-Servern möglich.
# 2) Sicherheit: Das Funktionale Anforderung beschreibt den Sicherheitsaspekt der Softwareanforderungen.
Beispiel: Cybersicherheitsbasierte Dienste im kamerabasierten ADAS-Surround-View-System, das das Controller Area Network (CAN) verwendet, das das System vor Sicherheitsbedrohungen schützt.
Ein weiterer Beispiel ist von der Social-Networking-Site Facebook . Die Daten eines Benutzers sollten sicher sein und dürfen nicht an Außenstehende weitergegeben werden. Wir hoffen, dass dieses Beispiel von Facebook den Lesern aufgrund der jüngsten Häufigkeit von Datenschutzverletzungen bei Facebook und der Folgen für Facebook einen breiteren Sicherheitsbereich bietet.
# 3) Genauigkeit: Die Genauigkeit definiert, dass in das System eingegebene Daten korrekt berechnet und vom System verwendet werden und dass die Ausgabe korrekt ist.
Beispiel: Wenn im Controller Area Network ein CAN-Signalwert von einer ECU (ABS-Einheit, HLK-Einheit, Kombiinstrument usw.) über den CAN-Bus übertragen wird, kann eine andere ECU feststellen, ob die gesendeten Daten korrekt sind oder nicht über CRC-Check.
Ein weiterer Beispiel kann von einer Online-Banking-Lösung sein. Wenn der Benutzer ein Guthaben erhält, sollte der erhaltene Betrag genau dem Konto gutgeschrieben werden, und es werden keine Abweichungen in der Genauigkeit akzeptiert.
# 4) Konformität: Die funktionalen Compliance-Anforderungen bestätigen, dass das entwickelte System den Industriestandards entspricht.
Beispiel: Ob die Funktionen von Bluetooth-Profilen (dh Audio-Streaming über A2DP, Telefonanruf über HFP) den Versionen des Bluetooth SIG-Release-Profils entsprechen.
Ein weiterer Beispiel kann das von Apple Car Play im Car Infotainment System sein. Die App im Infotainment erhält ein Zertifikat von Apfel wenn alle auf der Apple-Website genannten Voraussetzungen von Car Play-Geräten von Drittanbietern erfüllt sind (in diesem Fall Infotainment).
Ein weiterer Beispiel kann aus einer webbasierten Anwendung für das Bahnticket-System stammen. Die Website sollte den Richtlinien zur Cybersicherheit entsprechen und hinsichtlich der Barrierefreiheit dem World Wide Web entsprechen.
Beispiel für ein Anforderungsformular:
Wir haben bereits anhand einiger Beispiele gesehen, welche funktionalen Anforderungen bestehen. Lassen Sie uns nun sehen, wie eine funktionale Anforderung aussehen würde, wenn sie in Anforderungsmanagement-Tools wie IBM DOORS integriert wird. Bei der Dokumentation einer funktionalen Anforderung im Anforderungsverwaltungstool müssen mehrere Attribute berücksichtigt werden.
Im Folgenden sind einige Attribute aufgeführt, die berücksichtigt werden müssen:
- Objekttyp: Dieses Attribut erläutert, welcher Abschnitt des Anforderungsdokuments Teil dieses Attributs ist. Dies können Überschriften, Erläuterungen, Anforderungen usw. sein. Meistens wird der Abschnitt „Anforderung“ für die Implementierung und das Testen berücksichtigt, während Überschriften- und Erklärungsabschnitte als unterstützende Beschreibungen für Anforderungen zum besseren Verständnis verwendet werden.
- Verantwortliche: Ein Autor, der die Anforderung im Anforderungsmanagement-Tool dokumentiert hat.
- Projekt- / Systemname: Das Projekt, für das die Anforderung gilt, zum Beispiel, 'Infotainment-Systeme für XYZ OEM (Original Equipment Manufacturer), ein Automobilunternehmen oder eine Webanwendung für ABC Banking Limited Company'.
- Anforderungsversionsnummer: Dieses Feld / Attribut benachrichtigt die Versionsnummer der Anforderung, wenn die Anforderung aufgrund von Kundenaktualisierungen oder Änderungen im Systemdesign mehrfach geändert wurde.
- Anforderungs-ID: Dieses Attribut erwähnt die eindeutige Anforderungs-ID. Die Anforderungs-ID wird verwendet, um die Anforderungen in der Datenbank einfach zu verfolgen und die Anforderungen im Code effizient abzubilden. Es kann auch verwendet werden, um einen Verweis auf Anforderungen bereitzustellen, während Fehler in Bug-Tracking-Tools protokolliert werden.
- Anforderungsbeschreibung: Dieses Attribut ist eines der wichtigsten Attribute, die die Anforderung erklären. Durch Lesen dieses Attributs kann ein Ingenieur die Anforderung verstehen.
- Anforderungsstatus: Das Anforderungsstatusattribut gibt Auskunft über den Status einer Anforderung im Anforderungsverwaltungstool, d. H. Ob das Projekt akzeptiert, gehalten, abgelehnt oder gelöscht wird.
- Bemerkungen: Dieses Attribut bietet der verantwortlichen Person oder dem Anforderungsmanager die Möglichkeit, Kommentare zu der Anforderung zu dokumentieren. Beispiel: Ein möglicher Kommentar für eine funktionale Anforderung könnte 'Abhängigkeit von einem Softwarepaket eines Drittanbieters zur Implementierung der Anforderung' sein.
Ein Schnappschuss von DOORS
Ableiten funktionaler Anforderungen aus Geschäftsanforderungen
Dies wird bereits im Abschnitt „ Ableiten funktionaler Anforderungen aus Geschäftsanforderungen ' unter dem Anforderungsanalyse Artikel.
Geschäftsanforderungen gegenüber funktionalen Anforderungen
Dieser Unterschied wird in der Anforderungsanalyse Artikel. Wir werden es jedoch versuchen Markieren Sie hier in der folgenden Tabelle einige weitere Punkte:
Sl. Nein. | Geschäftsanforderungen | Funktionale Anforderungen |
---|---|---|
7 | Beispielsweise, Im Online-Banking-System könnte eine Geschäftsanforderung lauten: 'Als Benutzer sollte ich in der Lage sein, eine Geldtransaktionsabrechnung zu erhalten.' | Die funktionale Anforderung in diesem Online-Banking-System könnte lauten: 'Wenn der Benutzer den Datumsbereich in der Transaktionsabfrage angibt, wird diese Eingabe vom Server verwendet und die Webseite wird mit den erforderlichen Bargeldtransaktionsdaten versehen.' |
ein | Geschäftsanforderungen sagen 'was' Aspekt der Kundenanforderung. Beispiel, Was sollte für den Benutzer sichtbar sein, nachdem sich der Benutzer angemeldet hat? | Funktionale Anforderungen sagen „wie“ Aspekt der Geschäftsanforderungen aus. Beispiel, Wie die Webseite die Benutzeranmeldeseite anzeigen soll, wenn sich der Benutzer authentifiziert. |
zwei | Geschäftsanforderungen werden von Geschäftsanalysten identifiziert. | Funktionale Anforderungen werden vom Entwickler / Softwarearchitekten erstellt / abgeleitet |
3 | Sie betonen den Nutzen für die Organisation und beziehen sich auf Geschäftsziele. | Ihr Ziel ist die Erfüllung der Kundenanforderungen. |
4 | Die Geschäftsanforderungen stammen vom Kunden. | Die funktionalen Anforderungen werden aus den Softwareanforderungen abgeleitet, die wiederum aus den Geschäftsanforderungen abgeleitet werden. |
5 | Geschäftsanforderungen werden von Software Test Engineers nicht direkt getestet. Sie werden meist vom Kunden getestet. | Die funktionalen Anforderungen werden von Software-Testingenieuren getestet und im Allgemeinen nicht von Kunden getestet. |
6 | Die Geschäftsanforderung ist ein übergeordnetes Anforderungsdokument. | Eine funktionale Anforderung ist ein detailliertes technisches Anforderungsdokument. |
Nicht funktionale Anforderung
Die nicht funktionale Anforderung besagt eher, was ein System sein soll als was ein System tun soll (funktionale Anforderung). Sie werden hauptsächlich aus funktionalen Anforderungen abgeleitet, die auf Eingaben des Kunden und anderer Stakeholder basieren. Details zur Implementierung nicht funktionierender Anforderungen sind im Systemarchitekturdokument dokumentiert.
Nichtfunktionale Anforderungen erläutern die Qualitätsaspekte des zu konstruierenden Systems. Leistung, Portabilität, Benutzerfreundlichkeit usw. Nicht funktionale Anforderungen werden im Gegensatz zu funktionalen Anforderungen in jedem System schrittweise implementiert.
URPS (Benutzerfreundlichkeit, Zuverlässigkeit, Leistung und Unterstützbarkeit) von FURPS Qualitätsmerkmale (Funktionalität, Benutzerfreundlichkeit, Zuverlässigkeit, Leistung und Unterstützbarkeit), die in der IT-Branche häufig zur Messung der Qualität eines Softwareentwicklers verwendet werden, werden alle von nicht funktionalen Anforderungen abgedeckt. Daneben gibt es noch andere Qualitätsmerkmale (Details im nächsten Abschnitt).
Wikipedia nennt die nicht funktionale Anforderung manchmal 'Fähigkeiten', da verschiedene Qualitätsmerkmale wie Portabilität und Stabilität vorhanden sind.
Arten von nicht funktionalen Anforderungen
Nichtfunktionale Anforderungen bestehen aus den folgenden Untertypen (nicht erschöpfend):
# 1) Leistung:
Ein Leistungsattributtyp einer nicht funktionalen Anforderung misst die Systemleistung. Beispiel: Im ADAS-Surround-View-System sollte die Ansicht der Rückfahrkamera innerhalb von 2 Sekunden nach dem Starten der Fahrzeugzündung angezeigt werden.
Ein weiterer Beispiel der Leistung könnte von einem Infotainmentsystem Navigationssystem sein. „Wenn ein Benutzer zum Navigationsbildschirm wechselt und das Ziel eingibt, sollte die Route innerhalb von„ X “Sekunden berechnet werden.“ Einer noch Beispiel von der Anmeldeseite der Webanwendung. 'Es dauert einige Zeit, bis die Benutzerprofilseite nach der Anmeldung geladen ist.'
Bitte beachten Sie, dass sich die Messung der Systemleistung von der Lastmessung unterscheidet. Während des Lasttests laden wir die System-CPU und den RAM und überprüfen den Systemdurchsatz. Im Falle der Leistung testen wir den Systemdurchsatz unter normalen Last- / Belastungsbedingungen.
# 2) Benutzerfreundlichkeit ::
Usability misst die Usability des zu entwickelnden Softwaresystems.
Zum Beispiel Es wurde eine mobile Webanwendung entwickelt, mit der Sie Informationen über die Verfügbarkeit von Installateuren und Elektrikern in Ihrer Nähe erhalten.
Die Eingabe für diese App ist Postleitzahl und Radius (in Kilometern) von Ihrem aktuellen Standort. Wenn der Benutzer diese Daten eingeben muss, um mehrere Bildschirme zu durchsuchen, und die Dateneingabeoption in kleinen Textfeldern angezeigt wird, die für einen Benutzer nicht ohne weiteres sichtbar sind, ist diese App nicht benutzerfreundlich und daher benutzerfreundlich sehr niedrig.
# 3) Wartbarkeit ::
Die Wartbarkeit eines Softwaresystems ist die Leichtigkeit, mit der das System gewartet werden kann. Wenn die mittlere Zeit zwischen Ausfällen (MTBF) niedrig oder die mittlere Reparaturzeit (MTTR) für das zu entwickelnde System hoch ist, wird die Wartbarkeit des Systems als niedrig angesehen.
Die Wartbarkeit wird häufig auf Codeebene mithilfe der zyklomatischen Komplexität gemessen. Die zyklomatische Komplexität besagt, dass die Wartung der Software umso einfacher ist, je weniger komplex der Code ist.
Beispiel: Es wird ein Softwaresystem entwickelt, das eine hohe Anzahl toter Codes aufweist (Codes, die nicht von anderen Funktionen oder Modulen verwendet werden), die aufgrund der übermäßigen Verwendung von if / else-Bedingungen, verschachtelten Schleifen usw. sehr komplex sind oder wenn das System mit laufenden Codes sehr umfangreich ist in viele Millionen Codezeilen und keine richtigen Kommentare. Ein solches System weist eine geringe Wartbarkeit auf.
Dateieingabe und -ausgabe c ++
Ein weiterer Beispiel könnte von Online-Shopping-Webseite sein. Wenn die Website viele externe Links enthält, über die der Benutzer einen Überblick über das Produkt erhalten kann (um Speicherplatz zu sparen), ist die Wartbarkeit dieser Website gering. Dies liegt daran, dass, wenn sich der Link einer externen Webseite ändert, dieser auch auf der Online-Shopping-Website zu häufig aktualisiert werden muss.
# 4) Zuverlässigkeit ::
Zuverlässigkeit ist ein weiterer Aspekt der Verfügbarkeit. Dieses Qualitätsmerkmal unterstreicht die Verfügbarkeit eines Systems unter bestimmten Bedingungen. Es wird ebenso wie die Wartbarkeit als MTBF gemessen.
Beispiel: Sich gegenseitig ausschließende Funktionen wie Rückfahrkamera und Trailer im ADAS-Surround-View-Kamerasystem sollten zuverlässig im System funktionieren, ohne sich gegenseitig zu stören. Wenn ein Benutzer die Trailer-Funktion aufruft, sollte die Rückansicht nicht stören und umgekehrt, da beide Funktionen auf die Rückfahrkamera des Fahrzeugs zugreifen.
Ein weiterer Beispiel aus dem Online-Versicherungsanspruchssystem. Wenn ein Benutzer mit der Schadensmeldung beginnt und dann relevante Spesenabrechnungen hochlädt, sollte das System genügend Zeit für den Abschluss des Uploads geben und den Upload-Vorgang nicht schnell abbrechen.
# 5) Portabilität:
Portabilität bedeutet die Fähigkeit eines Softwaresystems, in einer anderen Umgebung zu arbeiten, wenn das zugrunde liegende abhängige Framework gleich bleibt.
Beispiel: Das für einen Automobilhersteller entwickelte Softwaresystem / eine Softwarekomponente in einem Infotainmentsystem (Bluetooth-Dienst oder Multimedia-Dienst) sollte die Verwendung in einem anderen Infotainmentsystem ohne oder mit nur geringer Codeänderung ermöglichen, obwohl die beiden Infotainmentsysteme völlig unterschiedlich sind .
Lass uns einen anderen nehmen Beispiel von WhatsApp. Es ist möglich, den Messaging-Dienst unter IOS, Android, Windows, Tablet, Laptop und Telefon zu installieren und zu verwenden.
# 6) Unterstützbarkeit:
Die Wartungsfreundlichkeit eines Softwaresystems ist die Fähigkeit eines Service- / technischen Experten, das Softwaresystem in einer Echtzeitumgebung zu installieren, das System während der Ausführung zu überwachen, technische Probleme im System zu identifizieren und eine Lösung zur Behebung des Problems bereitzustellen.
Die Wartungsfreundlichkeit ist möglich, wenn das System so entwickelt wurde, dass die Wartungsfreundlichkeit erleichtert wird.
Beispiel: Bereitstellung eines regelmäßigen Erinnerungs-Popups für den Benutzer für ein Software-Update, Bereitstellung eines Protokollierungs- / Ablaufverfolgungsmechanismus zum Debuggen von Problemen, automatische Wiederherstellung nach einem Fehler über einen Rollback-Mechanismus (Zurücksetzen des Softwaresystems auf den vorherigen Betriebszustandszustand).
Ein weiterer Beispiel von Rediffmail. Wenn die Version des webbasierten Mailingdienstes aktualisiert wurde, konnte der Benutzer auf eine neuere Version des Mailingsystems umsteigen, wobei die ältere Version einige Monate lang intakt blieb. Dies verbessert auch die Benutzererfahrung.
# 7) Anpassungsfähigkeit:
Die Anpassungsfähigkeit eines Systems ist definiert als die Fähigkeit eines Softwaresystems, sich an Änderungen in einer Umgebung anzupassen, ohne dass sich sein Verhalten ändert.
Beispiel: Das Antiblockiersystem im Auto sollte bei allen Wetterbedingungen (heiß oder kalt) standardmäßig funktionieren. Ein weiterer Beispiel könnte das eines Android-Betriebssystems sein. Es wird in verschiedenen Arten von Geräten verwendet, nämlich. Smartphones, Tablet-Computer und Infotainment-Systeme sind sehr anpassungsfähig.
Zusätzlich zu den 7 oben aufgeführten nicht funktionalen Anforderungen haben wir viele andere wie:
Zugänglichkeit, Sicherung, Kapazität, Konformität, Datenintegrität, Datenaufbewahrung, Abhängigkeit, Bereitstellung, Dokumentation, Haltbarkeit, Effizienz, Ausnutzbarkeit, Erweiterbarkeit, Fehlermanagement, Fehlertoleranz, Interoperabilität, Modifizierbarkeit, Bedienbarkeit, Datenschutz, Lesbarkeit, Berichterstellung, Ausfallsicherheit, Wiederverwendbarkeit, Robustheit, Skalierbarkeit, Stabilität, Testbarkeit, Durchsatz, Transparenz, Integrierbarkeit.
Die Abdeckung all dieser nicht funktionalen Anforderungen fällt nicht in den Geltungsbereich dieses Artikels. Weitere Informationen zu diesen nicht funktionalen Anforderungstypen finden Sie in Wikipedia.
Ableiten nichtfunktionaler Anforderungen aus funktionalen Anforderungen
Nichtfunktionale Anforderungen können auf viele Arten abgeleitet werden, aber die beste und branchenweit bewährte Methode basiert auf funktionalen Anforderungen.
Nehmen wir das Beispiel unserer Infotainment-Systeme, das wir in diesem Artikel bereits an einigen Stellen aufgenommen haben. Der Benutzer kann viele Aktionen auf dem Infotainment-System ausführen, nämlich. Ändern Sie den Song, ändern Sie die Songquelle von USB zu FM oder Bluetooth-Audio, legen Sie das Navigationsziel fest, aktualisieren Sie die Infotainment-Software über ein Software-Update usw.
# 1) Erfassung nichtfunktionaler Anforderungen:
Wir werden die von einem Benutzer ausgeführten Aufgaben auflisten, was Teil der funktionalen Anforderungen ist. Sobald die Benutzeraktionen im UML-Anwendungsfalldiagramm (jedes Oval) vermerkt sind, beginnen wir mit relevanten Fragen (jedes Rechteck) zu den Aktionen jedes Benutzers. Antworten auf diese Fragen geben unsere nicht funktionalen Anforderungen.
# 2) Kategorisierung nichtfunktionaler Anforderungen:
Der nächste Schritt ist die Kategorisierung von nicht funktionalen Anforderungen, die wir anhand von Fragen identifiziert haben. In dieser Phase können wir die mögliche Antwort überprüfen und die Antworten nach möglichen nicht funktionalen Kategorien oder unterschiedlichen Qualitäten kategorisieren.
Im Bild unten sehen Sie die möglichen Qualitätsmerkmale, die anhand der Antworten identifiziert wurden.
Funktionale und nicht funktionale Anforderungen
Wir haben bereits gesehen, was funktionale und nicht funktionale Anforderungen sind und wie sie abgeleitet werden. Lassen Sie uns einen Blick auf die Hauptunterschiede zwischen funktionalen und nicht funktionalen Anforderungen werfen.
Sl. Nein | Funktionsanforderungen (FR) | Nichtfunktionale Anforderungen (NFR) |
---|---|---|
7 | Funktionale Anforderungen bilden das Grundgerüst der Implementierung von Softwaresystemen | Nichtfunktionale Anforderungen vervollständigen das SW-System, indem sie dazu beitragen, dass die funktionalen Anforderungen wie ein Muskel zusammenhalten. |
ein | Sie sagen, was ein System tun soll. | Sie sagen, was ein System sein sollte. |
zwei | Sie sind im Systemdesign-Dokument aufgeführt. | Sie sind im Dokument zur Systemarchitektur aufgeführt. |
3 | Sie sprechen über das Verhalten einer Funktion oder eines Merkmals. | Sie sprechen über das Arbeitsverhalten eines ganzen Systems oder einer Komponente des Systems und nicht über eine bestimmte Funktion. |
4 | Der Benutzer übergibt die Eingabe und prüft, ob die Ausgabe korrekt angezeigt wird. | Wenn der Benutzer eine Eingabe übergibt, können die folgenden Fragen von NFRs beantwortet werden: i) Wie lange dauert die Anzeige der Ausgabe? ii) Ist die Ausgabe zeitlich konsistent? iii) Gibt es andere Möglichkeiten, den Eingabeparameter zu übergeben? iv) Wie einfach ist es, den Eingabeparameter zu übergeben? |
5 | In einer Webanwendung sollte sich der Benutzer über die Authentifizierung FR anmelden können | Wie viel Zeit in einer Webanwendung erforderlich ist, um sich auf der Website anzumelden, wie die Anmeldeseite aussieht und sich anfühlt, wie einfach eine Webseite verwendet wird usw., ist Teil von NFR |
6 | Die funktionalen Anforderungen werden zunächst aus den Softwareanforderungen abgeleitet. | Nichtfunktionale Anforderungen werden aus funktionalen Anforderungen abgeleitet. |
8 | Funktionale Anforderungen können ohne nicht funktionale Anforderung bestehen. | Nicht funktionale Anforderungen können ohne funktionale Anforderungen nicht existieren. |
9 | Eine funktionale Anforderung gibt konkrete Informationen zu einer Funktion. Beispiel , Profilfoto auf Facebook sollte beim Login sichtbar sein. | Eine funktionale Anforderung kann viele nichtfunktionale Anforderungsattribute aufweisen. Beispiel, Anmeldezeit (Leistung), Erscheinungsbild der Profilseite (Benutzerfreundlichkeit), Anzahl der Benutzer, die sich gleichzeitig anmelden können (Kapazität, Leistung) |
10 | Das Ableiten funktionaler Anforderungen aus SW-Anforderungen ist für fast alle Geschäftsanforderungen möglich | NFRs werden häufig nicht dokumentiert, da relevante Fragen zu FRs nicht gestellt werden. |
elf | Die Implementierung einer funktionalen Anforderung erfolgt normalerweise in einem Software-Build. | NFRs werden während des gesamten Lebenszyklus des Projekts implementiert, bis das gewünschte Verhalten erreicht ist. |
12 | Diese sind meist für den Kunden sichtbar. | Diese sind für den Kunden meist nicht sichtbar, können aber langfristig erlebt werden. Beispiel, Benutzerfreundlichkeit, Leistung usw. können nur langfristig erlebt werden, sind jedoch überhaupt nicht sichtbar. |
Fazit
Anforderungen bilden den Grundbaustein für die Entwicklung eines Softwaresystems. Es ist möglich, ein System mit funktionalen Anforderungen aufzubauen, aber seine Fähigkeiten können weder bestimmt noch gemessen werden. Trotzdem ist es sehr wichtig, funktionale Anforderungen von guter Qualität zu haben, die sich aus einer Geschäftsanforderung ergeben, um ein qualitativ hochwertiges funktionierendes Softwaresystem zu haben.
Daher geben funktionale Anforderungen die Richtung der Implementierung eines Softwaresystems vor, aber nicht funktionale Anforderungen bestimmen die Qualität der Implementierung, die Endbenutzer erfahren werden.
Literatur-Empfehlungen
- Wie teste ich die Software Requirements Specification (SRS)?
- Funktionstests gegen nichtfunktionale Tests
- Wie teste ich eine Anwendung ohne Anforderungen?
- Was ist Anforderungsanalyse und -erfassung in SDLC?
- 5 Tödliche Fehler im Anforderungsmanagement und wie man sie überwindet
- Merkmale funktionaler und nicht funktionaler Anforderungen
- So erstellen Sie eine Anforderungsrückverfolgbarkeitsmatrix (RTM): Beispiel und Beispielvorlage
- Top 20+ Best Requirements Management Tools (Die vollständige Liste)