it-swarm-eu.dev

Was ist der Unterschied zwischen einer nicht funktionalen Anforderung und einem Qualitätsmerkmal?

Ich versuche den Unterschied zwischen nicht funktionalen Anforderungen und Qualitätsmerkmalen zu verstehen. Sind sie dasselbe?

Eine Reihe von Qualitätsattributen finden Sie in der Norm ISO9126.

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 brauchen kann, um zu antworten, spreche ich von einer Einschränkung.

Wo setzt also das Konzept der nichtfunktionalen Anforderungen ein? Werden sie von den Benutzern definiert? Wie kann ich sie identifizieren?

13
Hugo Assanti

Ich denke, dass Sie etwas zu viel darüber nachdenken. Funktionale und nicht funktionale Anforderungen sind nicht wirklich so trennbar, wie Sie 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 Anmeldeanforderungen antworten. Technisch gesehen ist dies eine nicht funktionale Anforderung.

In beiden Fällen sind beide unabhängig von der spezifischen Klassifizierung genauso wichtig.

Anforderungen können von beliebig vielen Orten kommen. Vielleicht möchten Sie eine bessere Leistung als ein Konkurrent haben. Ein Kunde kann spezifische Bedürfnisse haben. Möglicherweise liegt eine Anfrage von Marketing oder Vertrieb vor. Es gibt keinen Ort, von dem sie kommen. Sie könnten jedoch wahrscheinlich alle verschiedenen Quellen abstrahieren und sie als Kunden bezeichnen. Letztendlich sind sie das auch.

Sie können den Unterschied anhand der folgenden Metrik identifizieren. Funktionale Anforderungen beschreiben, was ein System tun wird. Eine nicht funktionierende Anforderung gibt an, wie sie ausgeführt wird.

9
Pemdas

Die Regel ist einfach und klar.

Funktionale Anforderungen sind Dinge, die das System tut .

Nichtfunktionale Anforderungen sind Qualitätsmerkmale oder Aspekte der Konzeption, des Aufbaus oder der Implementierung des Systems.

  • Leistung (1 Sekunde)
  • Wartbarkeit
  • Anpassungsfähigkeit
  • Kosten
  • sicherheit
  • benutzerfreundlichkeit (die eine Eigenschaft des gesamten Systems ist)
  • testbarkeit
  • skalierbarkeit

Lesen Sie dies. Es ist sehr klar. http://en.wikipedia.org/wiki/Non-functional_requirement

Nichtfunktionale 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, trägt nicht funktionale Anforderungen bei.

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 hatte, der eine funktionale Anforderung war. Der Rest des 30-seitigen Dokuments befasste sich mit Plattform und Support sowie Sicherungen und Wiederherstellungen, Betriebssystemen und Datenbanken sowie Standards und Vorgängen und vielen, vielen Dingen, die das System nicht tat do .

9
S.Lott

Nichtfunktionale Anforderungen und Qualitätsmerkmale sind ein und dasselbe

Die Idee hinter der Namensänderung in jüngster Zeit ist, dass diese sogenannten nicht funktionalen Anforderungen tatsächlich Systemfunktionalität (oder eine Reihe von Systemfunktionalität) sind, die einen Querschnittseffekt im System hat. Das heißt, die transversale Auswirkung, die diese Art von "spezieller Funktionalität" in einem System hat, macht es zu einem Qualitätsattribut dieses Systems. Als Beispiel:

Ein System mit 5 Komponenten muss eine Anfrage in 10 ms verarbeiten. Wenn eine Komponente einen Defekt aufweist, der 5 ms benötigt, um an der Verarbeitung teilzunehmen, wirkt sich dies auf die Leistung des gesamten Systems aus.

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ätsattributen (d. H. Nicht funktionalen Anforderungen) um Funktionalität, wie Sie etwas implementieren und wie sich diese Implementierung auf Ihre Systeme auswirkt. Typischerweise liegt der Unterschied zu den "normalen Anforderungen" in der 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:

4
mimsugara