Powerpoint - Requirements Engineering Flashcards

1
Q

Requirements Engineering - Motivation

A

Was ist Requirements Engineering?

  • Ermittlung von Anforderungen an ein (Software-)projekt in ingenieurmäßiger Herangehensweise
  • Automatische Massenberechnung mit DGMs!
  • Datenschutz
  • Einfache Bedienung!

——>Requirements Engineer

Wieso brauchen wir Requirements Engineering?

  • Anforderungen sind oft unklar definiert -> müssen ermittelt werden
  • Fehlende Anforderungen sind Hauptursache für Projektfehlschläge
  • Die ausführliche Ermittlung der Anforderungen bildet die Grundlage für funktionierende Software

Die Anwender von Software sind i.d.R. nicht die Programmierer der Software!

https://ibb.co/kGFcgJK

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

Requirements Engineering - Hauptaufgaben des Requirements Engineers

A

1 Ermitteln von Anforderungen
2 Dokumentation der Anforderungen
3 Prüfen & Abstimmen der Anforderungen
4 Verwalten der Anforderungen

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

Requirements Engineering - Anwendungsfälle - Definition:

A

Anwendungsfälle (Use Cases) beschreiben bestimmte Nutzungssituationen, in denen das System eine bestimmte Funktionalität einem oder mehreren Akteuren zur Verfügung stellt. Der Akteur verfolgt ein bestimmtes Ziel und mithilfe des Systems wird das Ziel durch die Ausführung der jeweiligen Systemfunktion erreicht.

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

Requirements Engineering - Methoden zur Informationsgewinnung:

A
  • Gespräch mit Nutzer
  • Beobachtung der Nutzer
  • Fragebogen
  • Workshop

→ Ermittlung von Szenarien, welche dann verallgemeinert als Anwendungsfälle beschrieben werden

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

Requirements Engineering - Beschreibung von Anwendungsfällen:

  • Use-Case-Diagramm
  • Use-Case-Beschreibung
A

Use-Case-Diagramm

https://ibb.co/GQMrHJJ

Use-Case-Beschreibung

  • Erläutern die einzelnen Anwendungsfälle in Textform näher
  • Beinhaltet folgende Informationen:
  • Name
  • Kurzbeschreibung
  • Akteure
  • Vorbedingung
  • Fachlicher Auslöser
  • Hauptszenario

https://ibb.co/kc0W1Cw

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

Requirements Engineering - Was ist eine Anforderung?

A

(1) Bedingung oder Fähigkeit, die ein Benutzer benötigt um ein Problem zu lösen.
(2) Bedingung, die ein System erfüllen muss, um die vom Nutzer gestellten Probleme zu lösen.
(3) Dokumentiert Repräsentation einer Bedingung oder Eigenschaft.

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

Requirements Engineering - Wie wird eine Anforderung erstellt?

A
  1. Anforderungskontext identifizieren und darstellen
  2. Anforderungen textuell erfassen
  3. Anforderungstemplates anwenden
  4. Natürlichsprachliche Methode anwenden
  5. Anforderungsqualitätsmerkmale definieren und berücksichtigen
  6. Produkt-, Projekt- und Plattformanforderungen differenzieren
  7. Funktional, nicht-funktional und Zusicherung differenzieren
  8. Qualitätsanforderungen definieren und erfassen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Requirements Engineering - Funktionale Anforderungen beschreiben

A
  • Dienste die das System leisten soll: z.B. Laden einer Karte
  • Das Ermöglichen von Eingaben: z.B. Eingabe Koordinatendatei
  • Reaktionen des Systems auf Eingaben: z.B. Darstellung der Datei
  • Situationsunabhäniges Verhalten des Systems: z.B. Reaktion des Systems soll von Fall zu Fall verschieden sein
  • Funktionen, die nicht Teil des Systems sind
  • Siehe auch Seite 30 (Satz-/ Anforderungsschablonen)
  • Unterteilt in drei verschiedene Faktoren:
  1. Basisfaktoren
  2. Leistungsfaktoren
  3. Begeisterungsfaktoren

https://ibb.co/MPqTmDF

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

Requirements Engineering - Dokumentieren der Anforderungen

A
  • Adäquates, natürlichsprachliches Beschreiben
  • Eindeutig, testbar und verständlich
  • Modellbasierte Dokumentationstechniken
  • Nutzung von Videos o.ä. um Verbindung zwischen Vorstellung und Realität herzustellen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Requirements Engineering - Nicht-funktionale Anforderungen

A

https://ibb.co/gSGXsqs

Technologische Anforderungen:

  • Hardwareanforderungen
  • Architekturanforderungen
  • Anforderungen an Programmiersprachen und -Datenaustausch

Dokumentation:
-natürlich-sprachlich
-graphisch
———————————————————————
Anforderungen an die Benutzeroberfläche:
-Schnittstellen zur Interaktion des Menschen mit dem System
-Form und Funktion von Ein- und Ausgabeelementen

Dokumentation:
-bildlich
-Zustands-automaten
-Tabellen
-Prototypen
--------------------------------------------------------------------------
Qualitätsanforderungen:
- Angaben über Güte des Produktes, des Prozesses oder der am Prozess beteiligten Personen

Dokumentation:
- natürlich-sprachlich
—————————————————————————
Anforderungen an sonstige Lieferbestände:
z.B. Lieferung eines Installationshandbuches neben Software

Dokumentation:
natürlich-sprachlich
—————————————————————————
Anforderungen an durchzuführende Tätigkeiten:
-Nach welcher Art und Weise soll das System entwickelt und eingeführt werden.
-Anforderungen an Vorgehensweise, anzuwendende Standards
-Hilfsmittel/Tools
-Durchführung von Besprechungen und Abnahmetests sowie Festlegung von Terminen

Dokumentation:

  • natürlich-sprachlich
  • Geschäfts-prozess-analyse

Rechtlich-vertragliche Anforderungen:

  • z.B. Angaben zu Zahlungen und zu Vertragsstrafen
  • Umgang mit Änderungen der Anforderungen

Dokumentation:

  • natürlich-sprachlich
  • im Vertrag geregelt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Requirements Engineering - Wozu werden nicht-funktionale Anforderungen benötigt?

A
  • vollständige Anforderungsspezifikation
  • zufriedene Kunden
  • sichere Planung
  • Rechtssicherheit
  • gesteigerte Produktivität
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Requirements Engineering - Funktionale Anforderungen

A
  • Technologische Anforderungen
  • Anforderungen an die Benutzer-oberfläche
  • Qualitäts-anforderungen
  • Anforderungen an sonstige Liefer-bestandsteile
  • Anforderungen an durchzuführende Tätigkeiten
  • Rechtlich-vertragliche Anforderungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Requirements Engineering - Qualitätskriterien für jede einzelne Anforderung

A

Für jede einzelne Anforderung gilt:

Zentrale Frage:
Wie erkenne ich, dass die eigens verfassten Anforderungen wirklich gut sind?

Erster Ansatz:
Vorm Verfassen muss bekannt sein wie eine Anforderung aufgebaut sein soll.

Ziel:
Anforderungen eindeutig verfassen und realistisch sowie umsetzbar gestalten.

Merke:
Alle Anforderungen unterliegen Qualitätskriterien.

https://ibb.co/g90L4XN

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

Requirements Engineering - Qualitätskriterien für Anforderungsspezifikation

A

https: //ibb.co/BzJMj97
https: //ibb.co/1Xpf2cR

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

Requirements Engineering - Qualitätsstandards

A

https://ibb.co/7KqhsZt

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

Requirements Engineering - Satz-/ Anforderungsschablonen

A

= Bauplan, der die syntaktische Struktur einer einzelnen Anforderung festlegt

  • Nur Syntax (Struktur)
  • Keine Semantik (Inhalt)
  • Für funktionale- und nicht-funktionale Anforderungen
  • Vereinheitlichung von Formulierungen und Äußerungen
  • Um typische Formulierungsfehler zu verhindern/ von vornherein ausschließen
17
Q

Requirements Engineering - Satz-/ Anforderungsschablonen 1 Schritt:

A

Verb (Prozesswort) bestimmen, welches als Systemverhalten gefordert wird

drucken, berechnen, speichern, …

18
Q

Requirements Engineering - Satz-/ Anforderungsschablonen 2 Schritt:

A

Schablone der Art der Systemaktivität wählen, die vom System gefordert wird

Selbstständige Systemaktivität

-Das System führt den Prozess selbstständig aus.

Benutzerinteraktion

-Das System stellt dem Nutzer die Prozessfunktionalität zur Verfügung.

Schnittstellenanforderung

  • Das System führt einen Prozess in Abhängigkeit von einem Dritten aus, ist an sich passiv und wartet auf externes Ereignis.
    https: //ibb.co/1n3hTFY
19
Q

Requirements Engineering - Satz-/ Anforderungsschablonen 3 Schritt:

A

Rechtliche Verbindlichkeiten festlegen

MUSS rechtlich verbindlich
SOLL dringend empfohlen
WIRD zukünftige Anforderung
https://ibb.co/nm3ySJS

20
Q

Requirements Engineering - Satz-/ Anforderungsschablonen 4 Schritt:

A

Objekte und Ergänzungen hinzufügen

Was? Wohin?
Wird vor das Prozesswort gesetzt
https://ibb.co/yWjccW3

21
Q

Requirements Engineering - Satz-/ Anforderungsschablonen 5 Schritt:

A

Randbedingungen festlegen

Anforderungen müssen nicht immer ausgeführt werden, sondern unter bestimmten zeitlichen / logischen Bedingungen

	WENN		zeitliche Bedingung
	FALLS		logische Bedingung

Satzumstellung -> rechtliche Bedingung wird vor das Subjekt gesetzt

https://ibb.co/kgW0Fr1

22
Q

Requirements Engineering - Satz-/ Anforderungsschablonen 6 Schritt:

A

Prüfung

Ist alles eindeutig formuliert? Alle – wer alle?
https://ibb.co/0MjdcYN

23
Q

Requirements Engineering - Satz-/ Anforderungsschablonen MIT und OHNE Bedingung

A

https://ibb.co/NKKMXst

24
Q

Requirements Engineering - Satz-/ Anforderungsschablonen Beispiel:

A

1) bezahlen
2) Benutzerinteraktion:
Das System bietet den Studierenden die Möglichkeit zu bezahlen.
3) Das System soll den Studierenden die Möglichkeit bieten zu bezahlen.
4) ohne Bedingung:
Das System soll den Studierenden die Möglichkeit bieten, das ausgewählte Essen mit der Karte zu bezahlen.
5) mit Bedingung:
Falls genügend Geld auf der Karte ist, soll das System dem Studierenden die Möglichkeit bieten, das ausgewählte Essen mit der Karte zu bezahlen.
6) Unklarheiten beseitigen:
z.B. Wieviel ist genügend Geld? Wer zählt als Student?