Eingebettete Systeme
Qualität und Produktivität
Prof. Dr. Holger Schlingloff
Institut für Informatik der Humboldt Universität
und
Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
28.4.2009
3. Anforderungsanalyse
• rigorose Spezifikation der Anforderungen
• Vergleich zum Vorgehen eines Ingenieurs
 Plan auf Papier
 Analyse des Plans
 Bau des Systems
• Software
 informelle Anforderungen
 Implementierung
 Test und Dokumentation
• Das kann‘s nicht sein!
 Wie werden Anforderungen
systematisch erfasst und beschrieben?
 Wie fließen sie in den Entwurf ein?
H. Schlingloff, Eingebettete Systeme
W. Pohl, Requirements Engineering:
Grundlagen, Prinzipien, Techniken.
Springer 2007
28.4.2009
Folie 2
Anforderungsartefakte
• Pohl klassifiziert drei Arten von Artefakten:
Ziele
Szenarien
Lösungsorientierte Anforderungen
(Strategien)
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 3
Ziele
• Def.: (Pohl) Ein Ziel ist die intentionale Beschreibung eines
charakteristischen Merkmals des zu entwickelnden Systems
bzw. des zugehörigen Entwicklungsprozesses.
• Ziele
verfeinern die Vision der Vorstudie
berücksichtigen die Belange der „Stakeholders“
helfen, Konflikte aufzuzeigen und aufzulösen
leiten die Gewinnung weiterer Anforderungen durch Verfeinerung an
dienen zur Begründung von nachfolgenden Szenarien und Strategien
und helfen, irrelevante Anforderungen zu identifizieren
 können zur Identifikation und Bewertung von Lösungsalternativen
herangezogen werden





H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 4
Die sieben Regeln zur Formulierung von Zielen
1.
2.
3.
4.
5.
6.
7.
Formulieren Sie die Ziele kurz und prägnant! 1.
2.
Verwenden Sie Aktivformulierungen!
3.
4.
Formulieren Sie überprüfbare Ziele!
5.
Verfeinern Sie nicht überprüfbare Ziele!
6.
7.
Stellen Sie den Mehrwert eines Ziels dar!
Geben Sie eine Begründung für das Ziel an!
Formulieren Sie deklarativ, d.h. vermeiden Sie
die Beschreibung von Lösungsansätzen!
H. Schlingloff, Eingebettete Systeme
28.4.2009
Prägnant
Aktiv
Überprüfbar
Verfeinerbar
Wertschöpfend
Begründbar
Deklarativ
Folie 5
Prägnante Ziele
• Schlecht: Das geplante System soll sowohl von Experten 1.
als auch von unerfahrenen Personen (Nutzerinnen und
Nutzern) benutzbar sein. Unerfahrene User sollen auch
ohne große Vorkenntnisse der Bedienerführung oder des
Vorgängersystems die vorgesehene Systemfunktionalität
nutzen können. Zur Benutzung des Systems sollen die
Anwender also keinerlei Schulungen oder spezielle
Hilfestellungen benötigen. Der Umgang mit dem System
muss daher leicht verständlich sein und ohne große
Erfahrung mit dem Vorgängersystem oder
vergleichbaren Systemen erfolgen können.
2.
3.
4.
5.
6.
7.
Prägnant
Aktiv
Überprüfbar
Verfeinerbar
Wertschöpfend
Begründbar
Deklarativ
• Besser: Ein unerfahrener Benutzer soll das
System ohne spezielle Schulung verwenden
können
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 6
Aktive Formulierungen
• Schlecht: Die Dauer für die Erfassung und
Verarbeitung der Messdaten soll halbiert
werden.
Dadurch soll die Wartezeit bis zum Vorliegen
von Ergebnissen verkürzt werden.
1.
2.
3.
4.
5.
6.
7.
Prägnant
Aktiv
Überprüfbar
Verfeinerbar
Wertschöpfend
Begründbar
Deklarativ
• Besser: Das System erfasst und verarbeitet
die Messdaten im Vergleich zum System xy
doppelt so schnell. Dadurch muss der Nutzer
kürzer auf das Vorliegen von Ergebnissen
warten
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 7
Überprüfbare, quantitative Ziele
• Schlecht: Das System soll besser
sein als das Vorgängersystem.
1.
2.
3.
4.
5.
6.
7.
Prägnant
Aktiv
Überprüfbar
Verfeinerbar
Wertschöpfend
Begründbar
Deklarativ
• Besser: Das System soll folgende
Verbesserungen gegenüber dem System xy
bieten:
…
…
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 8
Verfeinerung von Zielen
• Schlecht: Die Benutzung des
Systems soll selbsterklärend sein
1.
2.
3.
4.
5.
6.
7.
Prägnant
Aktiv
Überprüfbar
Verfeinerbar
Wertschöpfend
Begründbar
Deklarativ
• Besser: Das System soll selbsterklärend sein, d.h. ein
•
durchschnittlicher Nutzer soll durchschnittlich nach 2
Min. folgende Funktionen aufrufen können: …
Das System soll selbsterklärend sein, d.h. den
Vorgaben nach W3C… in Bezug auf … folgen
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 9
Mehrwertbildung
• Schlecht: Das System soll leicht
benutzbar sein.
1.
2.
3.
4.
5.
6.
7.
Prägnant
Aktiv
Überprüfbar
Verfeinerbar
Wertschöpfend
Begründbar
Deklarativ
• Besser: Das System soll … so dass sich die
Nutzer auf andere Aufgaben konzentrieren
können
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 10
Nachvollziehbare Begründungen
• Schlecht: Das System soll auch von
ungeschulten Benutzern intuitiv
benutzbar sein.
1.
2.
3.
4.
5.
6.
7.
Prägnant
Aktiv
Überprüfbar
Verfeinerbar
Wertschöpfend
Begründbar
Deklarativ
• Besser: … weil es auch in Mietfahrzeugen
einsetzbar sein soll
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 11
keine Lösungsvorwegnahme
• Schlecht: Durch komprimierte
Datenübertragung im Cache soll
das geplante System um 10%
kürzere Antwortzeiten aufweisen
1.
2.
3.
4.
5.
6.
7.
Prägnant
Aktiv
Überprüfbar
Verfeinerbar
Wertschöpfend
Begründbar
Deklarativ
• Besser: Das System soll um 10% kürzere
Antwortzeiten aufweisen als System xy.
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 12
Schablone zur Formulierung von Zielen
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 13
Dekomposition von Zielen
• Und-Oder-Bäume
 vgl. Fehlerbaumanalyse (später)
Komfortable und schnelle
Navigation zum Zielort
Umgehung von
Verkehrsbehinderungen
Manuelle Eingabe von
Störungen in Straßen
H. Schlingloff, Eingebettete Systeme
Komfortable
Zieleingabe
Automatische
Navigation zum Zielort
Selbständige
Aktualisierung von
Verkehrsdaten
28.4.2009
Folie 14
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 15
Szenarien
• Def.: (Pohl) Ein Szenario beschreibt ein konkretes Beispiel für
die Erfüllung bzw. Nichterfüllung eines oder mehrerer Ziele.
Es konkretisiert dadurch eines oder mehrere Ziele. Ein
Szenario enthält typischerweise eine Folge von
Interaktionsschritten und setzt diese in Bezug zum
Systemkontext.
• Szenarientypen




Positive, negative, und Missbrauchsszenarien
Deskriptive, explorative, oder erklärende Szenarien
Systeminterne, Interaktive, Kontextszenarien
Haupt-, Alternativ- und Ausnahmeszenarien
• Anwendungsfälle (Use Cases) gruppieren Szenarien
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 16
Beispiel „automatisches Bremsmanöver“
• (nach Pohl) Der Fahrer fährt mit konstanter Geschwindigkeit
auf der Autobahn. Das vorausfahrende Fahrzeug bremst
scharf. Der Fahrer tritt auf das Bremspedal. Das System
erkennt eine Unterschreitung des Sicherheitsabstands und
gibt eine Warnung aus. Der Abstand zwischen den
Fahrzeugen verringert sich weiter. Das System leitet eine
automatische Vollbremsung ein und informiert den Fahrer
über den Bremsvorgang. Als der Abstand sich nicht mehr
verringert, beendet das System die automatische
Vollbremsung. Danach stellt es den Mindestabstand zum
vorausfahrenden Fahrzeug wieder her und informiert den
Fahrer über die Rückgabe der Kontrolle.
• Was wird klar, was bleibt unklar?
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 17
Attribute von Szenarien
• Positiv: Wie wird das Ziel erfüllt?
• Negativ: Wie wird das Ziel nicht erfüllt?
• Missbrauchsszenarien: unerwünschte Verwendung
• Deskriptiv: verdeutlicht typische Abläufe
• Explorativ: verdeutlicht Lösungsraum
• Erklärend: verdeutlicht Gründe für Systemverhalten
• Systemintern: Handlungsstränge innerhalb des Systems
• Interaktiv: Handlungsstränge zwischen Akteuren
• Kontextszenarien: weitere Kontextinformationen
• Hauptszenario: wesentlicher Funktionsablauf
• Alternativszenario: partielle Abwandlung eines Hauptszenarios
• Ausnahmeszenario: Reaktion auf Ereignisse, die Hauptszenario
verhindern
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 18
Szenario als strukturierte Folge von Schritten
1.
2.
3.
4.
5.
6.
Der Fahrer schaltet das Navigationssystem ein.
Das System ermittelt den aktuellen Standort des Fahrzeugs.
Das System erfragt den gewünschten Zielort.
Der Fahrer gibt den Zielort in das System ein.
Das System ermittelt den benötigten Fartenausschnitt.
Das System zeigt die Karte des Zielgebietes am Bildschirm
an.
7. Das System erfragt die Optionen für die Routenberechnung.
8. Der Fahrer wählt die Optionen für die Routenberechnung.
9. Das System bestimmt die Wegführung.
10.Das System zeigt eine Erfolgsmeldung am Bildschirm.
11.Das System stellt eine Liste von Wegpunkten zusammen.
12.Das System zeigt den nächsten Wegpunkt der Navigation.
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 19
Tabelle
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 20
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 21
Schablone für Use-Cases
•
•
•
•
•
•
•
•
•
Bezeichner, Name, Autoren, Version, Historie
Priorität, Kritikalität, Quelle, Verantwortlicher
Kurzbeschreibung
Ebene, Ziele, Akteure
Vorbedingung, Nachbedingung, Ergebnisausgaben
Hauptszenario
Alternativszenarien, Ausnahmeszenarien
Qualitätsanforderungen
Querverweise (Inclusionen, Generalisierungen)
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 22
Sequenzdiagramm
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 23
erweitertes
Sequenzdiagramm
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 24
Aktivitätsdiagramm
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 25
Ziele und Szenarien
H. Schlingloff, Eingebettete Systeme
28.4.2009
Folie 26

ppt - Institut für Informatik