IREN01 Flashcards
Definiere Requirements Engineering. In welcher Phase des Softwarelebenszyklus wird es durchgeführt? (1.1 und Übertragkarte aus IGIS)
Requirements Enginneering ist ein kooperativer, iterativer, inkrementeller Prozess, dessen Ziel ist, zu gewährleisten, dass:
1. Alle relevanten Anforderungen bekannt und in erforderlichem Detaillierungsgrad verstanden sind.
2. Alle Anforderungen konform zu den Dokumentationsvorschriften dokumentiert bzw. konform zu den Spezifikationsvorschriften spezifiziert sind.
3. Die involvierten Stakeholder ausreichende Übereinstimmung über die bekannten Anforderungen haben.
PHASE: Entwicklung
Nenne Merkmale des Requirements Engineering (2 Nennungen) (1.1 und Übertragkarte aus IGIS)
- Kooperativ: Es sind immer mehrere Personen oder Personengruppen (Anforderungsquelle: Stakeholder) involviert.
- Iterativ/inkrementell: Keine einzelne, abgeschlossene Aktivität zu Beginn eines Softwareprojekts, sondern mehrfache Durchführung, auch projektbegleitend, da Softwareentwicklung ein erkenntnisgetriebener Prozess ist. Die Anforderungen werden umfangreicher, besser, spezifischer (inkrementelle Verbesserung).
Nenne die drei Kernaktivitäten des Requirements Engineering. Werden sie in einer bestimmten Reihenfolge ausgeführt? (Übertragkarte aus IGIS)
- Ermittlung von Anforderungen
Die Anforderungen müssen von den Beteiligten und Betroffenen sowie sonstigen Quellen z. B. Normen, Gesetzestexte, Standards, systematisch gewonnen werden (Balzert, 444)
- Dokumentation von Anforderungen
- Prüfen und Abstimmen von Anforderungen
Nein, es gibt keine bestimmte Reihenfolge. Die Kernaktivitäten werden je nach Bedarf ausgeführt.
Nenne und beschreibe den systematischen Ablauf zur Ermittlung von Anforderungen an ein Softwaresystem im RE (4 Nennungen) (1.2, 2 und Übertragkarte aus IGIS)
Ziel:
Identifikation der Anforderungen an das System, die zur Erreichung des Ziels benötigt werden. Anforderungen erkennen und im für die aktuelle Projektsituation erforderlichen Detaillierungsgrad verstehen.
- Systemkontext bestimmen: Welche Stakeholder und Systeme haben direkte Abhängigkeiten zu dem zu erstellenden System?
Ergebnis: Überblick über konkrete Quellen für Anforderungen bekommen - Quellen für Anforderungen ermitteln: Stakeholder, Dokumente (z. B. Gesetze), andere Systeme (Altsystem, Konkurrenzsystem)
- Geeignete Ermittlungstechniken auswählen: je nach Anforderungsquelle und Projektsituation (menschlich (Sind die Leute überhaupt bereit zu einem Workshop, Brainstorming?), fachlich (Haben wir das notwendige Know-how?), organisatorisch (Zeit und Geld)) (z. B. Befragung, Kreativitätstechnik (Brainstorming), Beobachtung, Dokumentenzentrierte Techniken, Erstellen eines Prototyps)
- Anforderungen unter Einsatz der Techniken ermitteln: aus 2. und 3. Anforderungen im für die aktuelle Situation erforderlichen Detailgrad erstellen
Nenne und beschreibe den systematischen Ablauf zur Dokumentation von Anforderungen an ein Softwaresystem im RE (4 Nennungen) (Übertragkarte aus IGIS)
Ziel: Festhalten eines aktuellen Erkenntnisstands für alle Stakeholder, sodass sich jeder stets Überblick verschaffen. Oft sind Anforderungsdokumente auch Teil von Softwareerstellungsverträgen.
Sequentiell
- Zweck und Zielgruppe der Dokumentation bestimmen
- Detailebene und Darstellungsart auswählen: in Abhängigkeit von Zweck und Zielgruppe
- Anforderungen dokumentieren: in einem für 1. angemessenen Format
- Prüfen: Passt die Dokumentation noch zu Zweck und Zielgruppe?
Nenne und beschreibe den systematischen Ablauf zum Prüfen und Abstimmen von Anforderungen an ein Softwaresystem im RE (4 Nennungen) (1.2, Übertragskarte aus IGIS)
Sequentiell
Ziel: Die Qualität der Menge der dokumentierten Anforderung hinsichtlich der Kriterien Inhalt, Dokumentation und Abgestimmtheit sicherstellen. Missverständnisse durch Mehrdeutigkeiten vermeiden, widersprechende oder konkurrierende Anforderungen identifizieren und auflösen (Konfliktmanagement). Freigabe der Anforderungen zur Umsetzung in den nachgelagerten Phasen des SW-Projekts
- Prüfkriterien festlegen: bes. im Hinblick auf den Zeitplan
- Prüfprinzipien und Prüftechniken auswählen: Abhängig von Kriterien, Zeit und Stand der Dokumentation
- Prüfung durchführen und Ergebnisse dokumentieren: Nur Ergebnisse dokumentieren, die Fehlerbehebung erfolgt im Anschluss
- Abstimmen der Anforderungen/Konfliktmanagement: bei sich widersprechenden Anforderungen
Warum ist das Konfliktmanagement im RE so wichtig? (4.1)
In Projekten zur Erstellung von industriellen Informationssystemen sind viele verschiedene Stakeholder einzubeziehen. Im Verlauf des Requirements Engineerings werden daher in der Regel konkurrierende
oder sich gegenseitig widersprechende Anforderungen ermittelt und
dokumentiert.
Definiere “Softwarelebenszyklus” und was sind seine Phasen (5 Nennungen)? (Übertragkarte aus IGIS)
Softwarelebenszyklus: Eine Abfolge verschiedener Phasen, in denen sich ein Softwaresystem befinden kann. Eingesetzt für die mittel- und langfristige Projektplanung
- Planung - Aktivitäten vor dem Start eines Entwicklungsprojekts
- Entwicklung - Aktivitäten zwischen Start des Projektes und Inbetriebnahme des fertigen Systems, Erstellung des Systems
- Betrieb - Inbetriebnahme des fertigen Systems
- Wartung - Wartung und Weiterentwicklung nach Inbetriebnahme
- Abschaltung - Aktivitäten mit dem Ziel das System aus dem Betrieb zu nehmen
Nennen Sie die drei groben Ziele des RE? (1)
- Herausfinden und Festlegen, was ein zu erstellendes System können soll
- Herausfinden und Festlegen, welche Funktionen im Detail gefordert werden
- Sicherstellen des Wissenstransfers zum Entwicklungsteam
Was sind Requirements (Anforderungen)? (1.1 und 1.2)
Geforderte Funktionen und Eigenschaften eines Systems (Notwendige Funktionen und Eigenschaften eines Systems zur Lösung eines Problems)
Anforderungen an Systeme sind hierbei von fachlichen Problemen zu unterscheiden.
Von was wird das Format einer RE-Dokumentation beeinflusst? (3 Nennungen, 1.2)
Format: abhängig von
1. Art der zu dokumentierenden Anforderungen
2. Zweck und Personenkreis der Dokumentation
3. Vorschriften oder Vereinbarungen zum Dokumentationsformat
Beschreibe den Zusammenhang zwischen Problem, Anforderung und System im RE (1.3). Gehen Sie dabei näher auf Problem, Anforderung und System ein. Welche Schlüsse ziehen wir für Kommunikation und Formulierung von Anforderung aus diesem Beziehungsgeflecht? (2 Nennungen)
Das Problem ist der Auslöser für eine Anforderung. Die Anforderung(en) stellen Forderungen an das System, welches die Lösung für das Problem ist.
Anforderungen:
- Notwendige Funktionen und Eigenschaften eines Systems zur Lösung eines Problems
- Bilden die Beziehung zwischen Problem und Lösung (System), da sie konkrete Eigenschaften der Lösung beschreiben
- !!! Anforderungen können nur schwierig oder kaum unabhängig von der Lösung formuliert. Eine angestrebte Lösung bestimmt die Anforderungen maßgeblich !!! - WENN MAN SICH BEREITS EINE BESTIMMTE LÖSUNG VORSTELLT, DANN WIRD DAS DIE ANFORDERUNGEN BEEINFLUSSEN
Problem:
- Beschreibt, was in der realen Welt verändert werden oder erreicht werden soll (Ziel/Zweck des Systems)
- Unabhängig von Anforderungen und Lösungen. Es gibt immer mehrere Ansätze, mit denen das Problem gelöst werden kann
System:
- Eine konkrete Lösung, mit der das Problem gelöst bzw. das Ziel oder der Zweck erreicht werden kann.
Schlüsse:
1. Immer wissen, auf welcher Ebene gerade kommuniziert wird (Problem, Anforderung, Lösung)
2. Zu jeder Anforderung muss das zugehörige fachliche Problem formuliert werden; nicht von gewünschter Lösung zu sehr die Anforderungen beeinflussen lassen (s. !!!-Bereich bei Anforderungen)
Welche Arten von Anforderungen werden im Skript definiert (1.3) (3 Nennungen)? Nennen Sie Beispiele
- Funktionale Anforderungen: Anforderungen, die vom System bereitzustellende Funktionen definieren; Fachliche Funktionen, die durch ein System unterstützt werden sollen.
(Bsp.: Anzeigen aller verfügbaren Waren im Bestand) - Qualitätsanforderungen: Qualitative Eigenschaften, die ein System unterstützen muss; Ergänzung funktionaler Anforderungen um qualitative und quantitative Eigenschaften
(Bsp.: Unterstützung von 1000 Bestellvorgängen pro Sekunde) - Randbedingungen: Organisatorische und technische Vorgaben
(Bsp.: Gesetze, regulatorische Vorschriften von Behörden, firmeninterne Vorgaben und Richtlinien (Style Guide, Vorgabe eines technischen Rahmens (Programmiersprache oder Zielplattform))
Qualitätsanforderungen und Randbedingungen, die zu spät erkannt wurden, stellen ein großes Risiko dar. Sie können kaum „reingewartet“ werden und können Neukonzeption und Neuentwicklung des Systems notwendig machen.
Was ist ein Systemkontext? Beschreibe die 5 Elemente des Systemkontexts bei der Ermittlung von Anforderungen im RE? (2.1)
Systemkontext: relevante der Systemumgebung, der zur Definition und zum Verständnis von Anforderungen analysiert werden muss (Stakeholder, Umsysteme, die direkt mit dem System interagieren sollen); System- und Kontextgrenzen verschieben im Laufe des Projekts.
- Stakeholder mit bestimmten Zielen (z. B. Waren im Onlineshop bestellen) mit der Nutzung des Systems
- Technische Schnittstellen zur Einbindung der Funktionen anderer Systeme (z. B. Prüfen von Adressdaten in Adressdatenbank)
- Dokumente liefern Randbedingungen für die Entwicklung des Systems (z. B. gesetzliche Vorgaben)
- Systemgrenze: trennt das System von relevanter Umgebung; ist nicht von Anfang an stabil; verändert sich durch Hinzunahme oder Ausschluss von Anforderungen
- Kontextgrenze: separiert den Systemkontext von der für das System irrelevanten Umgebung; auch sie ist nicht von Beginn an stabil; alles außerhalb der Grenze ist irrelevant.
Was ist Stakeholder Management im Rahmen des RE? Grobe Definition ist hier gesucht. (2.2)
Im RE ist darauf zu achten, Stakeholder nicht nur zu identifizieren, sondern auch Motive und Grad der Einflussnahme auf das jeweilige Projekt zu bestimmen (Dies nennt man Stakeholder Management).
Was sind die drei Hauptquellen zur Bestimmung von Quellen der Anforderungen im RE (2.2)
- Dokumente (z. B. Gesetze oder Styleguides)
- Systeme (Altsysteme, Konkurrenzsysteme)
- Stakeholder
Erläutern Sie die Hauptanforderungsquelle der Stakeholder bei der Ermittlung von Anforderungen im RE. Gehen Sie hierbei auch auf den Begriff Stakeholder Management ein (2.2).
- Wichtigste Quelle für Anforderungen
- Beispiele: Auftraggeber, Benutzer, Mitarbeiter bestimmter Abteilungen (z. B. Rechtsabteilung), Software-Architekten, IT-Betrieb (Integrator, Systemtechniker)
- Große Menge an Stakeholdern mit verschiedenen Interessen und Grad der Einflussnahme
Beispiele für mögliche Interessenkonflikte:
Auftrageber hat starke Machtposition (wg. Geld) – oft in Konflikt mit Qualitätsmanagement oder Anwendern (aufgrund von Wunsch nach geringen Kosten leidet evtl. Qualität/Usability)
Projektleiter will zeitlich gut durchkommen und priorisiert deshalb Qualität und Funktionalität runter.
Take-Away 1: Im RE ist darauf zu achten, Stakeholder nicht nur zu identifizieren, sondern auch Motive und Grad der Einflussnahme auf das jeweilige Projekt zu bestimmen. Dies macht STAKEHOLDER MANAGEMENT.
Erläutern Sie die Anforderungsquelle der Dokumente (4 Nennungen) bei der Ermittlung von Anforderungen im RE. Welches sehr typische Risiko existiert hierbei? (2.2)
i. Unternehmensintern: Leitlinien, Unternehmens- oder IT-Strategien, Nachhaltigkeitsberichte, Sicherheitskonzepte
ii. Öffentlich: Standards, Best Practices
iii. Gesetzlich: Gesetze, Verordnungen, Erlasse, Richtlinien
iv. Dokumentation von Altsystemen (s. auch b.)
Takeaway 2: Typische Risiko ist das Übersehen von relevanten gesetzlichen Vorgaben (z. B. Datenschutz, mit weitreichendem Einfluss auf die Gestaltung des Systems haben. Zu spät erkannt = sehr teuer (Verzögerungen, großer Aufwand)
Erläutern Sie die Anforderungsquelle der Systeme(2 Nennungen) bei der Ermittlung von Anforderungen im RE. (2.2)
i. Altsystem/bestehendes System:
1. Bei Ablösung wichtige Quelle für funktionale und qualitative Anforderungen sowie Randbedingungen;
2. auch eine Quelle die zur Verbesserung des neuen Systems gegenüber dem Alten beitragen kann.
3. Nutzungsprotokolle: z. B. selten genutzte Funktionen
4. Dokumentation eines bestehenden Systems, wenn das Projekt auf einem bestehenden System aufsetzt
ii. Konkurrenzsysteme:
1. Funktionale und qualitative Anforderungen (was kann es? Was nicht?)
Beschreiben Sie Ausgangspunkte und Vorarbeiten des Stakeholder Managements beim Ermitteln der Anforderungen im RE (2.2)
Ausgangspunkte:
- Jeder Stakeholder hat individuellen Hintergrund, Kenntnisstand und individuelles Problemverständnis
- Hieraus folgen individuelle Sichtweisen und Prioritäten
Vorarbeiten
- Identifikation der relevanten Stakeholder
- Analyse der Stakeholderinteressen und Einflüsse auf das Projekt in Zusammenarbeit mit der Projektleitung
Erklären Sie die Stakeholder-Priorisierungsmatrix. Wie sollte mit den Personen in den einzelnen Quadranten verfahren werden? (2.2)
s. Abb. 4 (S. 25)
Aus einer Stakeholder-Priorisierungsmatrix wurde eine Stakeholder-Tabelle erstellt. Welche Einträge finden sich in dieser? (6 Nennungen)
- Name
- Rolle
- Macht (hoch/gering)
- Interesse (hoch/gering)
- Unterstützung (ggf. Projektrolle)
- Benötigte Informationen
Warum ist das Stakeholder Management so unglaublich wichtig? Nennen Sie auch zwei Risiken im Stakeholder Management (2.2)
Fehler, die in dieser frühen Phase gemacht werden, schreiben sich in den folgenden Phasen fort. Zumindest einige Stakeholder sind auch Geldgeber. Änderungen am System werden teurer je später wir uns im Entwicklungsprozess befinden. Es könnte gar sein, dass wir etwas Unbrauchbares oder Nicht-Akzeptiertes produzieren, dass dann nicht verwendet wird.
- Fehlende Stakeholder (Stakeholder nicht erfasst)
Folge: Anforderungen zu spät oder gar nicht erkannt Hohe Kosten - Fehlende Kooperationsbereitschaft unter den Stakeholdern
Ursachen: Motivationsmangel, Unzufriedenheit mit dem Altsystem, Angst vor Veränderung
Beschreiben Sie Best Practices im Umgang mit Stakeholdern (6 Nennungen) (2.2)
Best Practices im Umgang mit Stakeholdern
1. Regelmäßige Statusbesprechungen: Infofluss/Einbeziehung/Verständnis
2. Aus Projektbetroffenen durch Motivation Projektbeteiligte machen
3. Aufmerksamkeit: Anliegen ernst nehmen und darauf reagieren
4. Positiv eingestellte Stakeholder halten: aktive Einbeziehung, regelmäßige Info
5. Negativ eingestellte Stakeholder überzeugen: Erläuterungen, Motivation
6. Festlegen von Aufgaben, Weisungsbefugnissen und Verantwortungsbereichen zur Vermeidung von Missverständnissen: klare Zuteilung (Aufgaben/Verantwortungen) fördern Wertschätzung und vermeiden Gerangel um Kompetenz