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