Ich versuche den Unterschied zwischen nicht funktionalen Anforderungen und Qualitätsmerkmalen zu verstehen. Sind sie dasselbe?
Eine Reihe von Qualitätsattributen finden Sie im ISO9126-Standard.
Ich weiß, dass jedes System durch eine Reihe von funktionalen Anforderungen definiert ist und jeder dieser Anforderungen ein oder mehrere Qualitätsattribute zugeordnet sind. Angenommen, Sie haben die Anforderung, die die Anmeldefunktionalität eines Systems beschreibt. Sie können dieser Anforderung die Attribute Sicherheit und Leistung zuordnen.
Wenn ich sage, dass das System nicht länger als 1 Sekunde braucht, um zu antworten, spreche ich von einer Einschränkung.
Wo setzt das Konzept der nichtfunktionalen Anforderungen an? Werden sie von den Benutzern definiert? Wie kann ich sie identifizieren?
quelle
Antworten:
Ich denke, du denkst ein bisschen zu viel darüber nach. Funktionale und nicht-funktionale Anforderungen sind nicht wirklich so trennbar, wie Sie es vorschlagen. Nehmen Sie zum Beispiel den Anmeldefall.
Der Benutzer MUSS sich über eine Weboberfläche anmelden können. Technisch ist dies eine funktionale Anforderung.
Das System MUSS innerhalb von 1 Sekunde auf Anmeldeanfragen antworten. Technisch ist dies eine nicht funktionierende Anforderung.
In beiden Fällen sind beide gleich wichtig, unabhängig von der jeweiligen Klassifizierung.
Anforderungen können von beliebig vielen Stellen kommen. Vielleicht möchten Sie eine bessere Leistung als ein Konkurrent haben. Ein Kunde hat möglicherweise spezielle Anforderungen. Möglicherweise liegt eine Anfrage von Marketing oder Vertrieb vor. Es gibt keinen Ort, an dem sie herkommen. Sie könnten jedoch wahrscheinlich alle verschiedenen Quellen abstrahieren und sie als Kunden bezeichnen. Letztendlich ist es das, was sie sind.
Sie können den Unterschied anhand der folgenden Metrik identifizieren. Funktionsanforderungen beschreiben, was ein System tun wird. Eine nicht-funktionale Anforderung gibt an, wie es funktioniert.
quelle
Die Regel ist einfach und klar.
Funktionsanforderungen sind Dinge, die das System tut .
Nichtfunktionale Anforderungen sind Qualitätsmerkmale oder Aspekte des Entwurfs, des Aufbaus oder der Implementierung des Systems.
Lesen Sie dies. Es ist sehr klar. http://en.wikipedia.org/wiki/Non-functional_requirement
Nicht-funktionale Anforderungen werden genauso angezeigt wie funktionale Anforderungen. Benutzer. Der Kontext, in dem das System implementiert wird. Viele plätze. Verwaltung. Andere Organisationen. Netzwerkadministratoren, Systemadministratoren, Datenbankadministratoren. Jeder, der ein Stakeholder oder nur ein Zuschauer ist, wird nichtfunktionale Anforderungen beisteuern.
Wenn ich mir "Anforderungsdokumente" der letzten 30 Jahre anschaue, kann ich das sagen. Viele Anforderungsdokumente, die von großen internen IT-Organisationen verfasst wurden, sind politische Aussagen mit möglicherweise 80% nicht funktionalen Anforderungen und weniger als 20% funktionalen Anforderungen.
Ich las einen, der einen einzigen Satz enthielt, der eine funktionale Anforderung war. Der Rest des 30 - seitigen Dokuments sprach über Plattform und Unterstützung, und Sicherungen und Wiederherstellungen und Betriebssysteme und Datenbank sowie Normen und Operationen, und viele, viele Dinge , dass das System nicht tun .
quelle
Nichtfunktionale Anforderungen und Qualitätsmerkmale sind identisch
Die Idee hinter der Namensänderung in letzter Zeit ist, dass es sich bei diesen sogenannten nicht funktionalen Anforderungen tatsächlich um Systemfunktionalität (oder eine Reihe von Systemfunktionalitäten) handelt, die sich übergreifend auf das System auswirkt. Das heißt, die transversale Wirkung, die diese Art von "spezieller Funktionalität" in einem System hat, macht es zu einem Qualitätsmerkmal dieses Systems. Als Beispiel:
Ebenso wie es bei der Sicherheit nicht nur um ein Login geht und wenn es betroffen ist, wirkt es sich auf das gesamte System aus.
Zusammenfassend geht es bei Qualitätsmerkmalen (dh nicht funktionalen Anforderungen) um Funktionalität, wie Sie etwas implementieren und wie sich diese Implementierung auf Ihre Systeme auswirkt. Typischerweise besteht der Unterschied zu den "normalen Anforderungen" in ihrer Auswirkung, Reichweite und Sichtbarkeit.
Hier ist ein interessanter Link, wie man sie strukturiert identifiziert:
Und ein Buch darüber, wie man sie dokumentiert und richtig definiert:
quelle