Requirements Engineering Die Dinge von Anfang an richtig machen Martin Glinz www.ifi.uzh.ch/~glinz Erstes Requirements Engineering Forum Zürich, 13. November 2008 Universität Zürich Institut für Informatik 2008 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind für den persönlichen, nicht kommerziellen Gebrauch gestattet, wobei bei auszugsweiser Verwendung Quelle und Copyright zu nennen sind. Die Verwendung für Unterrichtszwecke oder für kommerziellen Gebrauch ist nur mit vorheriger schriftlicher Genehmigung des Autors gestattet. Diese Unterlagen können Bilder enthalten, deren Rechte bei Dritten liegen und deren Nutzung daher zusätzlichen Einschränkungen unterliegt. Die Dinge von Anfang an richtig machen Warum von Anfang an? Was ist richtig? Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 2 1
Von Anfang an Anforderungsfehler sind die teuersten Fehler Aufwand für Anforderungen Fehlerkosten Requirements Engineering ist indirekt(!) wirtschaftlich Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 3 Das Richtige!? Ja klar doch, das haben wir gelernt: Gute Anforderungsspezifikationen sind vollständig eindeutig prüfbar präzise usw. Nur: was heißt denn das im wahren Leben? Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 4 2
Vollständig Zwei Formen von Vollständigkeit Geschlossen (Umfang bekannt) Offen Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 5 Eine Aufgabe Spezifizieren Sie ein Familienauto für diese Familie. Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 6 3
Ihre Anforderungen: Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 7 Eindeutig Im Prinzip einfach: formale Spezifikation In der Praxis selten machbar Annähern durch Praktiken wie Glossare Abnahmetestfälle Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 8 4
Prüfbar «Das System soll benutzerfreundlich sein.» Das Lehrbuch meint: operationalisieren oder quantifizieren Machbar? Mit vertretbarem Aufwand? Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 9 Präzise Sprachlicher Ausdruck Glossare Quantifizierung Genaue Beschreibung Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 10 5
Noch eine Aufgabe Welche Spezifikation ist besser? A. «Die Teilnehmer-Eingabemaske enthält Felder für Name, Vorname, Geschlecht und Adresse des Teilnehmers.» B. «Die Teilnehmer-Eingabemaske enthält Felder für Name, Vorname, Geschlecht und Adresse des Teilnehmers. Namen- und Vornamenfelder sind je maximal 32 Zeichen lang und obligatorisch. Das System verwendet Unicode als Zeichensatz. Für die Eingabe des Geschlechts enthält die Maske zwei Ankreuzfelder, beschriftet mit männlich und weiblich. Die Voreinstellung ist männlich, Ankreuzungen schließen sich gegenseitig aus, eine Ankreuzung ist erforderlich....» Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 11 Was ist richtig? So vollständig, eindeutig, prüfbar, präzise, etc. spezifizieren wie irgend möglich. Falsch Wenns eh nicht richtig geht, kann mans gleich sein lassen. Falsch Dann halt irgendwas dazwischen. Falsch So spezifizieren, dass der Wert der Anforderungsspezifikation maximiert wird. Richtig Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 12 6
Wert einer Anforderungsspezifikation Wert = Nutzen Kosten Nutzen: Senkung des Entwicklungsrisikos, d.h. des Risikos, dass die fertige Software den Stakeholdern nicht nützt oder nicht gefällt Kosten: Aufwand für die Erstellung der Anforderungsspezifikation Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 13 Risikofaktoren Wie kritisch ist eine Anforderung? Auswirkung gering mittel hoch geringen Aufwand betreiben Hoher Aufwand gerechtfertigt unwichtig wichtig kritisch Wichtigkeit der Stakeholder Auswirkung? (wenn die Anforderung verfehlt wird) Wichtigkeit der beteiligten Stakeholder? Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 14 7
Mehr Risikofaktoren Gemeinsames (implizites) Verständnis Existenz von Referenzsystemen Länge des Rückkopplungszyklus Art der Auftraggeber-Auftragnehmer-Beziehung Notwendigkeit von Zertifizierung Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 15 Die Dinge richtig machen Keine «Einheitsgröße für alles» Risiko beurteilen: je höher das Risiko, desto genauer und eingehender spezifizieren Saubere Kontextabgrenzung Bezug auf Referenzsysteme nehmen Gemeinsames Verständnis richtig nutzen Mit Abnahmetestfällen absichern Falsch Richtig Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 16 8
Die Dinge richtig machen Eigentlich ganz einfach Übung macht den Meister Falsch Richtig Requirements Engineering Die Dinge von Anfang an richtig machen 2008 Martin Glinz 17 9