Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

39
iks-Thementag: Requirements Engineering 16.11.2010 Anforderungen dokumentieren, validieren und verwalten Autoren Christoph Schmidt-Casdorff Carsten Schädel

description

"Definiere oder Du wist definiert" - ein Satz, der sehr philosophisch klingt. Und auf den Punkt bringt, was Requirements Engineering ausmacht. Wenn in einem Software-Projekt nicht alle Beteiligten dasselbe Verständnis der umzusetzenden Anforderungen haben, wird das Ergebnis stark von den Vorstellungen der Auftraggeber und Anwender abweichen. Gutes Requirements Engineering ist daher ein wichtiger Schlüssel zum Projekterfolg.

Transcript of Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Page 1: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

iks-Thementag: Requirements Engineering

16.11.2010

Anforderungen dokumentieren, validieren

und verwalten

Autoren

Christoph Schmidt-Casdorff

Carsten Schädel

Page 2: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 3 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Agenda

Einleitung

Anforderungen dokumentieren

Anforderungen validieren

Anforderungen verwalten

Fazit

Page 3: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 4 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Agenda

Einleitung

Anforderungen dokumentieren

Anforderungen validieren

Anforderungen verwalten

Fazit

Page 4: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 5 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Einleitung

Viel Inhalt

Wenig fest Vorgegebenes

Überblick über einen „Baukasten“

„Best Practices“

Page 5: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 6 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Agenda

Einleitung

Anforderungen dokumentieren

Anforderungen validieren

Anforderungen verwalten

Fazit

Page 6: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 7 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Dokumentationsart – Natürliche Sprache

Anforderungen werden in Prosa beschrieben

Vorteile

– Stakeholder müssen keine neue Notation lernen

– Alle Arten von Anforderungen sind dokumentierbar

Nachteil

– Anforderungen können mehrdeutig sein

– Vermischung von Perspektiven

Unterstützung durch Satzschablone

– Anforderungen lesen sich u.U. aber nicht mehr so flüssig

Page 7: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 8 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Überblick: Satzschablone der Sophisten

Beispiel: Nachdem das System die Geschäftsdaten gespeichert hat, muss das System dem

Mitarbeiter die Möglichkeit bieten, einen Genehmigungsantrag auf dem Netzwerkdrucker zu

drucken.

Page 8: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 9 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Dokumentationsart – Konzeptuelle Modelle

Anforderungen werden durch Diagramme beschrieben

Vorteile

– Oft kompakter als natürliche Sprache

– Für den geübten Leser leichter verständlich

– Höherer Grad der Eindeutigkeit durch Formalisierung

Nachteile

– Nicht universell einsetzbar

– Nicht alle Anforderungen können durch Modelle beschrieben werden

– Modellierungskenntnisse notwendig

– Spezialisierte Tools werden benötigt

Page 9: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 10 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Dokumentationsart – Mischformen

Beschreibung von Anforderung mittels

– natürlicher Sprache

– konzeptueller Modelle

Nachteile werden durch Vorteile der anderen Dokumentationsart

verringert

– Ergänzung konzeptueller Modelle mit natürlich sprachigen

Kommentaren

– Zusammenfassung natürlich sprachiger Anforderungen durch

Modelle

Page 10: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 11 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Dokumentenstrukturen

Standardisiert

– Vorgabe einer Grobstruktur

– Einfachere Einarbeitung neuer Mitarbeiter

– Schnellere Erfassung ausgewählter Inhalte

– Ermöglichen selektives Lesen

Angepasst

– Reduzierung auf die eigenen Anforderungen

Page 11: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 12 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Dokumentenstrukturen - Standardisiert

Beispiele

– RUP (rational unified process)

– IEEE 830 - 1998

– V-Modell

Page 12: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 13 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Dokumentenstrukturen - Beispielgliederung

Einleitung

– Zweck, Systemumfang, Stakeholder, Definitionen, Referenzen …

Allgemeine Übersicht

– Systemumfeld, Architektur, Nutzer und Zielgruppen, Rand-

bedingungen …

Anforderungen

Anhang

– Weiterführende Unterlagen zu Standards, Konventionen etc.

Index

Page 13: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 14 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Dokumentenstrukturen - Glossar

Ziel: Vereinheitlichung von Sprache

Aufbau/ Pflege/ Zugriff

– Zentral und allgemein zugänglich

– Projektbegleitend gepflegt

– Verantwortlichkeiten

– Wiederverwendet

– Herkunft der Begriffe ist enthalten

– Mit Stakeholdern abgestimmt

– Einträge haben einheitliche Struktur

– …

Ein Wiki ist bestens geeignet

Page 14: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 15 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Beispiel - Glossar

Page 15: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 16 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Fazit – Anforderungen dokumentieren

Dokumentationsart anhand des Leserkreises auswählen

Redundanzen zwischen Diagrammen und Prosa-Anforderungen

vermeiden

Ein Glossar zur Vereinheitlichung der Sprache anlegen

Nur soviel dokumentieren wie wirklich notwendig

Page 16: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 17 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Qualitätskriterien für Dokumente

Eindeutigkeit und Konsistenz

Klare Strukturen

Modifizierbarkeit und Erweiterbarkeit

Vollständigkeit

– bezogen auf die benötigten Anforderungen

Verfolgbarkeit

Page 17: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 18 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Qualitätskriterien für Anforderungen (nach IEEE)

Abgestimmtheit

Bewertet

Eindeutig

Gültig und aktuell

Korrekt

Konsistent

Prüfbar

Realisierbar

Verfolgbar

Vollständig

Verständlich

Page 18: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 19 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Agenda

Einleitung

Anforderungen dokumentieren

Anforderungen validieren

Anforderungen verwalten

Fazit

Page 19: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 20 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Qualitätsaspekte für Anforderungen

Inhalt

Dokumentation

Abgestimmtheit

Page 20: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 21 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Prüfungsprinzipien

Beteiligung der richtigen Stakeholder

– Zusammenstellung eines geeigneten Prüfungsteams

• Autor ist niemals sein eigener Prüfer

– Externe / Interne Prüfer

Trennung von Fehlersuche und Fehlerursache

– Getrennte Phase

– Ermöglicht Konzentration auf Fehleridentifikation

Wiederholte Prüfung

– Anforderungen unterliegen (starken) Veränderungen

• Hoher Innovationsanteil

• Langfristige Projekte

• Unbekannte Domäne

Page 21: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 22 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Prüfungstechniken (I) - Reviews

Stellungnahme

– Expertise Dritter über Qualität der Anforderungen

– Nicht formalisiert

– Geringer Planungsaufwand

Walkthrough

– Vorstellung/Erläuterung der Anforderungen durch Autoren

– Ziel: Gemeinsames Verständnis der Anforderungen

Inspektion

– Formalisiert

– Rollenbasiert

– Phasenorientiert

– Ziel: systematische Fehlersuche in Anforderungen

Page 22: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 23 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Prüfungstechniken (II)

Simulationsmodell / Prototyp

– Aufwendig zu erstellen

Abstrakte Testfälle erstellen

– Formalisierte, abstrakte Testfälle

• Z.B. In Form von Entscheidungstabellen

• Keine Testskripte

Page 23: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 24 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Agenda

Einleitung

Anforderungen dokumentieren

Anforderungen validieren

Anforderungen verwalten

Fazit

Page 24: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 25 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Was ist Anforderungsmanagement

Zentraler Informationsaustausch

– Alle Spezifikationsinhalte zentral bereithalten

– Rollenbasierter Zugriff

Verwaltung von Anforderungen

– Unterstützung des Lebenszyklus einer Anforderungen

– Verfolgbarkeit

– Versionierung

Änderungsmanagement

– Wie werden Änderungen an Anforderungen behandelt

Auswertung und Projektsteuerung

– Auswertung über Projektfortschritt

Page 25: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 26 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Lebensweg einer Anforderung

Anforderungen befinden sich in unterschiedlichen Stadien

– Z.B. angelegt, qualitätsgeprüft, umgesetzt, getestet, …

– Zustand muss dokumentiert werden

• Aus dem Zustand leiten sich unterschiedliche Berechtigungen ab

– Aus dem Zustand ergeben sich Verantwortlichkeiten

• Realisierung kann beginnen

– Zustände sind Grundlage für Projektsteuerung

• Report über alle umgesetzten Anforderungen

Aufgabe des Anforderungsmanagements

– Geeignete Zustände/Zustandsübergänge zu definieren

– Entsprechende Rollen und Rechte zuzuordnen

– Auswertungsmöglichkeiten bereitzustellen

Page 26: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 27 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Verfolgbarkeit

Zusammenhänge zwischen Anforderungen

– Konsistenzprüfung

– Priorisierung / Umsetzungsreihenfolge

Bezug zu externen Informationen/Artefakten

– Welche Artefakte resultieren aus dieser Anforderung?

• Entwicklungsartefakte

• Testfälle

– Rückwirkende Projektbewertung / Aufwandsermittlung

– Auswirkungen von Änderungen an Anforderung

Page 27: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 28 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Versionierung

Anforderungen ändern sich inhaltlich

– Versionen werden nachgehalten

Anforderungsbaseline

– Konsistente Menge an Anforderungen

– Basis für Planung von Auslieferungsstufen

– Basis für Aufwandsschätzung

Page 28: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 29 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Was ist Änderungsmanagement

Änderungen verursachen Aufwände

– Bezogen auf eine Anforderungsbaseline

Verfahren, wie Änderungen in den Prozess einfließen

– Entscheidungsverfahren

• Stakeholder sind einbezogen

– Dokumentation der Änderungen

• Und ihrer Auswirkungen

Page 29: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 30 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Was ist Anforderungsmanagement - reloaded

Zentraler Informationsaustausch

Verwaltung von Anforderungen

– Unterstützung des Lebenszyklus einer Anforderungen

– Verfolgbarkeit

– Versionierung

Änderungsmanagement

Auswertung und Projektsteuerung

– Auswertung über Projektfortschritt

Page 30: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 31 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Herausforderung an Umsetzung

Medienbrüche

– Verbindung zwischen Anforderungen und/oder Artefakten

Harmonisierung mit anderen Prozessen

– Entwicklungsprozess

– Test- und Abnahmeprozess

– Projektmanagement

Technologieschwelle bei der Anforderungserfassung

– „Mit Word geht es am besten“

Integration in bestehende technologische Infrastruktur

Page 31: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 32 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Alles aus einem Guss

geschlossene Suiten

– Rational (Requisite pro, DOOR) IBM

– Caliber (Borland)

– . . .

teilgeschlossene Suiten

– in-step von microtool (RE und UML)

– . . .

. . . bieten Integration mit Tools für nachfolgende Projektschritte

– Analyse/UML-Modellierung

– Entwicklung

– Testfälle

. . . unterstützen Anforderungsmanagement

Page 32: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 33 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Leichtgewichtiger Werkzeug-Baukasten (I)

Zentraler Informationsaustausch

– Serverbasierte Lösung

– DMS

Verfolgbarkeit

– Gemeinsame Informationsbasis

• Verknüpfung innerhalb eines Systems

– „Verlinkbarkeit“ der Systeme

• Physische Verlinkbarkeit (z.B. Webanwendungen)

• JIRA Issues und SVN

Page 33: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 34 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Leichtgewichtiger Werkzeug-Baukasten (II)

Lebenszyklus einer Anforderung

– State Maschine

• Bugtracker (JIRA, …)

Auswertung

– Reports in State Maschine

• Bugtracker (JIRA,… )

Versionierung / Anforderungsbaseline

– Alle Bestandteile gemeinsam versionieren

• Eine gemeinsame Datenbasis (MS-Worddokument, UML Modelle)

– Versionen als statische Abzüge zu definierten Zeitpunkten

• Exports nach Excel, PDF, HTML

Page 34: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 35 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Agenda

Einleitung

Anforderungen dokumentieren

Anforderungen validieren

Anforderungen verwalten

Fazit

Page 35: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 36 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Fazit

Nicht an der Qualität der Anforderungen/ Anforderungsdokumente

sparen

Finden Sie Ihr Anforderungsmanagement

– Welche Eigenschaft benötigen Sie (und in welcher Ausprägung)

Ziehen Sie leichtgewichtige Werkzeuge in Erwägung

– „Besser als gar nichts“

– Kann Requirements Engineering weiterbringen

– Siehe Fallstudie 2

– Einschränkungen sind hinzunehmen

– Verfolgbarkeit / Versionierung

Es muss nicht immer Software sein

Page 36: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 37 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Referenzen

[Überblick über RE Tools]

http://easyweb.easynet.co.uk/~iany/other/vendors.htm

[Caliber]

http://www.borland.com/de/products/caliber/index.html

[Rational]

http://www.ibm.com/developerworks/rational/

[in-step]

http://www.microtool.de/instep/de/index.asp

Page 37: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Seite 38 / 38iks Thementag RE, Anforderungen dokumentieren, validieren und verwalten

Weiterführende Literatur

KlausPohl/Chris Rupp,

Basiswissen Requirements Engineering

Chris Rupp & Sophisten ,

Requirements Engineering und -Management

Page 38: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

Fragen?

Page 39: Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten

www.iks-gmbh.com