Einleitung und Grundlagen Flashcards
Definition: Requirements Engineering
Das Requirements Engineering ist ein systematischer und disziplinierter Ansatz zur Spezifikation und zum Management von Anforderungen mit den folgenden Zielen:
- Die relevanten Anforderungen zu kennen, Konsens unter den Stakeholdern über die Anforderungen herzustellen, die Anforderungen konform zu vorgegebenen Standards zu dokumentieren und die Anforderungen systematisch zu managen
- Die Wünsche und Bedürfnisse der Stakeholder zu verstehen, zu dokumentieren sowie die Anforderungen zu spezifizieren und zu managen, um das Risiko zu minimieren, dass das System nicht den Wünschen und Bedürfnissen der Stakeholder entspricht.
Anmerkung: Zusammengefasst ergibt sich folgende Kette: Anforderungen ermitteln, spezifizieren, dokumentieren und Konsens darüber erreichen.
Definition: Requirement
Eine Anforderung ist:
- Eine Bedingung oder Fähigkeit, die von einem Benutzer (Person oder System) zur Lösung eines Problems oder zur Erreichung eines Ziels benötigt wird.
- Eine Bedingung oder eine Fähigkeit, die ein System oder Teilsystem erfüllen oder besitzen muss, um einen Vertrag, eine Norm, eine Spezifikation oder andere, formell vorgegebene Dokumente zu erfüllen.
- Eine dokumentierte Repräsentation einer Bedingung oder Eigenschaft gemäß 1 und 2.
Anmerkung: Die abgestimmten und priorisierten Anforderungen legen den Lieferumfang fest!
Definition: Stakeholder
Ein Stakeholder eines Systems ist eine Person oder Organisation, die direkt oder indirekt Einfluss auf die Anforderungen des betrachteten Systems hat.
Was sind typische Symptome für mangelhaftes Requirements Engineering?
- Fehlende Anforderungen
- Unklar formulierte Anforderungen
Was sind typische Gründe für mangelhaftes Requirements Engineering?
- Stakeholder betrachten vieles als selbstverständlich und nennen es nicht explizit
- Kommunikationsprobleme aufgrund von unterschiedlichem Erfahrungs- und Wissensstand der Beteiligten
- der Projektdruck des Auftraggebers, kurzfristig ein produktives System zu erstellen
Was sind die vier Haupttätigkeiten des Requirements Engineering?
- *Ermitteln**:
- Befragungstechniken
- Kreativtechniken
- Dokumentzentrierte Techniken
- Beobachtungstechniken
- *Dokumentieren:**
- Die 3 Perspektiven: Struktur, Funktion, Verhalten
- natürliche Sprache
- konzeptuelle Modelle
- Standardgliederung
- Qualitätskriterien
- Glossar
- *Prüfen und Abstimmen:**
- Qualitätsaspekte: Inhalt, Dokumentation, Abgestimmtheit
- Stellungnahme
- Inspektion
- Walkthrough
- perspektivenbasiertes Lesen
- *Verwalten**:
- Attributisierung
- Rollenspezifische Sichten
- Priorisierung
- Verfolgbarkeit
- Versionierung
- Konfigurationen
- Anforderungsänderungen
- Werkzeuge
Anmerkung: Die Reihenfolge ist nicht chronologisch, die Schritte können sich überlappen!
Welche Einflussfaktoren gibt es auf die Qualität des Informationsaustausches?
- Sprache
- kultureller Hintergrund
- Erfahrung der Beteiligten
Was ist die Grundvoraussetzung für gute Kommunikation?
Sender und Empfänger müssen eine gemeinsame Begriffswelt nutzen.
(Daher ist der Einsatz eines Glossars beispielsweise sinnvoll)
Welche Probleme können bei der Kommunikation von Anforderungen auftreten?
Fokussierung: Informationen werden nicht weitergegeben
Vereinfachung: Informationen werden nicht adäquat weitergegeben
Interpretationsspielraum aufgrund vereinfachter Ausdrucksweise
Welche Eigenschaften sollte ein Requirements Engineer mitbringen?
- Analytisches Denken
- Empathie
- Kommunikationsfähigkeit
- Konfliktlösungsfähigkeit
- Moderationsfähigkeit
- Selbstbewusstsein
- Überzeugungsfähigkeit
Welche drei Anforderungsarten gibt es?
- Funktionale Anforderungen
- Qualitätsanforderungen
- Randbedingungen
Anmerkung: Qualitätsanforderungen und Randbedingungen werden i.d.R. als “Nichtfunktionale Anforderungen” zusammengefasst.
Was sind nichtfunktionale Anforderungen?
Qualitätsanforderungen und Randbedingungen
Definition: Funktionale Anforderung
Eine funktionale Anforderung ist eine Anforderung bezüglich des Ergebnisses eines Verhaltens, das von einer Funktion des Systems bereitgestellt werden soll.
Definition: Qualitätsanforderung
Eine Qualitätsanforderung ist eine Anforderung, die sich auf ein Qualitätsmerkmal bezieht, das nicht durch funktionale Anforderungen abgedeckt wird.
Definition: Randbedingung
Eine Randbedingung ist eine Anforderung, die den Lösungsraum jenseits dessen einschränkt, was notwendig ist, um die funktionalen Anforderungen und die Qualitätsanforderungen zu erfüllen.
Randbedingungen können von den Projektbeteiligten nicht beeinflusst werden.