-Engineering Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 1
Was ist ein Requirement? IEEE-Standard (IEEE-726 83) A condition or capability needed by a user to solve a problem or achieve an objective. A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification or other formally imposed document. A document representation or a condition or capability as in the above. Peter Hruschka A statement, in the form of the chosen method of requirement presentation, describing one or more related characteristics that the system is required to have. Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 2
Welche Arten von gibt es? Funktionale Anforderungen: Beziehen sich auf die Funktionalität des Systems Nichtfunktionale Anforderungen: Stellen meist Einschränkungen dar. Strukturale Anforderungen: Anforderungen hinsichtlich der Anordnung, Strukturierung von Komponenten Formale und informale Anforderungen Von einer formalen Anforderung spricht man, wenn diese entsprechend einer formalen Vorgabe (formale Sprache) formuliert wurde. Alle anderen Anforderungen werden als informal (z.b. ein Textdokument) oder semiformal (z.b. Structured English) bezeichnet. Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 3
Bestandteile eines : Funktionale Anforderung: WAS wird benötigt? Was ist dabei nicht erlaubt? (Einschränkungen, Constraints) Wie gut muss die Anforderung erfüllt werden? (Performance) Wie wird das Requirement getestet? BSP: Berechne gefahrene Tageskilometer, Berechne die aktuelle Geschwindigkeit Die Funktion soll in einem Temperaturbereich von -30 C bis 80 C erbracht werden. Die Berechnung muss 20mal pro Sekunde durchgeführt werden. Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 4
Formulierung einer funktionalen Anforderung Eingang Ausgang x1 x2 x3 Funktion xy y Fragestellungen: Welche Dimension hat die Ein-/Ausgangsgröße? In welchem Wertebereich kann sich diese Größe bewegen? Wie genau muss die Funktion erfüllt werden (Toleranz)? Wie häufig muss diese Funktion ausgeführt werden? In welcher Zeit muss ein Ergebnis vorliegen? Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 5
Quellen für Stakeholder Designschritte... req req req req req req comp1 comp2 comp3 Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 6
Funktionale Funktionale Anforderung Anforderung Kunde Kunde generiert Funktionale Funktionale Anforderung Anforderung Kühlung Kühlung Allokierung Hitze Allokierung HW HW Größe Gewicht HW HW HW HW Zuverlässigkeit Positiver Einfluss Negativer Einfluss Neutraler Einfluss generiert Funktionale Funktionale Anforderung Anforderung Zuverlässigkeit Zuverlässigkeit Allokierung Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 7
Umfang der funktionalen Anforderungen f 1 f 2 schlecht besonders schlecht f 3 f4 f5 r 3 r 4 t optimal r 2 Umfang der Anforderungen an die Ressourcen r 1 Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 8
müssen konsistent: es darf kein Widerspruch existieren vollständig: alle funktionalen und nichtfunktionalen Anforderungen realisierbar:, die nicht realisierbar sind machen keinen Sinn. sein. verifizierbar: Es müssen Maßzahlen existieren, auf deren Basis entschieden werden kann, ob ein System die gestellten Anforderungen erfüllt. nachvollziehbar: Die Ursache, bzw. die Auswirkungen eines müssen nachvollziehbar sein. eindeutig: unterschiedliche Interpretationen sollten nicht möglich sein. verständlich: die Darstellung sollte so gestaltet sein, dass jeder Beteiligte die Anforderung versteht. Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 9
-Engineering Prozess Requirement Requirement Analyse Analyse Machbarkeitsstudie Machbarkeitsstudie Machbarkeitsbericht Machbarkeitsbericht Requirement Requirement Definition Definition Systemmodelle Systemmodelle Requirement Requirement Spezifikation Spezifikation Definition Definition der der Requirement Requirement Dokument Dokument Spezifikation Spezifikation der der Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 10
Requirement-Analyse validieren validieren definieren definieren und und spezifizieren spezifizieren Verständnis Verständnis für für Domäne Domäne priorisieren priorisieren sammeln sammeln Konflikte Konflikte lösen lösen klassifizieren klassifizieren Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 11
Klassifikation von Produkt : Anforderungen an das System wie Usability, Performance, Größe, Zuverlässigkeit oder die Portierbarkeit. Prozess : Anforderungen bezüglich der Implementierung, zu verwendender Standards, Methoden etc. Externe : Decken all jene Anforderungen ab, die nicht dem Produkt oder dem Entwurfsprozess zugeordnet werden können. ESA-Software Engineering Standard (PSS-05-0) Performance requirements, interface requirements, operational requirements, resource requirements, verification requirements, acceptance testing requirements, documentation requirements, security requirements, portability requirements, quality requirements, reliability requirements, maintainability requirements, safety requirements. Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 12
Die drei Dimensionen des Requirement Engineerings (Klaus Pohl) Spezifikation vollständig gemeinsame Sicht Übereinstimmung persönliche Sicht vage informal semiformal formal Repräsentation Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 13
Systemeigenschaften Dimensionen: Name Grenzwerte Länge 0..inf Zeit... Einheit m s Definition von Systemeigenschaften Name Dimension Grenzwerte Kategorie Max_länge Länge [0..1000] physisch Höhe Länge m physisch... Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 14
Extrahieren von Anforderungen Dokument 1 R1 R2 R3 R4 User Prod Gruppieren von Anforderungen, die denselben Verursacher aufweisen R5 SF X Dokument M RN Quellen für festlegen Zuordnen zu Specification Frames (SFs) (entspricht einem Stakeholder) Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 15
Nachvollziehbarkeit von Wer hat ein Requirement verursacht? Welche Auswirkungen hat ein Requirement im System? Post-Traceability (Vorwärts-Nachvollziehbarkeit): Nachvollziehbarkeit einer Anforderungsdefinition hin zum Design und zur Implementierung. Pre-Traceability (Rückwärts-Nachvollziehbarkeit): Entstehungshistorie einer Anforderungsdefinition. Unter Umständen kann Traceability zu psychologischen Problemen führen. Copyright Chr. Schaffer, Fachhochschule Hagenberg, MTD 16