Requirement Engineering

Das Modul Requirement Engineering der FHNW

Das Modul Requirement Engineering der FHNW


Set of flashcards Details

Flashcards 105
Language Deutsch
Category Micro-Economics
Level University
Created / Updated 29.12.2023 / 15.11.2024
Weblink
https://card2brain.ch/box/20231229_requirement_engineering
Embed
<iframe src="https://card2brain.ch/box/20231229_requirement_engineering/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Welche Ziele hat das Requirements Engineering?

  • 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.

Was ist eine Anforderung für das Requirement Engineering?

  • 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 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äss (1) oder (2).

Was bedeutet es eine Anforderung zu erheben?

  • Kontext identifizieren
  • Anstösse spezifizieren
  • Antworten finden
  • Restriktion beachten

Welche Qualitätskriterien gibt es?

  • Abgestimmt
    • Anforderung ist für alle Stakeholder korrekt und akzeptiert.
  • Eindeutig
    • Kann nur auf eine einzige Weise verstanden werden (kein Interpretationsspielraum).
  • Notwendig
    • Eine Anforderung muss die Gegebenheiten im Systemkontext so wiederspiegeln, dass sie hinsichtlich der aktuellen Gegebenheiten im Systemkontext gültig ist.
  • Konsistent
    • Anforderungen müssen widerspruchsfrei sein.
  • Verständlich
    • Die Anforderungen müssen für alle Stakeholder verständlich sein.
  • Machbar
    • Eine Anforderung muss technisch (und ggf. finanziell) machbar sein.
  • Prüfbar
    • Eine Anforderung muss sich durch einen Test oder eine Messung nachweisen lassen.
  • Realisierbar
    • Es muss möglich sein, jede Anforderung innerhalb des gegebenen Projektrahmens auch umzusetzen.
  • Verfolgbar
    • Der Ursprung der Anforderung als auch deren Umsetzung muss nachvollziehbar und nachverfolgbar sein (Traceablility).
  • Vollständig
    • Jede einzelne Anforderung muss die geforderte und zu liefernde Funktionalität vollständig beschrieben. Unvollständige Anforderungen sind zu kennzeichnen.
  • Glossar
    • Verwendete Fachbegriffe müssen einheitlich verwendet und in einem zentral verwalteten Glossar beschrieben sein.

Wann ist es hilfreich eine Verfolgbarkeit zu haben?

Bei umfangreicheren Spezifikationen sind spezielle ITSysteme hilfreich, um eine Verfolgbarkeit (engl. Traceability) zu gewährleisten.

Beispiel:

  • Geschäft
    • Auf dem bestehenden Schienennetz sollen pro Tag zusätzlich 10.000 Personen transportiert werden.
  • System
    • Die Minimaldistanz zwischen 2 Zügen soll stets grösser als der maximale Bremsweg des nachfolgenden Zuges sein.
  • Software
    • Der maximale Bremsweg soll alle 100 ms neu berechnet werden.

Verzahnung (Traceability) der Anforderungen ist wichtig.

Was stellt eine Verifikation sicher?

Verifikation stellt sicher, dass wir die Software (bzw. Produkt / Prozess) richtig entwickeln.

Was stellt eine Validierung sicher?

Validierung stellt sicher, dass wir die richtige Software (bzw. Produkt / Prozess) entwickeln.

Was sind die Anforderungen?

  • Definiert das “was”
  • Black Box
  • Sinn & Zweck
  • Anwendungssituation
  • Betont Nutzerperspektive
  • Beschreibt nicht die Lösung oder Implementierung

Was ist das Design?

  • Definiert das „wie“
  • White Box
  • Systemarchitektur
  • Systemumgebung
  • Funktionalität
  • Komponente
  • Schnittstellendefinition

Ist folgender Satz eine Anforderung oder eine Entwurfsentscheidung?

„Das System soll eine wahlweise nach Namen oder Land alphabetisch sortierte Liste von Teilnehmern mit Nummer, Name, Vorname und Land drucken. Auf jeder Seite soll unten links das Erstellungsdatum und unten rechts die Seitenzahl aufgedruckt werden.“

Das „Was“ bzw. „Wie“ sind kontextabhängig. Je nach Situation kann es sich um eine Entwurfsentscheidung oder um eine Anforderung handeln. Es gibt keine scharfe Trennlinie.

Anforderungen erheben ist oft schwierig. Was ist der unterschied zwischen Kundenwunsch, Kundenanforderung und System Requirement?

Kundenwunsch:

  • Unvollständig
  • Unverständlich
  • Inkonsistent
  • Falsch formuliert
  • Redundant
  • Mehrdeutig
  • Nicht testbar

Kundenanforderung:

  • Verstanden
  • Akzeptiert
  • Voraussetzungen geprüft
  • Lücken geschlossen

System Requirement:

  • Vollständig
  • Konsistent
  • Testbar
  • Risiken klar
  • Auswirkungen (Impact) evaluiert
  • Machbarkeit bestätigt
  • Voraussetzungen geprüft
  • Lücken geschlossen

Was sind die vier Hauptaktivitäten des Requirements Engineers?

  • Anforderungen erheben
  • Anforderungen validieren und verhandeln
  • Anforderungen dokumentieren
  • Anforderungen pflegen und verwalten

Was sind sonstige Aktivitäten des Requirements Engineers?

  • Erstellen und Pflegen von technischer Dokumentation
  • Vision & Strategie mitgestalten
  • Hindernisse ausräumen (engl. Impediments)
  • Kommunikation, Validierung und Verhandlung
  • Stakeholder Management
  • Dokumentation von Anforderungen

welche Fähigkeiten braucht ein Requirements Engineer?

  • Durchhaltevermögen
  • Technische Expertise
  • Konflikte lösen
  • Analytisches Denken
  • Kommunikation
  • Moderation
  • Selbstvertrauen
  • Kreativität
  • Empathie

Wie sieht die Klassifikation von Anforderungen aus?

siehe Bild

Was sind Randbedingungen?

Anforderungen deren zu Grunde liegendes Bedürfnis eine Einschränkung der Menge der zulässigen Lösungen durch den Auftraggeber / Kunden oder durch nicht beeinflussbare äussere Faktoren ist, z.B.

Technisch: Plattformen, Schnittstellen, verbundene Systeme.

Organisatorisch: Nicht veränderbare Prozesse und Organisationsformen

Normativ: Gesetze, technische Standards, Normen.

Kulturell: Sprache, Traditionen.

• Sonstige explizite Vorgaben des Auftraggebers.

Auch Randbedingungen sind zu dokumentieren (als separate Anforderungsart).

Wie kann ein System in seinem Kontext hergestellt werden?

  • Betrachtungsebene festlegen
  • In der Regel keine Systeminterna (System als „black box“)
  • Akteure modellieren, welche direkt mit dem System interagieren
  • Interaktion zwischen System und diesen Akteuren darstellen
  • Interkation von Akteuren untereinander modellieren
  • Ergebnis grafisch darstellen

Was ist die Basis für ein gutes Requirements Engineering?

Basis für gutes Requirements Engineering sehr gutes Stakeholder Management

Was ist ein Steakholder?

Basis für gutes Requirements Engineering sehr gutes Stakeholder Management

Was ist der Unterschied zwischen einem Internen und einem Externen Steakholder?

Interne:

  • Projektausführung (Sales, Legal, Einkauf)
  • Ressourcen (Budget, Manpower)
  • Interne / externe Kommunication (Marketing)
  • Experten (Forscher, Entwickler)
  • Entscheider (CEO’s, Projektleiter)
  • Kritiker
  • Kreative Denker

Externe:

  • Partner / Kunden (Lieferanten, Niederlassungen)
  • Startups
  • Know-How (Universitäten, Mentoren)
  • Öffentliche Förderung
  • Talente

Achtung: Hacker, Datendiebe, potenzielle Angreifer und Kritiker können auch “Stakeholder“ sein.

welches sind die Axiome nach Paul Watzlawick?

  • Man kann nicht nicht kommunizieren
  • Kommunikation erfolgt immer auch non-verbal.
  • Kommunikation hängt immer vom gegenseitigen Verhalten ab.

Was ist Emotionale Inteligenz?

  • Seine eigenen Gefühle und Stimmungen wahrnehmen.
  • Paraphrasieren (spiegeln)
  • Bedürfnisse anderer antizipieren.
  • Seine eigenen Stimmungen und Gefühle ausdrücken und formulieren.
  • Seine eigenen Stimmungen und Emotionen kontrollieren.

Was ist Empathisches Zuhören?

  • In die Augen schauen
  • Notizen machen
  • Paraphrasieren (spiegeln)
  • Respekt
  • Aktives Zuhören
  • Körpersprache und Gesten

Beim Zuhören gibt es vier Stufen welche ist die des Downloading?

Abgleich des Gesagten mit den eigenen Vorstellungen auf der Suche nach Gemeinsamkeiten, dann Abspulen eigener Erfahrungen.

Eigene Urteile bestätigen

Beim Zuhören gibt es vier Stufen welche ist die des Analytisches Zuhören?

Abgleich des Gesagten mit den eigenen Vorstellungen auf der Suche nach Unterschieden, dann Abspulen eigener Erfahrungen.

Unterschiede feststellen

Beim Zuhören gibt es vier Stufen welche ist die des Empatisches Zuhören?

Ausschalten des Beurteilungsprogramms, präsent sein für das Sehen der Welt mit den Augen des anderen, Erspüren der Anliegen des anderen.

Verbindung schaffen

Beim Zuhören gibt es vier Stufen welche ist die des Generatives Zuhören?

Wir fokussieren auf das Erfassen von zukünftigen Möglichkeiten und geben den neu entstehenden Ideen einen Raum.

Etwas Neues entsteht

Welche Konfliktarten gibt es?

  • Interessenskonflikt
  • Beziehungskonflikt
  • Gemischte Gründe für einen Konflikt
  • Wertekonflikt
  • Sachkonflikt
  • Struktureller Konflikt

Welche Konfliktlösungen gibt es?

  • Einigung
  • Einbindung aller relevanten Stakeholder
  • Untersuchung aller Einflussfaktoren
  • Kompromiss
  • Überstimmen
  • Abstimmung / Wahl
  • Varianten bilden
  • Plus-MinusTabelle
  • Entscheidungsmatrix

 

Was sind Unfaire Verhandlungsmethoden?

  • Bedrohung
  • Hartes Feilschen
  • Mobbing
  • Überbieten
  • Einen Bruch provozieren
  • Herunterspielen
  • Konfrontation vermeiden - Probleme aussitzen
  • Zwischenmenschliche Beziehungen ausnutzen oder in Frage stellen
  • Fakten unterdrücken

Welche Ermittlungstechniken gibt es?

  • Befragungstechniken
  • Kreativitätstechniken
  • Dokumenten-zentrierte Techniken, z.B. Systemarchäologie, Wiederverwendung (Re-Use)
  • Beobachtungstechniken
  • Unterstützende Techniken (Mindmaps, Workshops Prototypen, Videoaufzeichnung, ...)

Design Thinking vereinigt all diese Techniken auf kreativgestalterische Weise.

was sind die Prozessphasen im Design Thinking?

  • Verstehen
  • Definieren
  • Ideation
  • Bauen
  • Testen

Was versteht man unter der Prozessphase Verstehen?

Sei empathisch!

Den Nutzer kennen- und verstehen lernen. Kernbedürfnisse und Handlungsmotive ergründen.

Wer ist mein Nutzer? Was ist dem Nutzer wichtig? Weshalb gehört er in die Zielgruppe?

Was versteht man unter der Prozessphase Definieren?

Analysiere!

Die Nutzerperspektive wird als „Point-of-View“ definiert. Der POV beinhaltet die über den Nutzer erlernten Einsichten und das interpretierte Kernbedürfnis.

Der Innovationsraum wird definiert.

Was versteht man unter der Prozessphase Ideation?

Ermögliche wilde Ideen!

Durch Kreativitätstechniken werden auf Basis des POV viele Ideen generiert.

Am Ende der Ideationsphase werden besten Ideen ausgewählt (Synthese).

Was versteht man unter der Prozessphase Bauen?

Mache die Ideen begreiflich!

Zu jeder ausgewählten Idee wird ein Prototyp gebaut. Die Prototypen werden im Verlauf des Projektes aufwendiger und nähern sich iterativ der finalen Lösung an.

Was versteht man unter der Prozessphase Testen?

Lerne ob die Idee funktioniert!

Die Prototypen werden den Nutzern gezeigt und so getestet. Das NutzerFeedback ist sehr wertvoll.

Was sind die Grundprinzipien des Design Thinkings?

  • Empathie
  • Fokussierung auf zentrale Punkte
  • Iteratives Vorgehen
  • Perspektivenwechsel

Was sind Tools fürs Design Thinking?

Aktivitäten:

  • User Tests
  • Beobachtung
  • Fotografieren
  • Selbsterfahrung

Werkzeuge:

  • Checklisten
  • Interviews
  • Videoanalyse
  • Experimente

Ergebnisse:

  • User Feedback
  • Videodokumentation
  • Verbesserungspotenzia
  • Experience Map

Was sind die Vorteile beim Time Farming im Design Thinking?

  • Fördert intuitive Ideenfindung und beugt allzu kritischem Denken vor.
  • Sorgt für bessere Planbarkeit von kreativen Phasen.
  • Unterstützt eine aktive Teamdynamik
  • Durch die ständige Sichtbarkeit der verfügbaren Zeit werden die Teams dazu angehalten, effizient zu arbeiten.