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
-
- 1 / 164
-
Cartes-fiches
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.
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.