Anforderungsengineering Flashcards

1
Q

Definieren Sie Anforderungen.

A

Anforderungen in der Softwaretechnik legen die qualitativen und quantitativen Eigenschaften eines Softwaresystems fest. Sie sind Messlatte für das Qualitätsmanagement, für Test, Validierung und Abnahme der Software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was sind Lastenheft und Pflichtenheft?

A

• Lastenheft:
o Strukturierte Liste der Anforderungen aus Sicht des Kunden/Auftraggebers
• Pflichtenheft:
o Strukturierte Liste der Anforderungen aus Sicht des Auftragnehmers
o Verfeinerung des Lastenheftes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was versteht man unter Glossar?

A

Enthält die verwendeten domänenspezifischen Fachbegriffe, bzw. Begriffsdefinitionen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Definieren Sie Abnahmekriterien.

A

Abnahmekriterien legen fest, welche Kriterien die Software-Lieferung erfüllen muss, um den Anforderungen zu entsprechen. Sie sollen messbar dargestellt werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was sind Stakeholder?

A

Stakeholder sind relevante Beteiligte, Betroffene, Nutzer und Interessierte an der Software/Softwareentwicklung. Abhängig von den Stakeholdern unterscheidet man zwischen Nutzer- und Systementwicklungs-Anforderungen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Beschreiben Sie das Lastenheft.

A
  • Ein Lastenheft beschreibt die Wünsche und Anforderungen an ein Software-System aus der Sicht des Auftraggebers
  • Ein Lastenheft kann als ein Ausschreibungsdokument verwendet werden
  • Ein Lastenheft ist ein Dokument, das vom Auftraggeber ohne formale Vorgaben erstellt werden kann.
  • Für einen Kunden lohnt es sich dennoch das Lastenheft strukturiert aufzubauen. Je klarer man beschreibt, was man will, umso klarer ist die Position im späteren Projekt, bei Verhandlungen zur Aufwandsschätzung und umso geringer sind die entstehenden Projektrisiken.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Beschreiben Sie das Pflichtenheft.

A
  • Ein Pflichtenheft beschreibt die Anforderungen an ein Software-System aus Sicht des Softwareentwicklers
  • Ein Pflichtenheft übersetzt die Anforderungen des Auftraggebers in System-Anforderungen, ergänzt und verfeinert diese Anforderungen.
  • Ein Pflichtenheft muss strukturiert sein und bildet die Grundlage für Kalkulationen, Planung, Test und Abnahmen der Software
  • Ein Pflichtenheft klärt die Frage „was?“ und nicht die Frage „wie?“ die Softwarelösung aussieht.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Zwischen welchen Phasen des Software-Lebenszyklus werden Lasten- und Pflichtenheft eingeordnet?

A

• Lastenheft:
o zwischen Planungs- und Definitionsphase
• Pflichtenheft:
o zwischen Definitions- und Entwurfsphase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche Anforderungsarten gibt es?

A
  • Funktionale Anforderungen

* Nichtfunktionale Anforderungen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie sind funktionale Anforderungen definiert?

A

Funktionale Anforderungen legen eine vom Softwaresystem bzw. einer seiner Komponenten bereitzustellenden Funktionalität bzw. Service zur Lösung eines Problems fest.
 WAS soll ein Softwaresystem tun?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie sind nichtfunktionale Anforderungen definiert?

A

Nichtfunktionale Anforderungen, auch Quality of Service (QoS) Anforderungen genannt, beschreiben alle qualitätsbezogenen Eigenschaften, die das Softwaresystem erfüllen muss.
 WIE GUT soll eine Funktion erledigt werden?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Nenne Sie Beispiele für nichtfunktionale Anforderungen.

A
•	Funktionalität
o	z.B. Genauigkeit
•	Zuverlässigkeit
o	z.B. Fehlertoleranz
•	Benutzbarkeit
o	z.B. Verständlichkeit
•	Effizienz
o	z.B. Zeitverhalten
•	Wartbarkeit
o	z.B. Änderbarkeit
•	Portabilität
o	z.B. Anpassbarkeit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was sind Problemschwerpunkte bei der Anforderungsbearbeitung?

A
•	Anforderungen sind oft:
o	Unvollständig
o	Vage
o	Widersprüchlich
o	Falsch
o	Nicht strukturiert
•	Anforderungsfehler werden im Produktlebenszyklus oft zu spät erkannt
o	Änderungen sin kosten- und zeitintensiv
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Welche Qualitätsanforderungen gibt es im Kontext der Anforderungsbearbeitung?

A
  • Vollständigkeit
  • Eindeutigkeit
  • Verständlichkeit
  • Redundanzfreiheit
  • Nachprüfbarkeit
  • Klassifizierbarkeit
  • Widerspruchsfreiheit
  • Zurückführbarkeit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was versteht man unter Vollständigkeit?

A
  • Ein Anforderungsdokument ist vollständig, wenn alle funktionalen und nicht funktionalen Anforderungen enthalten sind.
  • Eine Anforderung muss die geforderten Funktionalitäten und deren Eigenschaften vollständig beschreiben. Ist die Anforderung noch unvollständig, dann ist dies zu kennzeichnen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was versteht man unter Eindeutigkeit? Nennen Sie ein richtiges und ein falsches Beispiel.

A
  • Die Anforderung ist eindeutig, wenn sie für verschiedene Leser (Stakeholder) keine unterschiedlichen Interpretationsmöglichkeiten zulässt.
  • falsch: Die Reaktionszeit der GUI muss schnell sein
  • richtig: Die Reaktionszeit der GUI muss unter 25ms liegen
17
Q

Was versteht man unter Verständlichkeit?

A

• Die Anforderung ist verständlich formuliert, wenn sie mit den vorliegenden Informationen von den erwarteten Stakeholdern eindeutig verstanden wird.

18
Q

Was versteht man unter Redundanzfreiheit?

A

• Ein Anforderungsdokument ist redundanzfrei, wenn sich Aussagen in den darin enthaltenen Anforderungen nicht wiederholen

19
Q

Was versteht man unter Nachprüfbarkeit?

A
  • Eine Anforderung muss so beschrieben werden, dass sie nach der Realisierung überprüfbar bzw. testbar ist. Es muss ein kosteneffektives Verfahren vorhanden sein, mit der eine Person oder eine Maschine überprüfen kann, dass das System die Anforderung erfüllt.
  • nicht überprüfbare Anforderungen enthalten Aussagen wie „Funktioniert gut“, „gute Benutzeroberfläche“, „soll normalerweise eintreten“
20
Q

Was versteht man unter Klassifizierbarkeit?

A

• Der Anforderung kann eine Wichtigkeitsstufe zugeordnet werden. Einige Anforderungen können essentiell sein z.B. bei lebenskritischen Anwendungen, während andere nur wünschenswert sind.
• Mögliche Klassen sind:
o Soll-Anforderungen: Das Softwaresystem kann ohne die Erfüllung der Anforderung nicht eingesetzt werden.
o Muss-Anforderung: Die Anforderung wertet das Softwaresystem auf, aber die Nichtrealisierung macht das System nicht unbrauchbar
o Kann-Anforderung: Anforderung, die das System u.U. wertvoller macht. Auftragnehmer die Möglichkeit, etwas Zusätzliches dem Auftraggeber anzubieten

21
Q

Was versteht man unter Widerspruchsfreiheit?

A

• Ein Anforderungsdokument ist widerspruchsfrei, wenn sich Anforderungen innerhalb des Anforderungsdokuments oder Anforderungen in mitgeltenden Unterlagen, sowie zwischen diesen Dokumenten nicht widersprechen.

22
Q

Was versteht man unter Zurückführbarkeit?

A

• Die Anforderung muss sich eindeutig identifizieren lassen, z.B. durch eine eindeutige Anforderungsnummer, die unverändert bleibt. Anforderungen des Pflichtenheftes müssen Anforderungen des Lastenheftes und der realisierenden Softwaremodule referenzieren.

23
Q

Was ist Anforderungs-Engineering?

A

• Anforderungs-engineering ist ein kooperativer, iterativer, inkrementeller Prozess, dessen Ziel es ist zu gewährleisten, dass:
o alle relevanten Anforderungen definiert, formell modelliert, verifiziert und in dem erforderlichen Detaillierungsgrad verständlich dokumentiert sind,
o die Stakeholder eine ausreichende Übereinstimmung über die definierten Anforderungen erzielen,
o alle Anforderungen konform zu den Dokumentationsvorschriften dokumentiert bzw. konform zu den Spezifikationsvorschriften spezifiziert sind.

24
Q

Was ist Anforderungs-Management?

A
  • Modellhafte Abbildung aller Anforderungen, Anforderungsattribute und –strukturen im gesamten Softwarelebenszyklus
  • Verwaltung von Anforderungen im gesamten Softwarelebenszyklus
  • Konfigurations- und Änderungsverwaltung der Anforderungen
  • Rückverfolgbarkeit von Anforderungen im gesamten Softwarelebenszyklus
25
Q

Auf welche Phasen beziehen sich Anforderungs-Engineering und Anforderungsmanagement?

A

• Anforderungs-Engineering:
o Auf die ersten zwei Phasen, also Planungs- und Definitionsphase
• Anforderungs-Management:
o Auf alle Phasen

26
Q

Wie sieht die Vorgehensweise zur Anforderungsermittlung aus?

A

• Stakeholder festlegen
• Analyse des Projektumfeldes – z.B. Standards, Normen, Gesetze, kulturelle Besonderheiten, Restriktionen
• Anforderungen ermitteln, dokumentieren und modellieren
• Ergebnis:
o Dokumentation der Ergebnisse
o Anwendungsfalldiagramme

27
Q

Nennen Sie benutzte Techniken und das Ergebnis der Analyse des Projektumfeldes.

A
•	Techniken:
o	Mind Maps
o	Brainstorming
•	Ergebnis:
o	Liste mit allen Projektumfeld-Elementen
28
Q

Nennen sie benutzte Methoden und Hilfsmittel zur Ermittlung, Dokumentation und Modellierung von Anforderungen.

A
•	Methoden
o	Befragungstechniken
o	Selbstaufschreibung
o	Feldbeobachtung
o	Moderationstechniken
o	Anwendungsfallanalyse
•	Hilfsmittel
o	Vorlagen/Muster/Templates/Schablonen für Anforderungen/Lastenheft/Pflichtenheft
29
Q

Was ist ein Anwendungsfalldiagramm?

A
  • Ein Anwendungsfalldiagramm beschreibt die Interaktion zwischen externen Objekten (Akteuren) und Vorgängen (Anwendungsfällen) im Software-System.
  •  Überblick über Struktur der Nutzungsfälle und den Beteiligten Akteuren
30
Q

Was sind die Ziele des Anwendungsfalldiagramms?

A
  • Abstimmung des Systemverhaltens zwischen Systemnutzern und SW-Entwicklern
  • Formalisierung der Nutzeranforderungen im Rahmen der Anforderungsanalyse
  • Dokumentierung des Systemumfanges für den Softwareentwicklungsvertrag, als Teil des Pflichtenheftes
  • Strukturierung des künftigen SW-Systems
  • Basis für die Gestaltung der Benutzeroberfläche der SW
31
Q

Nennen Sie Methoden zur Anforderungs-Verifikation und Verabschiedung.

A
•	Analysemethoden:
o	Inspektion 
o	Reviews
o	Round Tables
o	Peer Reviews
•	Validierungsmethoden
o	Gegenüberstellung der Anforderungen mit den Zielen und Visionen
o	Prüfung der Anforderungen durch Stakeholder
•	Verabschiedung
o	Workshops
o	Stellungnahme
32
Q

Nennen Sie Beispiele für Application Lifecycle Managment Systeme.

A
  • Polarion
  • PTC Integrity
  • SAP Solution Manager
  • HP Apllication Lifecycle Management
33
Q

WAS ist ReqIF (Requirements Interchange Format)?

A
  • ReqIF dient als generisches Austauschformat für Anforderungen zwischen verschiedenen Anforderungsmanagementsystemen
  • ReqIF ist XML-basiert
  • Etabliert ab 2004 durch vorrangig deutsche Automobilkonzerne
  • Seit 2010 durch ProStep gepflegt
  • 2013 wurde Version 1.1 durch Object Management Group verabschiedet