Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred...

47
REQUIREMENTS ENGINEERING Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann ([email protected]) Christian Weitz ([email protected]

Transcript of Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred...

Page 1: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

REQUIREMENTS ENGINEERING

Universität zu KölnProjektplanung für Softwareprojekte: KLIPS 2.0Prof. Dr. phil. Manfred Thaller

Simone Kollmann ([email protected])Christian Weitz ([email protected])

Page 2: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

2

Buch

Christof Ebert:

Systematisches Requirements Engineering

Anforderungen ermitteln, spezifieren, analysieren und verwalten

2010³, dpunkt.verlag

Page 3: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

3

Was ist eine Anforderung?(Ebert 2010, 21)

Eigenschaft oder Bedingung, die zur Erreichung eines Ziels benötigt wird

Eigenschaft oder Bedingung, die ein System erfüllen muss, um einen Vertrag, eine Norm, oder eine Spezifikation zu erfüllen

Dokumentierte Repräsentation einer Eigenschaft oder Bedingung

Eine Anforderung ist keine Lösung

Page 4: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

4

Sichten auf Anforderungen(Ebert 2010, 24ff)

Marktanforderungen = Anforderungen aus Sicht des Kunden

Produktanforderungen = Anforderungen aus Sicht der Realisierung einer späteren Lösung

Komponentenanforderung = Anforderung an eine Komponente eines Produkts

Page 5: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

5

Arten von Anforderungen(Ebert 2010, 28)

Funktionale Anforderung

Qualitäts-anforderung

Benutzersicht Benutzerschnittstelle Anwendungsfälle Dienstleistungen

Entwicklungssicht Architektur Lastbalancierung Stromversorgung

Benutzersicht Performanz Sicherheit Benutzbarkeit

Entwicklungssicht Testbarkeit Wartbarkeit Portierbarkeit

Randbedingung Kosten Marketing Durchlaufzeit Vertrieb und

Verteilung Organisation Dokumentation

Anforderungen

Page 6: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

6

Was ist Requirements Engineering? (Ebert 2010, 33ff)

Systematisches Vorgehen zur Ermittlung, Spezifikation, Analyse, Vereinbarung, Validierung und Verwaltung von Anforderungen

Kerndisziplin der Ingenieurwissenschaften

Nicht auf Beginn der Entwicklungsphase beschränkt, sondern begleitet den Entwicklungsprozess

Page 7: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

7

Ziel und Zweck von RE(Ebert 2010, 33)

Ziel: Qualitativ gute – nicht perfekte – Anforderungen zu generieren, die es erlauben, das Projekt mit einem akzeptablen Risiko zu beginnen

Zweck: Einverständnis zwischen dem Kunden und dem Softwareprojekt über jene Anforderungen zu erreichen, die durch das Projekt abgedeckt werden

Page 8: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

8

Standards und Normen(Ebert 2010, 41)

Page 9: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

9

Herausforderungen im Requirements Engineering(Ebert 2010, 52)

Zeitraum bis zur Nutzbarkeit der Software Zeitraum bis zum wirtschaftlichen Nutzen

der Software Produktqualität der erstellten Software Umsetzungskosten der Anforderungen in der

Entwicklung Kosten der Anforderungen über den

gesamten Produklebenszyklus Anpassbarkeit der Software an neue

Herausforderungen

Page 10: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

10

Methodik des Requirements Engineerings(Ebert 2010, 54)

Ermittlung

Spezifikation Validierung

VereinbarungAnalyse

Verwaltung

Einflüsse,Aufwand,Risiko

PrioritätenZeitpunkteStatus

Markt-,Produkt-

Anforderungen,Modelle

Marktan-forderungen

Abhängigkeiten StatusKomponenten-AnforderungenSpezifikationen,Testfälle

Proj

ekt,

Prod

ukt

Bedü

rfni

sse,

Vis

ion,

Eins

chrä

nkun

gen

Page 11: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

11

Produktlebenszyklus(Ebert 2010, 58ff)

Beschreibt alle wichtigen Aktivitäten oder Prozessschritte, um ein Produkt zu definieren, zu entwickeln, zu produzieren, zu betreiben, zu pflegen, zu warten, zu erweitern und schließlich zu beenden.

Wird in Phasen aufgeteilt, die durch Meilensteine getrennt werden

Eine neue Phase kann erst begonnen werden, wenn die vorhergehende beendet ist

Lebenszyklus setzt keine bestimmte Abfolge der Phasen voraus

Page 12: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

12

Vorgehensmodell(Ebert 2010, 56ff)

1. Strategie und Konzeption

= „Upstream“-Phase, bevor das Projekt begonnen wird

Inhalte, Ziele und Meilensteine werden vereinbart

Business-Case wird vereinbart Wichtig: gesamten weiteren Zyklus

beachten

Page 13: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

13

Vorgehensmodell2. Entwicklung

= Umsetzung der Anforderungen

Implementierungund Verifikation

Systemanalyse

System- undSoftwareentwurf

Anforderungs-ermittlung

Integrationstest

Systemtest

Freigabetest,Abnahme

Anforderungen,Lastenheft

Systemmodell,Pflichtenheft

Architektur,Entwurf

System in Produktion

System inEntwicklung

Legende:

Xxx EntwicklungsphaseÜberlappungen und Iterationen sind möglich

Yyy Entwicklungsergebnis

Bedürfnisse Lösung

Page 14: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

14

Vorgehensmodell

So viel Prozess wie nötig, um die Geschäftsziele anhaltend zu erreichen, und so wenig Prozess wie möglich, um Flexibilität, Kreativität und Innovationskraft nicht einzuschränken.

Page 15: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

15

Vorgehensmodell

3. Markteintritt

  Akzeptanz eines Produkts variiert in

ihrem Zeitpunkt und in ihrer Dauer abhängig von Externen Einflüssen

Page 16: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

16

Vorgehensmodell

4. Evolution/ Wartungsphase

Beginnt mit Ende der Entwicklung oder mit Markteinführung

Zwei Änderungsarten am existierenden Produkt: Fehlerkorrekturen und Erweiterungen

Page 17: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

17

Interessensvertreter im RE(Ebert 2010, 90ff)

Auftraggeber/ Kunde: erwartet eine Lösung innerhalb bestimmter Rahmenbedingungen

Benutzer: benutzen oder betreiben das System Projektmanager: sorgt dafür, dass

Anforderungen, Zeitdauer und Aufwand mit den vorhandenen Ressourcen korrespondieren

Produktmanager: verantwortlich über den gesamten Produktlebenszyklus, verantwortet den Business-Case eines Produkts.

Page 18: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

18

Umgang mit Interessensvertretern(Ebert 2010, 86)

1. Identifizieren von Interessensvertretern

2. Beziehungen der Interessensvertreter zum Projekt und untereinander feststellen

3. Beziehungen zwischen Interessensvertretern ausarbeiten, irrelevante Gruppen ausklammern

4. Mögliche Konfliktpotentiale analysieren

5. Win-Win-Möglichkeiten für Schlüsselpersonen entwickeln

6. An Realisierung der Win-Win-Möglichkeiten arbeiten

7. Relevante Perspektiven der Interessensvertreter zur Anforderungsentwicklung feststellen

8. Bild der Interessenssphären vervollständigen

Page 19: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

19

Anforderungen ermitteln(Ebert 2010, 125ff)

Produktvision Was wird das Produkt verändern? Warum ist das Produkt für die Kunden nötig? Welche Erfahrung soll der Kunde damit

machen? Wer wird durch das Produkt profitieren? Wie? Wie wird durch das Produkt Geld verdient? Welche Kosten und Risiken sind wir bereit zu

tragen?

Page 20: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

20

Anforderungen ermitteln

Einflüsse auf Produktvisionen Kunden Strategie Wettbewerb Produkte Technologien Verfügbare Ressourcen als Restriktion

Page 21: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

21

Anforderungen ermitteln

Schlüsselfrage an Produktvision Was wird bei den Kunden oder

Benutzern oder in meinem eigenen Unternehmen anders sein, wenn das Projekt ausgeführt ist?

Page 22: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

22

Techniken zur Entwicklung der Anforderungen(Ebert 2010, 131ff)

1. Schritt: Mögliche Anforderungen erfassen = Verstehen von Kundenbedürfnissen, Märkten, Wettbewerben und Technologien

2. Schritt: Vision und Umfang festlegen = Abklären, was der Kunde möchte und braucht und was man selbst zur Realisierung braucht.

Page 23: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

23

Techniken zur Entwicklung der Anforderungen

3. Schritt: Unbekannte Anforderungen und Randbedingungen identifizieren → schwierig zu ermitteln

4. Schritt: Methodische Vervollständigung der Anforderungen

durch Erarbeiten einer Liste mit potentiellen Funktionen

Page 24: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

24

Techniken zur Entwicklung der Anforderungen

5.Schritt: Erste Analyse der Anforderungen, um Zusammenhänge und Einschränkungen zu verstehen.

→ bezieht sich sowohl auf Produktmanagement, als auch auf technische Ebene

Page 25: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

25

Techniken zur Entwicklung der Anforderungen 6. Schritt Priorisierung der Anforderungen

→ wirtschaftliche Entscheidung 7. Schritt: Entscheidung für die

getroffenen Annahmen, akzeptierte Randbedingungen, Einschränkungen und Prioritäten

→ Festlegungen müssen in Form einer Vereinbarung dokumentiert werden

→ werden zum Bestandteil der Anforderungen

Page 26: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

26

Qualitätsanforderungen: ISO/IEC 9126(Ebert 2010, 139ff)

Funktionalität Zuverlässigkeit Benutzbarkeit Effizienz Änderbarkeit Portierbarkeit

Page 27: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

27

Anforderungen spezifizieren (Ebert 2010, 154ff)

Anforderungen strukturieren, dokumentieren und in Zusammenhang bringen durch:

  Klare und konsistente Spezifikation Vorlagen und Templates Strukturierung Verwenden von Attributen

Page 28: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

28

Vielen Dank!

Page 29: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

29

Anforderungsanalyse und -verbesserung(Ebert 2010, 185ff)

Sind Anforderungen eindeutig beschrieben?

Wie müssen sie ggf. abgeändert werden?

→ Projekt in Modellen beschreiben

Page 30: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

30

Methoden der Anforderungsanalyse(Ebert 2010, 194ff)

Page 31: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

31

Kontextanalyse(Ebert 2010, 199f)

Systemabgrenzung Schnittstellen erkennen Ggf. Teilsysteme definieren

AufzugBenutzer Service-techniker

Page 32: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

32

Glossar (Ebert 2010, 207f)

Beschreibt die im Projekt verwendeten Begriffe

Hilft dabei, Missverständnisse zu vermeiden

Page 33: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

33

Use Cases / Anwendungsfälle (Ebert 2010, 200ff)

Modellierung wichtiger funktionaler Szenarien

Deckt grundlegende Unklarheiten und logische Widersprüche auf

Page 34: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

34

Funktionale Dekomposition Beschreibt Systemkomponenten Erster Schritt um Teilprojekte zu

identifizieren

Page 35: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

35

Funktionale Dekomposition (Ebert 2010, 202)

Aufzug

Sensorik Aktorik Kabinen-Controller Alarm- undFehlerdetektion

Hardware Software

Tür-Controller

LichtschrankeTür

Rauchsensor

Stockwerkskonsole

Geschwindigkeits-messer

Kabinenmotor

Türmotor

Verwaltung offenerFahranforderungen

Fahrzielverwaltung

Motorsteuerung

Feuermelder

Page 36: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

36

Zustandsübergangsmodell(Ebert 2010, 204f)

Fahr-anforderung

BewegeKabine

aufwärts

BewegeKabine

abwärts

FeueralarmFeueralarmquittiert

Feueralarm

Feueralarm

Stockwerkerreicht

Fahranforderungoben

Fahranforderungunten

Stockwerkerreicht

Page 37: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

37

Zustandsübergangsmodell

Formalisierbar Erkennen von Blockaden Ausschluss kritischer Zustände

Page 38: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

38

CRC-Karten,UML-Klassendiagramm(Ebert 2010, 208ff)

Class Responsibility Collaboration Unified Modeling Language Nähe zur Implementationsebene

Page 39: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

39

CRC-Karten,UML-Klassendiagramm

ClassAufzugskabine

Responsibilities Fahre Kabine nach oben Fahre Kabine nach unten Kabine auf nächstem Stockwerk anhalten Nothalt im Alarmfall …

Collaboration Rauchmelder Aufzugskonsole ...

+FahreAufwärts()+FahreAbwärts()+Stop()+Nothalt()

-Betriebszustand : int

Aufzugskabine -Alarm : bool

Rauchmelder

-Stockwerk : int

Aufzugskonsole

1

1

1

1

Page 40: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

40

Risikomanagement(Ebert 2010, 220ff)

Erweiterbarkeit / Modularität Striktes und systematisches

Änderungsmanagement Priorisieren von Anforderungen

Zwei Prioritäten: hoch und niedrigVerhältnis 75% zu 25% für (Zeit-)Budget

Page 41: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

41

Qualitätskriterien von Anforderungen(Ebert 2010, 235ff)

Eindeutigkeit Realisierbarkeit Konsistenz Prüfbarkeit Relevanz/Geschäftsnutzen

Page 42: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

42

Qualitätsverbesserung von Anforderungen(Ebert 2010, 240ff)

Standards und Vorlagen Reviews und Inspektionen Missbrauchsszenarien Linguistische Analyse Benutzerdokumentation

Page 43: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

43

Änderungsmanagement(Ebert 2010, 285ff)

Anforderungen ändern sich Unklarheiten in Anforderungen Falsche Annahmen und Unsicherheiten Sich ändernde Kundenanforderungen

oder Marktbedürfnisse Projekte nicht länger als 12-18 Monate

Page 44: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

44

Aufwandschätzung(Ebert 2010, 213ff)

Geld Zeit Produktivität Umfang

SlimControl KnowledgePlan

Page 45: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

45

Werkzeugunterstützung(Ebert 2010, 319ff)

OSRMT DOORS eASEE IRqA MKS Integrity Reqtify RequisitePro RMTrak TruereqPLM

Page 46: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

46

Requirements Engineering(Ebert 2010, 351ff)

~10% des Projektaufwands Kein Selbstzweck Planungsphase kleiner als 50%

Projektdauer

Page 47: Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann (s.m.kollmann@gmx.de) Christian Weitz.

47

Vielen Dank!