Grundlagen Flashcards
Was ist eine Anforderung?
Eine **Anforderung **ist:
(1) Ein notwendiges Bedürfnis eines Stakeholders.
(2) Eine Fähigkeit oder Eigenschaft, die ein System erfüllen muss.
(3) Eine dokumentierte Repräsentation eines Bedürfnisses, einer
Fähigkeit oder Eigenschaft.
Was ist ein Stakeholder?
Ein Stakeholder ist eine Person oder Organisation, die Einfluss auf
die Anforderungen des Systems hat oder auf die das System Auswirkungen
hat.
Anforderungen werden für eine Vielzahl von Dingen (=Systemen) erhoben, dazu zählen..?
- Dem Kunden zur Verfügung gestellten Produkte ( klassische Softwaresysteme, oder Systeme mit Softwareanteil)
- Dem Kunden zur Verfügung gestellten** Dienstleistungen** (Services)
- Andere Arbeitsergebnisse (Geräte, Hardwarebauteile, Subsysteme…)
- **Zusammensetzungen oder Bestandteile **der oben genannten Dinge
*
Was ist Requirements Engineering?
Das Requirements Engineering ist ein systematischer und disziplinierter
Ansatz zur Spezifikation und zum Management von Anforderungen
mit dem Ziel, die Wünsche und Bedürfnisse der Stakeholder
zu verstehen und die Gefahr zu minimieren, ein System auszuliefern,
das diese Wünsche und Bedürfnisse nicht erfüllt.
Welche **3 Arten von Anforderungen **werden im Allgemeinen unterschieden?
* **Funktionale Anforderungen
* Qualitätsanforderungen
* Randbedingungen (Constraints**)
Was sind funktionale Anforderungen?
Eine **funktionale Anforderung **ist eine Anforderung bezüglich des
Ergebnisses oder des Verhaltens, das von einer Funktion des Systems
bereitgestellt werden soll.
Was sind Qualitätsanforderungen?
Eine Qualitätsanforderung ist eine Anforderung, die sich auf ein Qualitätsmerkmal
bezieht, das nicht durch funktionale Anforderungen
abgedeckt wird.
Wie ist der Zusammenhang zwischen Qualitätsanforderungen und funktionalen Anforderungen?
- Stehen häufig in Beziehung
- Qualitätsanforderungen können funktionale A. konkretisieren
- Umsetzung von Qualitätsanforderungen kann durch funktionale A. beschrieben werden
- Trotzdem: sollten** getrennt voneinander spezifiziert** werden!
* Bezug soll nachvollziehbar dokumentiert werden
Was sind Randbedingungen (Constraints)?
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.
RE bietet einen** Mehrwert** bei der Entwicklung und Weiterentwicklung eines Systems, indem..?
- das Risiko, ein falsches System zu entwickeln, **verringert **wird
- ein besseres Verständnis des Problems erzeugt wird;
- die Grundlage für die **Schätzung von Entwicklungsaufwand und
Kosten **gelegt wird; - die Voraussetzung für das Testen des Systems geschaffen wird.
Was sind typische Ursache für mangelhaftes RE?
- Entwicklung des Systems ohne ausreichende Verständisgrundlage
- Kommunikationsprobleme zwischen den beteiligten Parteien
- Annahme, dass die Anforderungen selbstverständlich sind –> werden nicht erläutert / gar nicht erst erfasst
- Unzureichende Ausbildung und Fähigkeiten des RE
Häufige Klassifikation von Anforderungen
- Systemanforderungen
- Stakeholder-Anforderungen
- Benutzeranforderungen
- Domänenanforderungen (häufig Randbedingungen)
- Geschäftsanforderungen
Was sind die 4 Hauptaufgaben des RE?
- Ermitteln
- Dokumentieren
- Validieren
- Verwalten
Was sind typische Fähigkeiten und Aufgaben des Requirements Engineer?
- Anforderungen ermitteln, dokumentieren, validieren und verwalten.
- Über fundierte Kenntnisse im Requirements Engineering verfügen und diese aktiv einbringen.
- Die Lücke zwischen dem Problem und möglichen Lösungen überbrücken.