FHNW - Requirements Engineering - Buch Zusammenfassung

Zusammenfassung des Buches Teile vom Buch für Lernzwecke abfotografiert

Zusammenfassung des Buches Teile vom Buch für Lernzwecke abfotografiert


P. S.
Diese Lernkarten bieten eine umfassende Zusammenfassung des Requirements Engineering für Universitätsstudenten. Sie decken zentrale Themen wie Anforderungen, Systeme, Stakeholder und Prozesse ab, wobei auch die Dokumentation, Prüfung und Verfolgbarkeit von Anforderungen behandelt werden. Besonders nützlich sind sie für Studierende und Fachleute, die sich mit der systematischen Erfassung, Analyse und Verwaltung von Anforderungen in der Softwareentwicklung beschäftigen.
Karten
164
Lernende
32
Sprache
Deutsch
Kategorie
Technik
Stufe
Universität
Erstellt / Aktualisiert
03.12.2018 / 21.10.2025

Lernkarten

Intro

Requirements Engineering ist wichtig. Je früher Fehler in den Anforderungsspezifikationen gefunden werden, je geringer fallen die Kosten aus. Grundsätzlich wird umgesetzt was in den Spezifikationen steht. Wenn diese ungenau Formuliert sind oder gar fehlen, so wird etwas anderes umgesetzt als vom Stakeholder erwartet.

Was ist eine Anforderung?

Eine Anforderung ist:

  • Eine Voraussetzung des Benutzers ein Problem zu lösen oder sein Ziel zu erreichen
  • Eine Voraussetzung an das System um einen Vertrag, eine Norm oder sonst ein formelles Dokument zu erfüllen
  • Eine dokumentierte Repräsentation einer Bedingung oder Eigenschaft gemäss (1) oder (2)

Was ist ein Stakeholder?

Ein Stakeholder eines Systems ist eine Person oder Organisation, die (direkt oder indirekt) Einfluss auf die Anforderungen des betrachteten Systems hat.

Was ist Requirements Engineering?

Das REQ hat die Aufgabe, die Anforderungen der Stakeholder zu ermitteln, zweckmässig zu dokumentieren, zu überprüfen und abzustimmen, sowie die dokumentierten Anforderungen zu verwalten.

Ermitteln => Dokumentieren = Prüfen und abstimmen => Verwalten

Was muss ein Requirement Engineer können?

Analtisches Denken => Komplexe Sachverhalte verstehen

Empathie => Gruppendynamische Probleme von Stakeholder lösen

Kommunikationsfähigkeit => Richtig interpretieren und kommunizieren

Konfliktlösungsfähigkeit

Moderationsfähigkeit => Meetings moderieren

Selbstbeweustsein => Im Zentrum, also auch Zentrum der Kritik

Überzeugunsfähigkeit => 

Was ist eine funktionale Anforderungen?

Eine funktionale Anforderung ist eine Anforderung bezüglich des Verhaltens, das von einer Funktion des Systems bereitstellt werden soll.

Was ist eine Qualitätsanforderung?

Eine Qualitätsanforderung ist eine Anforderung die sich auf ein Qualitätsmerkmal bezieht, das nicht durch funktionale Anforderungen abgedeckt wird.

Performance, Verfügbarkeit, Zuverlässigkeit, Skalierbarkeit und Portabilität.

Oft zu wenig genau dokumentiert => die Akzeptanz des Systems leidet.

Klassen:

Performanz, Sicherheit Zuverlässigkeit Benutzbarkeit Änderbarkeit Übertragbarkeit

Beispiel:

95% aller Anfragen in weniger als 1.5 Sekunden

Was ist eine Randbedingung?

Randbedingungen werden, im Gegensatz zu funktionalen Anforderungen und QA nicht umgesetzt, sondern schränken die Umsetzungsmöglichkeiten ein.

Das System wird mit WebServices realisiert.

Das System muss bis 1.1.10 auf dem Markt sein.

Was ist der Systemkontext?

Der Systemkontext ist der Teil der Umgebung eines Systems, der für die Definition und das Verständnis der Anforderungen des betrachteten Systems relevant ist. Er ist der Teil der Realität, der einen Einfluss auf das zu entwickelnde System hat und damit auch die Anforderungen an das zu entwickelnde System bestimmt.

Personen (Stakeholder/Gruppen)
Systeme im Betrieb
Prozesse
Ereignisse
Dokumente (Gesetzte, Standards)

 

Der Ursprung der Anforderungen eines Systems liegt im Systemkontext.

Was sind die Bestandteile des Systemkontexts?

Systemabgrenzung => Welche Aspekte werden durch das System abgedeckt

Kontextabgrenzung =>

Innerhalb Die Aspekte welche eine Beziehung zum System haben

Ausserhalb: Die Irrelevanten Teile der Umgebung

Was ist eine Systemgrenze?

Die Systemgrenze separiert das geplante System von seiner Umgebung. Durch die Wahl der Systemgrenze wird festgelegt, welche Aspekte das System abdeckt (Scope) und was ausserhalb des Systems liegt.

Was ist die Grauzone der Systemgrenze?

Systemgrenzen können sich im Verlaufe des REQ verändern. Manchmal ist noch nicht klar was alles vom System gemacht werden muss. Diese können sich auch verschieben.

Was ist die Kontextgrenze?

Die Kontextgrenze separiert den relevanten Teil der Umgebung vom irrelevanten Teil. D.h.dem Teil der Umgebung, der keinen Einfluss auf das geplante System und damit auch keinen Einfluss auf die Anforderungen haben . 

Wie dokumentiert man den Systemkontext?

Oft mit Use Case Diagrammen oder Datenflussdiagrammen.

Nenne drei verschieden Anforderungsquellen?

Stakeholder
Dokumente
Systeme in Betrieb

Was eignet sich für die Dokumentation von Stakeholder?

Eine Tabelle mit Name Funktion Kontaktdaten, zeitliche und räumliche Verfügbarkeit Relevanz des Stakeholders seine Ziele und Interessen.

Was sollte der REQ Engineer in jedem Fall tun (bezüglich Stakeholder)?

Um Missverständnisse oder Kompetenzstreitigkeiten vorzubeugen, muss der REQ Engineer mit jedem Stakeholder formal vereinbaren, welche Aufgaben, Verantwortungsbereiche, Weisungsbefugnisse und individuellen Zielen bestehen. Ebenfalls welche Kommunikationswege und Feedback-Schleifen von dem Stakeholder genutzt werden können.

Welche drei Anforderungskategorien kennt das Kano Modell?

Basisfaktoren => selbstverständliche Systemmerkmale
Leistungsfaktoren => explizit gefordert
Begeisterungsfaktoren => Systemmerkmale die erst während der Benutzung als angenehm und nützlich empfunden werden

Im Laufe der Zeit werden aus Begeisterungsfaktoren Leistungsfaktoren und dann Basisfaktoren. Der Benutzer gewöhnt sich an das Feature.

Was sind Basisfaktoren?

Diese Faktoren muss das System zwingend erfüllen. Werden diese nicht erfüllt so führt dies zu starker Unzufriedenheit.  Werden sie erfüllt führt dies noch nicht zur Zufriedenheit. Massgeben dafür sind Systeme welche bereits im Betrieb sind.

Was sind Leistungsfaktoren?

Leistungsfaktoren sind die Merkmale, die der Stakeholder bewusst und explizit fordert. Die Erfüllung dieser Merkmale erzeugt beim Kunden Zufriedenheit. Befragungstechniken eignen sich gut für Erhebung von Leistungsfaktoren

Was sind Begeisterungsfaktoren?

Begeisterungsfaktoren sind Merkmale eins Systems die dem Benutzer erst während dem Betrieb auffallen. Für die Erhebung eignen sich Kreativitätstechniken besonders gut.

Wie wählt man eine Ermittlungstechnik für Anforderungen?

  • Was soll erhoben werden? Bewusste, Unbewusste oder Unterbewusste Anforderungen
  • Die Termin und Budgetvorgaben sowie die Verfügbarkeit der Stakeholder
  • Die Erfahrung des Requirements Engineer mit der entsprechenden Ermittlungstechnik

Was sind Befragungstechniken zur Erhebung von Anforderungen?

Interview; Fragebogen

Was ist Brainstorming?

Gruppe von 5 -10; in vorgegeben Zeit Ideen gesammelt und ohne Beurteilung und Kommentierung notiert. Die Teilnehmen nutzen die Ideen der anderen Teilnehmer, um neue eigene Ideen zu entickeln /weiterentwickeln.  Er danach werden sie analsiert.  

Was ist Brainstorming paradox?

Worst case Brainstroming

Was ist Wechseln der Perspektive?

 

dafür eignet sich das Sechs Hut Denken. Jeder der sechs Hüte steht für eine andere Sichtweise. Jeder Teilnehmer nimmt diese einmal an.

Was sind Analogietechniken?

Ähnliche Problemstellungen und Lösungen in der Natur gesucht ( oder ausserhalb der Natur)

Was ist Systemarchäologie?

Informationen für das neue System werden aus dem Alten System oder Konkurrenz System gewonnen.

Was ist Perspektivenbasierte Lesen?

Perspektive einnehmen und Dokument Lesen. Dabei werden dinge die die angenommene Perspektive nicht betreffen ignoriert. Dadurch steigt der Fokus auf das relevante. 

Was ist Wiederverwendung?

Einmal erarbeitete und bekannte Anforderungen können wiederverwendet werden.

Was sind Feldbeobachtungen?

Der REQ Engineer ist Vorort und beobachtet und dokumentiert den Prozess und die Arbeitsabläufe

Was ist Apprenticing?

In die Lehre gehen, der REQ Engineer erlern die Tätigkeiten der Stakeholder.

Nenne Unterstützungstechniken

Mindmapping
Workshops
CRC-Karten => Class Resposibility Collaboration
                Kontextaspekte auf einer Karteikarte mit deren jeweiligen Eigenschaften
                und Beziehung notiert.

Audio und video
Use Case Modellierung
Prototypen

Was ist ein Anforderungsdokument?

Eine Anforderungsspezifikation ist eine systematisch dargestellte Sammlung von Anforderungen (typischerweise für ein System oder eine Komponente), die vorgegeben Kriterien genügt.

Was ist der Nutzen eines Anforderungsdokuments?

Anforderungen sind die Basis für die Systementwicklung
Anforderungen sind rechtlich relevant
Anforderungen sind Komplex
Anforderungen sollten allen Beteiligten zugänglich sein

Was sind die drei Perspektiven von Anforderungen?

Struktursperspektive => Ein und Ausgabedaten Nutzungs- und Abhängigkeitsbeziehungen
Funktionsperspektive => Welche Daten können durch das System Manipuliert werden.
Verhaltensperspektive => Reaktion auf Ereignisse, Bedingungen

Was sind die Vor und die Nachteile der Natürlichen Sprache?

Vorteile:
                Kein Stakeholder muss eine neue Notation erlernen.
                Die Sprache ist vielseitig Anwendbar.
Nachteile:
                Mehrdeutigkeit
                unbeabsichtigte Vermischung von Anforderungen

Vorteile eines UC-Diagrammes?

Überblick über die Funktionen eines Systems. Was kann der Benutzer welche externen Partner sind beteiligt

Nutzen Klassendiagramm?

Das Klassendiagramm wird im requirements Engineering u.A. verwenden um Anforderungen im Hinblick auf die Statische Strukur von Daten zu dokumentieren. => Abhänigkeiten un Beziehungen darstellen

Nutzen Aktivitätsdiagramm?

Mittels Aktivitätsdiagrammen können Geschäftsprozesse oder ablauforientierte Abhängigkeiten des Systems zu technischen Prozesses im Systemkontext dokumentiert werden. 

Lernen