Use Cases vs. Funktionale Spezifikation Ein experimenteller Vergleich zweier Methoden zur Anforderungsspezifikation Fraunhofer IESE: Anne Groß (Anne.Gross@iese.fraunhofer.de) & Jörg Dörr (Joerg.Doerr@iese.fraunhofer.de) Robert Bosch GmbH: Igor Menzel (Igor.Menzel@de.bosch.com) & Mark Müller (Mark.Mueller2@de.bosch.com)
Agenda Bild einfügen (Uhr) Motivation Experiment Planung Datenanalyse Ergebnisse Validität Zusammenfassung Diskussion
Motivation Funktionale Spezifikation Funktionale Spezifikation textbasierte Spezifikation funktionsorientierte Spezifikation weit verbreitet in Automotive Domäne weit verbreitet in Automotive Domäne (in Experiment) Struktur: Auszug aus IEEE 1 1 IEEE Recommended Practice for Software Requirements Specifications
Motivation
Motivation Funktionale Funktionale Spezifikation Spezifikation textbasierte funktionsorientierte Spezifikation Spezifikation weit weit verbreitet verbreitet in Automotive in Automotive Domäne Domäne Struktur (in Experiment) Auszug aus Struktur: IEEE 1 Auszug aus IEEE 1 Use Case Spezifikation (Jacobsen, 1992 2 ) szenariobasierte Spezifikation weit verbreitet für Informationssysteme auch Einsatz in Automotive Domäne 1 IEEE Recommended Practice for Software Requirements Specifications 2 Jacobson, I. (1992): Object-Oriented Software Engineering: A Use Case Driven Approach: Addison- Wesley Professional.
Motivation
Ziele & Hypothesen Fragestellungen U C Vollständigkeit der Spezifikation # Ziele # Informationselemente v s F S Akzeptanz??
Planung Teilnehmer: 11 Studenten aus RE Vorlesung Ablauf: Vor dem Experiment Einführung in Vorlesung / Übung Vorbereitung Materialien Experiment: Begrüßung / Briefing Einteilung in Gruppen: 6 UC, 5 FS Einführung Beispiel Aufgabenbearbeitung Fragebogen
Informationselemente Mensch Maschine System- Anf. Steuergerät
Informationselemente Mensch Maschine Trigger Komponente Komponente System- Anf. Non-trigger Komponente Komponente Maschine- Mensch Steuergerät
Beispiel Informationselemente After a Door sensor DSi goes from open to close, the ilight and the olight should be turned off (go to inactive), if all doors are now closed. If some doors are still open, the ilight and olight should stay on (active). If this was the last door to be closed, the door state is changed from open to unlocked Mensch-Machine / Machine-Mensch Trigger / Non-trigger Komponenten-Komponenten Interaktionen Systemanforderungen
Datenaufbereitung Verteilung der Daten Nicht normal verteilte Daten Die Verteilungen sind asymmetrisch und unterschiedlich spitz/flach Die Varianzen der beiden Gruppen zeigen signifikante Unterschiede Idee: Verwende einen Permutationstest zur Prüfung der Hypothesen Statistische Unabhängigkeit der Datenpunkte Überprüfe die Ergebnisse an dem von allen Studenten beschriebenen Ziel Überprüfe die Ergebnisse an den im Mittel beschriebenen Elementen
Beschriebene Ziele Vollständigkeit # Ziele # I-Elemente Hypothese 1: Es gibt einen Unterschied bzgl. der Anzahl an beschriebenen Zielen zwischen beiden Gruppen H 0 : (# Ziele) UC H 1 : (# Ziele) UC = (# Ziele) FS (# Ziele) FS Number of described Goals per group Number of described Goals 11 10 9 8 7 6 5 4 3 Use-Case: Sample Size = 5 Median = 5 Mean = 5.4 Functional: Sample Size = 4 Median = 4 Mean = 5.25 Use-Cases beschreiben tendenziell mehr Ziele 2 Functional Group Use-Case
Trigger Komp.-Komp. Vollständigkeit # Ziele # I-Elemente Hypothese 2: Es gibt einen Unterschied bzgl. der Anzahl der Trigger Komponenten-Komponenten Interaktionen zwischen beiden Gruppen H 0 : (# Elemente) UC H 1 : (# Elemente) UC = (# Elemente) FS (# Elemente) FS # trigger Component-Component 5 4 3 2 1 0 Trigger Component-Component Functional Use-Case Group Use-Case: Sample Size = 27 Median = 1 Mean = 1.5 Functional: Sample Size = 21 Median = 1 Mean = 1.3 Keine Aussage ist möglich welche Methode mehr Interaktionen zwischen Sensoren & System beschreibt Permutationstest (α =0.05) p = 0.6904
Nicht-trig. Komp.-Komp. Vollständigkeit # Ziele # I-Elemente Hypothese 3: Es gibt einen Unterschied bzgl. der Anzahl der Nicht-trigger Komponenten-Komponenten Interaktionen zwischen beiden Gruppen H 0 : (# Elemente) UC H 1 : (# Elemente) UC = (# Elemente) FS (# Elemente) FS Non-trigger Component-Component # non-trigger Component-Component 12 10 8 6 4 2 0 Functional Use-Case Group Use-Case: Sample Size = 27 Median =8 Mean = 7.5 Functional: Sample Size = 21 Median = 5 Mean = 5 Use-Cases beschreiben signifikant mehr Interaktionen zwischen System & Aktuatoren Permutationstest (α =0.05) p = 0,004
Schnittstellen Vollständigkeit # Ziele # I-Elemente Hypothese 4: Es gibt einen Unterschied bzgl. der Anzahl der beschriebenen Schnittstellen zwischen beiden Gruppen H 0 : (# Elemente) UC H 1 : (# Elemente) UC = (# Elemente) FS (# Elemente) FS Identified Interfaces # Described Interfaces per Person 22,5 20,0 17,5 15,0 12,5 10,0 7,5 Use-Case: Sample Size = 5 Median = 20 Mean = 19 Functional: Sample Size = 4 Median = 15 Mean = 14.75 Use-Cases beschreiben tendenziell mehr Schnittstellen 5,0 Functional Use-Case
Verhalten Vollständigkeit # Ziele # I-Elemente Hypothese 5: Es gibt einen Unterschied bzgl. der Anzahl der Informationen zum Systemverhalten zwischen beiden Gruppen H 0 : (# Elemente) UC H 1 : (# Elemente) UC = (# Elemente) FS (# Elemente) FS 5 4 3 Behavioral Information elements Group Functional Use-Case Sample Size: Use-Case = 27 Functional = 21 Use-Cases beschreiben signifikant mehr Verhalten 2 1 0 IF- conditions Use-Case: Mean=1.5 / Median= 1 Functional: Mean=0.4 / Median= 0 State transitions Use-Case: Mean=1.1/Median= 1 Functional: Mean=0.8/Median= 1 Exceptions Use-Case: Mean=0.4 / Median= 0 Functional: Mean=0.0 / Median= 0 Permutationstest (α =0.05) IF-Conditions p < 0.001 State Transitions p = 0.206 Exceptions p = 0.0055
Technologie Akzeptanz Akzeptanz # Usefulness # Attitude towards Using Hypothese 6: Es gibt einen Unterschied bzgl. der Einschätzung der Nützlichkeit und Einstellung zur Nutzung der Methode zwischen beiden Gruppen H 0 : (Akzeptanz) UC H 1 : (Akzeptanz) UC = (Akzeptanz) FS (Akzeptanz) FS
Technologie Akzeptanz Akzeptanz # Usefulness # Attitude towards Using Hypothese 6: Es gibt einen Unterschied bzgl. der Einschätzung der Nützlichkeit und Einstellung zur Nutzung der Methode zwischen beiden Gruppen H 0 : (Akzeptanz) UC H 1 : (Akzeptanz) UC = (Akzeptanz) FS (Akzeptanz) FS Usefulness and Attitude towards Use Strongly agree Agree Group Function oriented Use-Case Rather agree Rather disagree Funktional scheint Teilnehmern nützlicher Disagree Strongly disagree Usefulness Functional: Use-Case: - Sample Size: 3 - Sample Size: 5 - Median:4.2 - Median:3.9 - Mean:4.2 - Mean:3.8 Attitude towards Use Functional: - Sample Size: 4 - Median:4.8 - Mean:4.9 Use-Case: - Sample Size: 5 - Median:5 - Mean:4.7 Bereitschaft Ansatz zu nutzen ist gleich
Validität Instrumentierung: Unterschiedliche Beispiele (Use-Case: Mensch-Machine, Funktional: Maschine-Mensch Interaktionen) Mortalität: Student 7 hat nur 30 Min. im Experiment. Er entwickelte 2 Use-Case Beschreibungen in dieser Zeit (Gruppendurchschnitt =5.4) Interaktion von Auswahl/Treatment: Verwendung von Studenten statt Experten Voraussetzung der statistischen Tests: Unabhängigkeit der Daten Heterogenität der Teilnehmer: Unterschiedlich erfahrene Studenten
Zusammenfassung Methodenvergleich Vergleich des Use-Case und Funktionalen Ansatzes Vollständigkeit Erweiterung des Ziel-basierten Ansatzes zur Vollständigkeitsmessung durch einen modellbasierten Ansatz zur Bewertung der inhaltlichen Vollständigkeit Ergebnis: Use-Case Ansatz liefert tendenziell vollständigere Beschreibung der Ziele vollständigere Beschreibungen der Nicht-trigger Komp.-Komp. Interaktionen vollständigere Beschreibungen des Systemverhaltens Akzeptanz Studenten halten beide Ansätze für eher nützlich und sind bereit sie in der Zukunft zu nutzen
Diskussion Baudy (link)
Backup