Podcast
Questions and Answers
Welches der folgenden Werkzeuge ist NICHT für das Entdecken und Sammeln von Anforderungen geeignet?
Welches der folgenden Werkzeuge ist NICHT für das Entdecken und Sammeln von Anforderungen geeignet?
- Storyboards
- Interviews
- Excel-Tabellen (correct)
- User Stories
Offene Interviews erlauben es den Stakeholdern, verschiedene Aspekte des Systems ohne Einschränkungen zu besprechen.
Offene Interviews erlauben es den Stakeholdern, verschiedene Aspekte des Systems ohne Einschränkungen zu besprechen.
True (A)
Was ist eine der Hauptschwierigkeiten bei der Durchführung von Interviews in einem spezialisierten Bereich?
Was ist eine der Hauptschwierigkeiten bei der Durchführung von Interviews in einem spezialisierten Bereich?
Fachspezifische Sprache der Anwender.
User Stories sind __________, wie das System benutzt werden kann.
User Stories sind __________, wie das System benutzt werden kann.
Ordnen Sie die Interviewarten den entsprechenden Beschreibungen zu:
Ordnen Sie die Interviewarten den entsprechenden Beschreibungen zu:
Welcher Aspekt des Anforderungsmanagements wird durch Live-Beobachtungen unterstützt?
Welcher Aspekt des Anforderungsmanagements wird durch Live-Beobachtungen unterstützt?
Interviews sind immer eine Mischung aus offenen und geschlossenen Fragen.
Interviews sind immer eine Mischung aus offenen und geschlossenen Fragen.
Nennen Sie einen Vorteil von Interviews im Anforderungsmanagement.
Nennen Sie einen Vorteil von Interviews im Anforderungsmanagement.
Welche der folgenden Aussagen beschreibt das Anforderungsmanagement korrekt?
Welche der folgenden Aussagen beschreibt das Anforderungsmanagement korrekt?
Es ist möglich, alle Fehler während der Validierung der Anforderungen zu finden.
Es ist möglich, alle Fehler während der Validierung der Anforderungen zu finden.
Nennen Sie eine Technik zur Validierung der Anforderungen.
Nennen Sie eine Technik zur Validierung der Anforderungen.
Die __________ sorgt dafür, dass Änderungen an Anforderungen dokumentiert und nachvollziehbar sind.
Die __________ sorgt dafür, dass Änderungen an Anforderungen dokumentiert und nachvollziehbar sind.
Ordnen Sie die Anforderungsmanagement-Tools den passenden Funktionen zu:
Ordnen Sie die Anforderungsmanagement-Tools den passenden Funktionen zu:
Was ist ein Hauptziel der Anforderungserhebung?
Was ist ein Hauptziel der Anforderungserhebung?
Welche Rolle spielt der Nutzer während des Requirements Engineering Prozesses?
Welche Rolle spielt der Nutzer während des Requirements Engineering Prozesses?
Stakeholder drücken ihre Anforderungen typischerweise in einer einheitlichen Sprache aus.
Stakeholder drücken ihre Anforderungen typischerweise in einer einheitlichen Sprache aus.
Ein Review der Anforderungen ist nicht notwendig, solange die Entwickler die Anforderungen verstanden haben.
Ein Review der Anforderungen ist nicht notwendig, solange die Entwickler die Anforderungen verstanden haben.
Nennen Sie eine Herausforderung bei der Anforderungserhebung.
Nennen Sie eine Herausforderung bei der Anforderungserhebung.
Was ist ein wichtiges Ziel des Änderungsmanagements im Anforderungsmanagement?
Was ist ein wichtiges Ziel des Änderungsmanagements im Anforderungsmanagement?
Der Prozess zur Priorisierung und __________ von Anforderungen ist kritisch für den Erfolg eines Projekts.
Der Prozess zur Priorisierung und __________ von Anforderungen ist kritisch für den Erfolg eines Projekts.
Ordnen Sie die verschiedenen Elemente dem entsprechenden Aspekt des Anforderungsmanagements zu:
Ordnen Sie die verschiedenen Elemente dem entsprechenden Aspekt des Anforderungsmanagements zu:
Welche der folgenden Maßnahmen ist hilfreich bei der Anforderungserhebung?
Welche der folgenden Maßnahmen ist hilfreich bei der Anforderungserhebung?
Neue Anforderungen können sich während des Analyseprozesses ergeben.
Neue Anforderungen können sich während des Analyseprozesses ergeben.
Wie können unterschiedliche Quellen der Anforderungen dargestellt werden?
Wie können unterschiedliche Quellen der Anforderungen dargestellt werden?
Flashcards
Requirement Prioritization
Requirement Prioritization
Ordering requirements based on importance and impact.
Requirement Negotiation
Requirement Negotiation
Resolving conflicts between stakeholders and agreeing on requirements.
Stakeholder
Stakeholder
Individuals or groups affected by a system or project.
Requirement Gathering
Requirement Gathering
Signup and view all the flashcards
Conflicting Requirements
Conflicting Requirements
Signup and view all the flashcards
Unrealistic Requirements
Unrealistic Requirements
Signup and view all the flashcards
Requirement Viewpoints
Requirement Viewpoints
Signup and view all the flashcards
Stakeholder Needs
Stakeholder Needs
Signup and view all the flashcards
Requirement Review
Requirement Review
Signup and view all the flashcards
Prototyping
Prototyping
Signup and view all the flashcards
Test Case Generation
Test Case Generation
Signup and view all the flashcards
Requirement Review Process
Requirement Review Process
Signup and view all the flashcards
Formal Reviews
Formal Reviews
Signup and view all the flashcards
Testability of Requirements
Testability of Requirements
Signup and view all the flashcards
Requirement Completeness
Requirement Completeness
Signup and view all the flashcards
Requirement Unpredictability
Requirement Unpredictability
Signup and view all the flashcards
Interviews
Interviews
Signup and view all the flashcards
User Stories
User Stories
Signup and view all the flashcards
Storyboard
Storyboard
Signup and view all the flashcards
Ethnography
Ethnography
Signup and view all the flashcards
Closed Interviews
Closed Interviews
Signup and view all the flashcards
Open Interviews
Open Interviews
Signup and view all the flashcards
Stakeholder
Stakeholder
Signup and view all the flashcards
Domain-specific language
Domain-specific language
Signup and view all the flashcards
Study Notes
Software Engineering 1 - Themenblock 2: Requirements Engineering
- Agenda: Das Material folgt der Agenda von Prof. Dr. A. Reichenbach
- Inhalte des Themenblocks 2: Funktionale und nicht-funktionale Anforderungen, Prozesse des Requirements-Engineerings (Anforderungsanalyse), Erhebung, Spezifikation, Validierung und Anforderungsmanagement
- Lernziele der Veranstaltung: Konzepte von Benutzer- und Systemanforderungen verstehen, die Unterschiede zwischen funktionalen und nicht-funktionalen Anforderungen kennenlernen, die Prinzipien und Zusammenhänge im Requirements Engineering (RE) verstehen, die Organisation von Anforderungen in der Gesamtspezifikation (Lasten- und Pflichtenheft) verstehen, sowie die Notwendigkeit und Funktion des Anforderungsmanagements bei der Softwareentwicklung.
- Requirements Engineering: Die Beschreibung dessen, was ein System leisten soll (Dienste, Funktionsweise, Einschränkungen). Anforderungen spiegeln Kundenbedürfnisse wider und dienen bestimmten Zwecken.
- Requirements Engineering umfasst Unterprozesse: Erhebung, Analyse, Dokumentation und Überprüfung von Anforderungen
- Was ist eine Anforderung?: Abstrakte Aussagen über einen Service, Randbedingungen bis hin zu detailierten, mathematisch beschriebenen funktionalen Spezifikationen. Interpretationsspielräume (Lastenheft) und detaillierte Definitionen (Pflichtenheft) sind wichtig. Der Begriff "Anforderungen" kann je nach Kontext verschiedene Bedeutungen haben.
- Arten von Anforderungen:
- Benutzeranforderungen (natürliche Sprache, Diagramme, Randbedingungen)
- Systemanforderungen (detaillierte Auflistung von Funktionen, Services, Randbedingungen)
Bsp Mentcare System
- Benutzeranforderungen: (Definition): Das Mentcare System soll monatliche Managementberichte über die Kosten der von jeder Klinik verordneten Medikamente erstellen.
- Systemaforderungen: (Spezifikation): Am letzten Werktag eines Monats wird eine Zusammenfassung der verschriebenen Medikamente, deren Kosten und die verschreibenden Kliniken generiert. Der Bericht wird für den Druck nach 17:30 Uhr fertiggestellt. Der Bericht enthält Einzelheiten pro Klinik (Medikamentenname, Anzahl der Rezepte, Dosierungen und Gesamtkosten). Separate Berichte pro Dosierungseinheit (z.B. 10mg, 20mg) bei Bedarf. Zutritt zu den Berichten nur für autorisierte Nutzer (Zugangslisten).
- Stakeholder des Mentcare Systems: Patienten, Ärzte, Pflegekräfte, Rezeptionskräfte, IT-Abteilung, medizinischer Ethik-Beauftragter, Manager der Kliniken, medizinisches Archivierungs-Personal
Anforderungen bei agilen Methoden
- Agile Methoden: Details für Systemanforderungen werden vermieden, da Anforderungen schnell ändern. Dokumentation wird veraltet. Inkrementelles Requirements Engineering und "User Stories" werden eingesetzt. (Geschäftsanwendungen geeignet, aber nicht für kritische Systeme oder parallele Entwicklung)
Funktionale und nicht-funktionale Anforderungen
-
Funktionale Anforderungen: Definieren, was ein System tun soll (z. B. Dienstleistungen, Reaktionen auf Eingaben, Verhalten in Situationen). Kann explizit beschreiben, was das System nicht tun soll.
-
Nicht-funktionale Anforderungen: Definieren wie ein System funktionieren muss (z. B. Zeitbeschränkungen, Einhaltung von Standards, Ressourcenbedarf). Häufig auf das Gesamtsystem und nicht auf Einzel-Funktionen bezogen. Fachspezifisch vs. Generell.
Vollständigkeit und Konsistenz von Anforderungen
-
Vollständig: Die Beschreibung aller benötigten Funktionalitäten umfasst.
-
Konsistent: Keine Konflikte oder Widersprüche in den Beschreibungen sollten auftreten.
Nicht-funktionale Anforderungen (Beispiele)
- Definition: Beschränken Dienstleistungen und Funktionen (z. B. Zuverlässigkeit, Antwortzeiten, Speicherbedarf, Programmiersprachen, Entwicklungsmethodik).
- Relevanz: Nicht-funktionale Anforderungen sind oft wichtiger als einzelne funktionale Anforderungen.
Besonderheiten der Anforderungen
-
Ungenauigkeiten: Schwammige oder mehrdeutige Formulierungen können zu unterschiedlichen Interpretationen und damit Schwierigkeiten in der Entwicklung und Umsetzung führen.
-
Verbundenheit: Anforderungen sind oft voneinander abhängig oder beeinflussen sich gegenseitig.
Prozesse des Requirements Engineering
- 4 generische Aktivitäten:
- Anforderungs-Elicitation
- Anforderungs-Analyse
- Anforderungs-Validierung - Anforderungs-Management
- Durchführbarkeitsstudie (Vorstufe):
- Beurteilung ob ein Projekt realistisch und machbar ist
- Wirtschaftlichkeit, Kosten & Zeit
- Möglichkeiten zur Zusammenarbeit mit anderen Systemen
Erhebung und Analyse der Anforderungen
- Stakeholder, Nutzungsszenarien: Softwareentwickler arbeiten mit der gesamten Bandbreite an Stakeholdern zusammen um das Geschäftsumfeld zu verstehen.
- Entdeckung & Sammlung: Ermittlung benötigten Funktionalitäten, Performanz, Hardwareeinschränkungen, Verzahnung bestehender Systeme
- Klassifizierung & Organisation: Organisieren der Anforderungen in kohärente Gruppen
- Priorisierung & Verhandlung: Bestimmung der Priorität und Konfliktauflösung unter Stakeholdern
- Spezifikation der Anforderungen: Dokumentation als Eingabe für die nächste Analysephase.
- Notationen & Methoden: Nutzung von Interviews, User Stories, Storyboards & Ethnografie.
Herausforderungen bei der Anforderungs-Erhebung
- Unpräzise Stakeholder: Stakeholder wissen oft nicht präzise, was sie wollen und geben Anforderungen missverständlich.
- Konflikte unter Stakeholdern: Verschiedene Stakeholder haben oft widersprechende Anforderungen, die von politischen Faktoren und Veränderungen im Geschäftsfeld beeinflusst sein können.
- Nicht abschätzbare Komplexität: Oft ist nicht von Anfang an klar, was machbar ist und was nicht.
- Neue Anforderungen während des Prozesses: Während der Analysephase können neue Anforderungen auftreten.
- Methoden:
- Interviews
- User Stories
- Szenarios
- Storyboards
- Ethnographie
- Fokussierte Ethnographie
Spezifikation der Anforderungen
- Dokumentieren: Schriftliche Fixierung von Benutzer- und Systemaforderungen in einer Gesamtspezifikation (Software Requirements Document, kurz SRS).
- Benutzerverständlichkeit: Benutzeranforderungen müssen für Endnutzer und Kunden verständlich sein.
- Technische Tiefe: Systemanforderungen enthalten detailliertere technische Informationen.
- Entwurf vermeiden: Die Spezifikation beschreibt was das System tun soll, nicht wie der Entwurf realisiert werden soll.
- Typologie:
- Produktanforderungen
- Unternehmensanforderungen
- Externe Anforderungen
Spezifikationstypen
-
Natürliche Sprache: Klar, verständlich jedoch fehleranfällig (vage und mehrdeutig)
-
Strukturierte Sprache: Reduziert Mehrdeutigkeit aber oft schwer verständlich und kompliziert zu verstehen
-
Graphische Notationen (UML): Zusammenhänge und Beziehungen zwischen Komponenten darstellen.
- Anwendungsfalldiagramme
-
Mathematische Spezifikationen: präzise aber oft komplex für nicht-technische Personen.
Validierung der Anforderungen
-
Überprüfung: Sichern, dass Anforderungen das benötigte und erwartete System beschreiben.
-
Prüfarten: Gültigkeit, Konsistenz, Vollständigkeit, Realisierbarkeit, Verifizierbarkeit
-
Reviews: Regelmäßige Reviews von Stakeholdern (Kunde, Benutzer und Entwickler) sind notwendig.
-
Prototyping: Erstellung eines Prototypen erlaubt Endnutzer-Feedback
-
Testfälle: Ableitung von Testfällen zur Validierung.
Anforderungsmanagement
- Dynamisches Umfeld: Anforderungen an ein Systems ändern sich während des Entwicklungsprozesses und nach der Installation weiter (Neue Bedürfnisse, Hardwareanpassungen, Gesetze).
- Management-Prozess: Formaler Prozess für Änderungsanforderungen nötig (Identifikation, Ablauf, Richtlinien zur Dokumentation und Nachvollziehbarkeit, Werkzeuge)
- Formaler Prozess: Gleichbehandlung aller Änderungsvorschläge, Kontrolle von Änderungen am Gesamtsystem.
- Problemanalyse: Analyse von Problemen während des Prozesses (Entstehung, Auswirkungen, Kosten)
- Spezialisierte Tools: Zusätzliche Tools (z.B. Jira) sind für komplexe Systeme notwendig.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.