Eine kleine prak+sche Philosophie über das
Requirements Engineering
„Was ist das überhaupt, eine Anforderungsspezifika+on?“
Kim Lauenroth
Philosophie Liebe zur Weisheit
Philosophie und Informa5k?
public int methode1(int f) { int f1=1, f2=1; for (int i=0; i < f-2; i++) { int temp = f1; f1 = f1+f2; f2 = temp } return f1;
}
public int methode2(int f) { if ((f==1) || (f==2)) return 1; else return methode2(f-1) + methode2(f-2);
}
…aber Requirements Engineering?
Was ist eine Anforderungs-‐ spezifika5on?
Was ist eine Anforderungs-‐ spezifika5on?
System
Stakeholder
An was?
Wer?
Zweck?
Problem
Lösung
Warum?
Anforderung Wann?
für
Problem Lösung Anforderung
Fahrer vor zu geringem ReifenluH-‐ druck warnen
Reifen-‐ druck-‐
messung
Auswertung von ESP-‐
Daten
Der Sensor soll den Druck im Bereich zwischen 0 und 5 Bar mit einer Genauigkeit von +/-‐x% messen.
Der Reifendruck soll alle y Sekunden gemessen werden.
Das ESP-‐System soll kon5nuierlich die Reifendrehzahl aller vier Räder überwachen.
Zu geringer Reifendruck liegt vor, wenn über einen Zeitraum von y Sekunden eine Abweichen in der Drehzahl eines Reifens von z% vorliegt.
Die Reifendrehzahl soll mit einer Genauigkeit von +/-‐x% gemessen werden.
Zu geringer Reifendruck liegt vor, wenn der gemessene Druck unter den Grenzwert z sinkt.
drei verbundene Denkkategorien ...
Problem: Was ein Stakeholder erreichen will Anforderung: EigenschaUen zur Lösung eines Problems Lösung: System, welches ein Problem löst
PAL
„Das System soll dem Fahrer kon5nuierlich den Druck auf allen vier Reifen anzeigen, damit der Fahrer sofort einen zu geringen Reifendruck erkennen kann.“
Problem Anforderung Lösung
„Das System soll dem Fahrer kon5nuierlich den Druck auf allen vier Reifen anzeigen, damit der Fahrer sofort einen zu geringen Reifendruck erkennen kann.“
Problem Anforderung Lösung
„Das System soll dem Fahrer kon5nuierlich den Druck auf allen vier Reifen anzeigen, damit der Fahrer sofort einen zu geringen Reifendruck erkennen kann.“
Problem Anforderung Lösung
„Das System soll dem Fahrer kon-nuierlich den Druck auf allen vier Reifen anzeigen, damit der Fahrer sofort einen zu geringen Reifendruck erkennen kann.“
Problem Anforderung Lösung
PAL
PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL
PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL
PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL PAL
PAL
Problem, Anforderung, Lösung -‐ Eine selbstreferen5elle Struktur -‐
Gibt es einen Anfang …
...........
„Wenn sie dies lesen können, brauchen Sie keine Brille“
„Konkurrent vom Markt verdrängen“
„Konkurrenzfähig bleiben“
„Profit steigern“
„Mehr Autos verkaufen“
„Kundena[rak5vität verbessern“
„KraUstoffverbrauch reduzieren“
„Warnung vor geringem Reifendruck“
… und ein Ende?
Problem oder Lösung?
int mult(int a, int b) { return a*b; }
0 1 2 3 4 5
0 0 0 0 0 0 0
1 0 1 2 3 4 5
2 0 2 4 6 8 10
3 0 3 6 9 12 15
4 0 4 8 12 16 20
5 0 5 10 15 20 25
int mult(int a, int b) { int result=b; for (int i=1; i<a; i++) result = result + b return result; }
…so what?
APIs, Bibliotheken Hochsprachen
CPUs, RAM Register true, false +5 Volt, -‐5 Volt
Compiler
Betriebssystem Maschinensprachen
Abstrak+on
Entscheidung
Architekturen als Strukturierung für PAL
APIs, Bibliotheken Hochsprachen
Mensch (Design Pa^erns,
Frameworks, MDA)
Fachliche Architektur Funk+onale Architektur Technische Architektur
CPUs, RAM Register true, false +5 Volt, -‐5 Volt
Compiler
Betriebssystem Maschinensprachen
zurück zum Requirements Engineering
Problem
Anforderung
Lösung
Kontrolle!?
Gedankenexperiment …
Gießkanne?
Gießkanne?
Gießkanne!
Zusammenfassung …
Eine kleine prak+sche Philosophie über das
Requirements Engineering
„Was ist das überhaupt, eine Anforderungsspezifika+on?“
Kim Lauenroth
Vielen Dank für Ihre Aufmerksamkeit!
Bildnachweis Folie 1-‐3, 5 & 42: ©iStockphoto.com/Brigida_Soriano (14696510) Folie 9: ©iStockphoto.com/1MoreCrea5ve (15251741) Folie 15: ©iStockphoto.com/Sashkinw (15994667) Folie 24, 26 & 28: ©office.microsoU.com ( MP900438811) Folie 29 & 33: ©office.microsoU.com (MP900443152) Folie 30: ©office.microsoU.com (MP900400492) Folie 31: ©office.microsoU.com (MP900433044) Folie 32: ©iStockphoto.com/Sage78 (5437267 Folie 36: ©iStockphoto.com/JamesBrey (11451754) Folie 38-‐40: Fotos mit freundlicher Genehmigung von Tim Jonischkat Folie 41: ©iStockphoto.com/jerryhat (2257834)