Funktionale Anforderungen beschreiben gewünschte Funktionalitäten (was soll das System tun/können) eines Systems bzw. Produkts, dessen Daten oder Verhalten. Um funktionale Anforderungen vollständig zu erheben, können verschiedene Methoden herangezogen werden. In benutzerorientierten Systemen können beispielsweise Usecases eingesetzt werden. Ziel ist es, die funktionalen Anforderungen an ein System zu erheben, um eine optimale Unterstützung der Benutzer bei der Erfüllung individueller Aufgaben zu ermöglichen. Nachfolgend einige Beispiele für funktionale Anforderungen:
Im Gegensatz zu funktionalen Anforderungen, die beschreiben, WAS ein System leisten soll (funktional), geben nichtfunktionale Anforderungen an, WIE GUT ein System etwas leisten soll (qualitativ). Die nichtfunktionalen Anforderungen an ein System können unterschiedlichster Art sein. So wurden im Rahmen des ISO Standards 9126 unter anderem folgende Typen von nichtfunktionalen Anforderungen (Qualitätsattribute) identifiziert:
Ziel ist es, klare Qualitätsvorgaben an die systemunterstützten Geschäftsprozesse und Benutzeraufgaben zu erheben und schließlich umsetzen zu können. Folglich ist die zentrale Frage:
«Welche Restriktionen/Einschränkung muss die Lösung einhalten?».
Beispiel: „Das Produkt soll dem Anwender innerhalb von einer Sekunde antworten.“
Um funktionale und nichtfunktionale Anforderungen effektiv unterscheiden zu können, ist es wichtig, die charakteristischen Eigenschaften und die Rollen, die sie in der Systementwicklung spielen, zu verstehen. Hier sind einige Schlüsselpunkte:
Durch das Verständnis dieser Unterscheidungen können Teams effektiver kommunizieren und die jeweiligen Anforderungen besser in Projektmanagement- und Entwicklungsaufgaben integrieren.
Der Begriff “–ilities” bezieht sich auf eine Gruppe von Qualitätsattributen oder nichtfunktionalen Anforderungen, die oft auf “-ility” enden. Diese Qualitätsattribute beschreiben, wie gut ein System seine Aufgaben ausführen soll. Sie beziehen sich auf die Qualität der Systemleistung und decken verschiedene Aspekte der Benutzererfahrung, der Zuverlässigkeit und der Effizienz eines Systems ab.
Einige gängige “-ilities” sind:
Diese Qualitätsattribute werden oft in der Planungs- und Anforderungsphase eines Projekts festgelegt, um den Entwicklungsprozess zu leiten und sicherzustellen, dass das Endprodukt den Erwartungen der Stakeholder entspricht.