Seite 1 Requirements Engineering
Seite 2 Zielsetzung Systematischer Ansatz, Anforderungen zu Ermitteln Analysieren Organisieren Dokumentieren Mittel, um gemeinsame Basis zwischen Kunde und Entwickler zu schaffen Sprachgebrauch Zielbeschreibung Änderbarkeit Prüfbarkeit
Seite 3 Unterstützung für: Änderungen Änderung der Anforderungen während der Entwicklung Nachvollziehen welche Artefakte von einer Anforderung berührt werden. Das Management Wer kümmert sich um welche Anforderung? Wann ist eine bestimmte Anforderung erfüllt? Vermeidung von Projekt-Fehlschlägen Projekt läuft über Budget Projekt läuft über Zeitplan
Ermittlung der Anforderungen Zuerst: Anforderungen ermitteln Definition der Fachbegriffe: Glossar Eventuell: Fachwissen erarbeiten Ermittlung der Anforderungen Interview mit Kunden und zukünftigen Anwendern Fragebögen entwerfen und ausfüllen lassen Bestehende Systeme analysieren Aufteilung der Anforderungen in funktional nichtfunktional Attributieren der Requirements Priorität, Schwierigkeit, Wichtigkeit, Status, Testfälle, Fertigstellung, Autor,... Erstellen eines Anforderungsdokumentes Lehrstuhl für Software Engineering Seite 4
Seite 5 Anforderungsdokument Inhalt 1. Systemziel 2. Glossar 3. Systemmodelle 4. Definition funktionaler Anforderungen 5. Definition nicht-funktionaler Anforderungen 6. Systemevolution, Ausbaustufen 7. Anforderungsspezifikation Eigenschaften nur externes Systemverhalten Randbedingungen, Restriktionen der Realisierung Vertragscharakter Eindeutigkeit, Einverständnis, Bindung
Anforderungsspezifikation Aus den Anforderungen aufbauen. Dabei: Nicht-formale Spezifikation Leicht erlernbar, verstehbar und für den Kunden verständlich Unpräzise Beispiel: Natürliche Sprache Semi-formale Spezifikation Präziser als Nichtformal, evtl. für Kunden verständlich Nicht präzise genug, und manchmal nicht aussagekräftig genug Beispiel: Gane & Sarsen Formale Spezifikation: Später Vertragscharakter beachten möglichst formal! Lehrstuhl für Software Engineering Seite 6
Seite 7 Gane & Sarsen: 9 Schritte Methode Analyse der Anforderungen und Erarbeiten einer Spezifikation (Am Beispiel der 9-Schritte Methode von Gane und Sarsen) 1. DFD zeichnen 2. Entscheiden, was umgesetzt wird, und wie 3. Details des Datenfluss ausarbeiten 4. Die Prozesslogik definieren 5. Die Datenspeicher definieren 6. Die physikalischen Ressourcen definieren 7. Die Eingabe/Ausgabe Spezifikation aufstellen 8. Dimensionierung bestimmen 9. Hardwareanforderungen bestimmen
Seite 8 Toolunterstützung Glossar Ermöglichen einer Nutzung des Glossars in allen Artefakten Bedeutung von Änderungen der Begriffsdefinitionen! Anforderungsaufnahme Formularerstellung und auswertung Datenbanken Änderungshistorie Verknüpfung mit anderen Artefakten Tracing zwischen Anforderungen Tracing zu Testfällen Tracing zum Sourcecode DFD Zeichenprogramm für Diagramme (dia, visio)
Seite 9 Toolunterstützung Rational RequisitePro
Seite 10 Toolunterstützung Rational RequisitePro
Seite 11 Toolunterstützung Rational RequisitePro
Seite 12 Toolunterstützung Rational RequisitePro
Seite 13 Toolunterstützung Rational RequisitePro
Seite 14 Toolunterstützung Rational RequisitePro Anforderungsaufnahme Formulare für FEATURE-Requirements: Die hauptsächlichen funktionalen Eigenschaften des Systems Formulare für USECASE-Requirements: Die einzelnen Szenarien und Abläufe im System, die die FEATURES realisieren Glossary Ermöglichen Definition von TERM-Requirements fürs Glossar TERM-Requirements können aus allen anderen Bereichen referenziert werden. Datenbank Änderungshistorie Attribute Tracing