Buffl

Requirements Engineering

HU
by Hope U.

Requierments Engineering

▪ Ziel des RE ▪ Anforderungen an Systeme so zu spezifizieren & zu verwalten, dass die implementierten & bereitgestellten Systeme die Bedürfnisse der Stakeholder erfüllen Requirements Engineering: Was? Angemessenes RE bietet Mehrwert für gesamte Entwicklung ▪ Verringerung des Risikos, ein falsches System zu entwickeln ▪ Besseres Verständnis des Problems ▪ Grundlage für die Schätzung von Entwicklungsaufwand & Kosten ▪ Voraussetzung für das Testen des Systems ▪ Typische Symptome für mangelhaftes RE: fehlende, unklare oder falsche Anforderungen ▪ Gründe für mangelhaftes RE ▪ Direkter Beginn mit der Entwicklung ▪ Kommunikationsprobleme zwischen beteiligten Parteien ▪ Annahme, dass Anforderungen selbstverständlich sind ▪ Unzureichende Ausbildung & Fähigkeiten im RE Requirements Engineering: Warum? RE bzgl. Anforderungen für jeder Art von System ▪ Fokus: Systeme, in denen Software wesentliche Rolle spielt ▪ Unterscheidung nach Herkunft ▪ Systemanforderungen: was ein System tun soll ▪ Stakeholderanforderungen: was Stakeholder wollen ▪ Benutzeranforderungen: was Benutzer wollen ▪ Domänenanforderungen: erforderliche Domäneneigenschaften ▪ Geschäftsanforderungen: Geschäftsziele einer Organisation ▪ Hauptaufgaben im RE: Ermittlung, Dokumentation, Validierung und Verwaltung von Anforderungen ▪ Werkzeugunterstützung kann dabei helfen ▪ Anforderungsanalyse & Lösung von Anforderungskonflikten ▪ Notwendig: maßgeschneiderter RE-Prozess Requirements Engineering: Wo & Wie? ▪ Requirements Engineer: typischerweise keine eigene Berufsbezeichnung, sondern Rolle von Personen, die ▪ als Teil ihrer Aufgaben Anforderungen ermitteln, dokumentieren, validieren und/oder verwalten ▪ über fundierte Kenntnisse im RE verfügen ▪ die Lücke zwischen Problem & möglicher Lösungen überbrücken ▪ In der Praxis: Business-Analysten, Anwendungsspezialisten, Product Owner, Systemingenieure, Entwickler ▪ Notwendige Fähigkeiten ▪ Anforderungen in verschiedenen Formen dokumentieren können ▪ Anforderungen mit verschiedenen Praktiken erarbeiten können ▪ Geeignete RE-Prozesse definieren und mit ihnen arbeiten können ▪ Bestehende Anforderungen verwalten können ▪ Werkzeugunterstützung einsetzen können

Prinzipien

1) Wertorientierung ▪ Anforderungen sind Mittel zum Zweck, kein Selbstzweck ▪ Wert einer Anforderung: Nutzen abzüglich Kosten für Ermitteln, Dokumentieren, Validieren & Verwalten ▪ Nutzen einer Anforderung: Grad, den sie dazu beiträgt ▪ ein System zu bauen, das die Bedürfnisse der Stakeholder erfüllt ▪ das Risiko von Fehlschlägen & kostspieligen Nacharbeiten bei der Entwicklung des Systems zu verringern ▪ (2) Stakeholder ▪ Ziel: Wünsche & Bedürfnisse der Stakeholder erfüllen ▪ Jeder Stakeholder hat Rolle im Systemkontext, z.B. Benutzer, Kunde, Auftraggeber, Betreiber, Behörde etc. (ggf. mehrere Rollen) ▪ Stakeholder können unterschiedliche Bedürfnisse haben: widersprüchliche Anforderungen möglich; RE muss Konflikte finden & auflösen ▪ Einbeziehung der richtigen Personen (→ Stakeholder-Analyse) Prof. Dr. Philipp Rohde 22WiSe-SWT-AC | 169 Prinzipien II ▪ (3) Gemeinsames Verständnis ▪ Von Stakeholder, RE und Entwickler; nötig für erfolgreiche Entwicklung ▪ Explizit: dokumentierte & vereinbarte Anforderungen ▪ Implizit: gemeinsames Wissen über Bedürfnisse, Visionen, Kontext usw. ▪ Positiv: Domänenwissen; frühere Zusammenarbeit; gemeinsame Kultur & Werte; gegenseitiges Vertrauen ▪ Negativ: geografische Distanz; Outsourcing; große Teams; Fluktuation ▪ Instrumente: z.B. Glossar, Prototypen, kurze Feedback-Schleifen ▪ (4) Kontext ▪ Systeme immer in Kontext (Systemumgebung); Verständnis wesentlich ▪ RE: genaue Klärung der Systemgrenze, Definition der Schnittstellen, Umfang des Systems und Kontextgrenze (»Rest der Welt«) ▪ Auch implizite Annahmen über den Kontext, die für das Funktionieren des Systems & die Erfüllung der Anforderungen gelten müssen Prof. Dr. Philipp Rohde 22WiSe-SWT-AC | 170 Prinzipien III ▪ (5) Problem → Anforderung → Lösung ▪ »Problem«: Stakeholder ist mit etwas unzufrieden (Ist-Situation) ▪ »Anforderungen«: was brauchen Stakeholder, um das Problem zu lösen ▪ »Lösung«: sozio-technisches System, das Anforderungen gerecht wird ▪ Alle drei eng verbunden; können nicht isoliert angegangen werden ▪ (6) Validierung ▪ Überprüfung, ob System tatsächlich Bedürfnisse der Stakeholder erfüllt ▪ Nicht-validierte Anforderungen sind nutzlos ▪ Validierung muss früh beginnen, um Risiko der Unzufriedenheit zu minimieren: Einigkeit über Anforderungen? Bedürfnisse der Stakeholder ausreichend abgedeckt? Kontextannahmen vernünftig? ▪ (7) Evolution ▪ Systeme & Anforderungen unterliegen ständigen Veränderungen, z.B. Wettbewerber, neue Produkte & Technologien, Gesetzesänderungen, veränderte Benutzerbedürfnisse etc. ▪ Auch: Änderung durch Validierung, Entdeckung von Fehlern etc. ▪ Konträr: Anforderungen stabil halten & Änderungen ermöglichen Prof. Dr. Philipp Rohde 22WiSe-SWT-AC | 171 Prinzipien IV ▪ (8) Innovation ▪ Gutes RE: Stakeholder nicht nur zufrieden stellen, sondern glücklich machen & begeistern ▪ RE gestaltet innovative Systeme: Streben nach neuen Funktionen & Benutzerfreundlichkeit; nach verändernden (disruptiven) Ideen ▪ (9) Systematische & disziplinierte Arbeit ▪ Prozesse & Praktiken zur systematischen Ermittlung, Dokumentation, Validierung & Verwaltung von Anforderungen ▪ Unabhängig vom Vorgehensmodell ▪ Den »RE-Standardprozess« gibt es nicht: Anpassung an Problem & Kontext immer sinnvoll; Erfolg muss laufend geprüft werden Prof. Dr. Philipp Rohde 22Wi

Author

Hope U.

Information

Last changed