Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Requirements Engineering

Ähnliche Präsentationen


Präsentation zum Thema: "Requirements Engineering"—  Präsentation transkript:

1 Requirements Engineering
Universität zu Köln Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. phil. Manfred Thaller Simone Kollmann Christian Weitz

2 Buch Systematisches Requirements Engineering Christof Ebert:
Anforderungen ermitteln, spezifieren, analysieren und verwalten 2010³, dpunkt.verlag

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

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

5 Arten von Anforderungen (Ebert 2010, 28)
Grafik S.28

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

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

8 Standards und Normen (Ebert 2010, 41)
Grafik S. 41

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

10 Methodik des Requirements Engineerings (Ebert 2010, 54)
Grafik S. 54

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

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

13 Vorgehensmodell 2. Entwicklung = Umsetzung der Anforderungen
Grafik S. 60

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.

15 Vorgehensmodell 3. Markteintritt
Akzeptanz eines Produkts variiert in ihrem Zeitpunkt und in ihrer Dauer abhängig von Externen Einflüssen

16 Vorgehensmodell 4. Evolution/ Wartungsphase
Beginnt mit Ende der Entwicklung oder mit Markteinführung Zwei Änderungsarten am existierenden Produkt: Fehlerkorrekturen und Erweiterungen

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.

18 Umgang mit Interessensvertretern (Ebert 2010, 86)
Identifizieren von Interessensvertretern Beziehungen der Interessensvertreter zum Projekt und untereinander feststellen Beziehungen zwischen Interessensvertretern ausarbeiten, irrelevante Gruppen ausklammern Mögliche Konfliktpotentiale analysieren Win-Win-Möglichkeiten für Schlüsselpersonen entwickeln An Realisierung der Win-Win-Möglichkeiten arbeiten Relevante Perspektiven der Interessensvertreter zur Anforderungsentwicklung feststellen Bild der Interessenssphären vervollständigen

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?

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

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?

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.

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

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

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

26 Qualitätsanforderungen: ISO/IEC 9126 (Ebert 2010, 139ff)
Funktionalität Zuverlässigkeit Benutzbarkeit Effizienz Änderbarkeit Portierbarkeit

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

28 Vielen Dank!

29 Anforderungsanalyse und -verbesserung (Ebert 2010, 185ff)
Sind Anforderungen eindeutig beschrieben? Wie müssen sie ggf. abgeändert werden? → Projekt in Modellen beschreiben

30 Methoden der Anforderungsanalyse (Ebert 2010, 194ff)

31 Kontextanalyse (Ebert 2010, 199f)
Systemabgrenzung Schnittstellen erkennen Ggf. Teilsysteme definieren

32 Glossar (Ebert 2010, 207f) Beschreibt die im Projekt verwendeten Begriffe Hilft dabei, Missverständnisse zu vermeiden

33 Use Cases / Anwendungsfälle (Ebert 2010, 200ff)
Modellierung wichtiger funktionaler Szenarien Deckt grundlegende Unklarheiten und logische Widersprüche auf

34 Funktionale Dekomposition
Beschreibt Systemkomponenten Erster Schritt um Teilprojekte zu identifizieren Ggf. mit Folie 8 vereinigen

35 Funktionale Dekomposition (Ebert 2010, 202)

36 Zustandsübergangsmodell (Ebert 2010, 204f)

37 Zustandsübergangsmodell
Formalisierbar Erkennen von Blockaden Ausschluss kritischer Zustände Grafik hinzufügen

38 CRC-Karten, UML-Klassendiagramm (Ebert 2010, 208ff)
Class Responsibility Collaboration Unified Modeling Language Nähe zur Implementationsebene

39 CRC-Karten, UML-Klassendiagramm

40 Risikomanagement (Ebert 2010, 220ff)
Erweiterbarkeit / Modularität Striktes und systematisches Änderungsmanagement Priorisieren von Anforderungen Zwei Prioritäten: hoch und niedrig Verhältnis 75% zu 25% für (Zeit-)Budget i.e. Änderungen und neue Anforderungen folgen dem gleichen Prozess (Ermittlung, Analyse, Spezifikation, Nachverfolgung etc.)

41 Qualitätskriterien von Anforderungen (Ebert 2010, 235ff)
Eindeutigkeit Realisierbarkeit Konsistenz Prüfbarkeit Relevanz/Geschäftsnutzen 1. Nicht ambig. Offene Punkte als solche gekennzeichnet. 2. Realisierbar. Aufwand ist abgeschätzt und vereinbahrt. 3. Inhalt, Abstraktionsgrad, Beschreibung konsistent mit anderen A. 4. Testbar. Begrenzte Zahl Testfälle. 5.

42 Qualitätsverbesserung von Anforderungen (Ebert 2010, 240ff)
Standards und Vorlagen Reviews und Inspektionen Missbrauchsszenarien Linguistische Analyse Benutzerdokumentation

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 Monate

44 Aufwandschätzung (Ebert 2010, 213ff)
Geld Zeit Produktivität Umfang SlimControl KnowledgePlan

45 Werkzeugunterstützung (Ebert 2010, 319ff)
OSRMT DOORS eASEE IRqA MKS Integrity Reqtify RequisitePro RMTrak TruereqPLM

46 Requirements Engineering (Ebert 2010, 351ff)
~10% des Projektaufwands Kein Selbstzweck Planungsphase kleiner als 50% Projektdauer 1. nötig, um nicht zu viele Risiken einzugehen. 2. Es kann auch zu viel geplant werden. Diagramme zu erstellen allein verwirklicht kein Projekt. 3. Daher nicht mehr als 50% für die Planungsphase aufwenden.

47 Vielen Dank!


Herunterladen ppt "Requirements Engineering"

Ähnliche Präsentationen


Google-Anzeigen