Requirements Engineering Flashcards
Anforderung
Im Kontext des Software Engineerings bezeichnet der Begriff “Anforderung” spezifische Beschreibungen von Funktionen, Leistungen und Qualitätsmerkmalen, die eine Software erfüllen muss. Diese Anforderungen dienen als Grundlage für den Entwicklungsprozess und bilden die
Grundlage für das Design, die Implementierung und die Bewertung der fertigen Software.
Requirements Engineering
Requirements Engineering beschäftigt sich mit der methodischen Erarbeitung und Dokumentation von Anforderungen an Software bzw. ein Softwaresystem. Dies umfasst die Ermittlung, Spezifikation, Analyse, Validierung sowie Definition eines frühen Produktmodells.
▪ Requirements Engineering (RE) ist eine der anspruchsvollsten Tätigkeiten
im Software Engineering
▪ Ziel der Lehrveranstaltung: Methoden und Werkzeuge kennenlernen, um
Anforderungen zu erheben und modellbasiert zu dokumentieren
IREB
International Requirements Engineering Board
▪ Ziel: Verbesserung der Qualität, Etablierung
von Standards, Förderung des Wissens
▪ Fokus auf Förderung von professionellem
Requirements Engineering
▪ Abdeckung verschiedener Aktivitäten
im Requirements Engineering
▪ Entwicklung und Bereitstellung von
Zertifizierungsprogrammen
Herausforderungen bei modernen Produkten
Vernetzung der Geräte führt zu neuen Funktionalitäten aber auch zu einer Steigerung der Komplexität und Schnittstellenvielfalt der Systeme
Rückverfolgbarkeit der Use Cases und Anforderungen fördert die Transparenz und
Kundenorientierung
Kollaborative / Interdisziplinäre Zusammenarbeit bedingt mehr Abstimmung, Partner und Apps
Änderungszyklen
neuer Features verkürzen sich bei gleichbleibender Hardware und kontinuierlicher Absicherung
Wissenstransfer
zwischen allen Beteiligten an einem zentralen Ort verhindert Wissensverlust
Stakeholder
Stakeholder sind Personen, Gruppen oder Organisationen, die ein berechtigtes Interesse oder einen Einfluss auf ein Projekt, eine
Organisation oder ein System haben. Dies schließt Kunden, Benutzer, Lieferanten, Entwickler und weitere Parteien ein, die direkt oder indirekt von den Aktivitäten oder Ergebnissen des Projekts betroffen sind.
▪ Stakeholder sind wesentliche, aber nicht ausschließliche Quellen, bei der
Definition von Anforderungen
▪ in der Regel nicht ausreichend Stakeholder mit Benutzern eines
Systems/Software gleichzusetzen (vgl. Erkenntnisse aktueller Literatur)
Pflichtenheft
Im Software Engineering bezeichnet das Pflichtenheft (Englisch: “Software Requirements Specification” oder “System Requirements Specification” genannt) ein Dokument, das die technischen Details und
Anforderungen für die Entwicklung einer Software spezifiziert.
▪ wird auf Grundlage des Lastenhefts erstellt
▪ beschreibt technische Details aus Sicht der Entwickler:innen
▪ häufig Analyse des Lastenheft zur Generierung des Pflichtenhefts nötig
(z.B. über spezifische, meist modellbasierte, Methoden – später vertieft)
Anforderungsquellen
Anforderungsquellen im Software Engineering sind die Ursprungsorte oder Quellen, aus denen Anforderungen an ein Softwareprojekt stammen. Diese Quellen liefern Informationen über die zu erfüllenden Bedürfnisse, Funktionen und Eigenschaften des zu entwickelnden Softwaresystems.
Drei Hauptkategorien von Anforderungsquellen
▪ Stakeholder (intern und extern, z.B. Produktmanager vs. Auftraggeber)
▪ Dokumente (z.B. regulatorische Standards / Normen, Wettbewerbsanalysen)
▪ angrenzende Systeme / Software (z.B. Betriebssystem, Datenbanken, Hardware