LU05b - Anforderungen

Funktionale Anforderungen

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:

Nichtfunktionale 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.“

Unterscheidung

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:

Funktionale Anforderungen

Nichtfunktionale Anforderungen

Gemeinsame Merkmale

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:

  • Usability: Wie einfach ist es für die Benutzer, das System zu verwenden?
  • Reliability: Wie zuverlässig ist das System?
  • Scalability: Wie gut kann das System mit zunehmender Last skaliert werden?
  • Availability: Ist das System immer verfügbar, wenn es benötigt wird?
  • Maintainability: Wie einfach ist es, das System zu warten oder zu aktualisieren?
  • Testability: Wie einfach lässt sich das System testen?
  • Security: Wie sicher ist das System gegenüber unbefugtem Zugriff oder Datenverlust?

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.


Kevin Maurizi, Marcel Suter