Requirement Engineering

Das Modul Requirement Engineering der FHNW

Das Modul Requirement Engineering der FHNW


Set of flashcards Details

Flashcards 105
Language Deutsch
Category Micro-Economics
Level University
Created / Updated 29.12.2023 / 15.11.2024
Weblink
https://card2brain.ch/box/20231229_requirement_engineering
Embed
<iframe src="https://card2brain.ch/box/20231229_requirement_engineering/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Was sind die vorteile von statischen Tests?

  • Kann früh im Softwarelebenszyklus durchgeführt werden.
  • Fehler werden frühzeitig entdeckt (z.B. falsche oder widersprüchliche Anforderungen, Inkonsistenzen, Ungenauigkeiten, Lücken, Designfehler, unnötiger Quellcode, Abweichungen von Standards und Prozessvorgaben, Verletzung von Sicherheits-auflagen, Einhaltung von Programmier-Richtlinien, etc.).
  • Fehler können kostengünstig behoben werden.
  • Es werden Fehler erkannt, die beim dynamischen Testen nicht so leicht festzustellen sind (z.B. Wartbarkeit, adäquate Modularisierung, fehlende Traceability, unzureichende Testabdeckung, …).
  • Verbesserte Kommunikation im Team durch das Abhalten von Reviews.

Was sind die fünf Schritte beim Review-Prozess?

 

  • 1. Planung
  • 2. Review initialisieren
  • 3. Individuelles Review
  • 4. Kommunikation der Ergebnisse
  • 5. Ergebnisse konsolidieren und Bericht

Was macht man beim ersten Schritt des Review-Prozesses? (Planung)

  • Definition der Ziele und des Inhaltes sowie Festlegung des zeitlichen Verlaufs.
  • Auswahl der Teilnehmer
  • Abstimmung des Review-Typs, der Rollenverteilung, Aktivitäten, Checklisten, …
  • Festlegung der Eintritts- und Beendigungskriterien bei formaleren Review-Typen.

Was macht man beim zweiten Schritt des Review-Prozesses? (Review initialisieren)

  • Verteilung der Unterlagen.
  • Ziele und Ablauf erläutern.
  • Offene Fragen beantworten.

Was macht man beim dritten Schritt des Review-Prozesses? ( Individuelles Review)

  • Sichtung aller Unterlagen.
  • Notieren aller Auffälligkeiten, Fragen und Erkenntnisse.

Was macht man beim vierten Schritt des Review-Prozesses? (Kommunikation der Ergebnisse)

  • Kommunikation der Ergebnisse, z.B. im Rahmen eines Review-Meetings.
  • Analyse der Ergebnisse / Befunde.
  • Entscheidungen treffen, z.B. Zurückweisung, Zustimmung, Zustimmung nach Durchführung von Änderungen, etc.).

Was macht man beim fünften Schritt des Review-Prozesses?(Ergebnisse konsolidieren und Bericht)

  • Erstellung eines Fehlerberichts.
  • Beheben von Fehlern (wird typischerweise vom Autor der jeweiligen Dokumente durchgeführt).
  • Check, ob die Beendigungskrite rien für das Review erfüllt sind.

Welche Rollen gibt es im Review-Prozess?

  • Autor
  • Schriftführer / Protokollant
  • Review Leader
  • Reviewer
  • Moderator
  • Management

Welche Arten von Reviews gibt es und was sind die Erfolgsfaktoren?

Arten: (geordnet von geringem Formulierungsgrad zu hohem)

  • Informelles Review
  • Walkthrough
  • Technisches Review
  • Inspektion

Erfolgsfaktoren:

  • Review sollte ein klares und abgestimmtes Ziel haben.
  • Die relevanten Personen sollten beteiligt sein.
  • Das Auffinden von Fehlern wird positiv bewertet (Firmenkultur!).
  • Atmosphäre des Vertrauens.
  • Gute Vorbereitung von Meetings.
  • Es gibt Checklisten und klare Rollen.
  • Managementunterstützung.
  • Betonung liegt auf Lernen und Prozessverbesserung.

was beinhaltet das Design Review based on Failure Mode (DRBFM)?

  • Impact Analysis
    • Es wird gezielt eine Analyse der Auswirkungen (Impact Analysis) durchgeführt, um potenziell von einer Änderung / Weiterentwicklung betroffene Funktionen in anderen Bereichen zu identifizieren.
  • Risikobetrachtung
    • Es wird gezielt eine Risikobetrachtung (Risk Finding, Concern Matrix) durchgeführt, um potenzielle Probleme, die durch eine Änderung / Weiterentwicklung verursacht werden, zu identifizieren.
  • Risiko-Eliminierung
    • Es wird gezielt versucht, die besten Lösungen gestalten, um Risiken möglichst ganz zu vermeiden.

Was ist ein Risiko beim Requirements Engineering?

Risiko = Eintrittswahrscheinlichkeit * erwarteter Schaden

Produktrisiken:

Risiken, die sich aus der Qualität des Produktes ergeben:

  • Potenzial, dass ein Fehler einer Person oder einer Organisation Schaden zufügt
  • Generell unzureichende Softwarequalität
  • Unzureichende Datenintegrität

Projektrisiken

Probleme bei Lieferanten

  • Mangelnde Lieferfähigkeit
  • Nichteinhaltung vertraglicher Vorgaben

Probleme innerhalb der eigenen Organisation

  • Zuwenig Ressourcen, mangelnde fachliche Fähigkeiten oder Qualifikationen
  • Politische Themen und ungünstige Unternehmenskultur (z.B. Fehler und Probleme werden nicht weitergemeldet, sondern vertuscht)

Welche vier Umgangsformen mit Risiken gibt es?

  • Vorbeugen (Resolved)
  • Mindern (Mitigated)
  • Auslagern (Owned)
  • Akzeptieren (Accepted)

Was sind Software Development Lifecycle SDLC?

Software-Entwicklungs-Lebenszyklus (Software Development Lifecycle SDLC)

beschreibt, welche Entwicklungs- und Testaktivitäten wann ausgeführt werden und wie diese zeitlich und logisch zusammenhängen. Es gibt sequentielle und iterative / inkrementelle Varianten.

  • Wasserfall-Modell
  • Agile Modelle (z.B. Kanban, Scrum)
  • V-Modell

Was ist das Agile Manifest?

Wir entdecken neue und bessere Wege zur Entwicklung von Software und möchten andere dabei unterstützen, dies ebenfalls zu tun. Daher vertreten wir die folgenden Werte:

  • Menschen und deren Zusammenarbeit sind wichtiger als Prozesse und Werkzeuge
  • Funktionierende Software ist wichtiger als eine verständliche Dokumentation
  • Die Zusammenarbeit mit dem Kunden ist wichtiger als die Vertragsverhandlung
  • Eine Antwort auf Veränderung zu finden ist wichtiger als einen Plan einzuhalten

Für was eignet sich ein Ishikawa Diagram?

  • dient dazu, von den Symptomen abgeleitet die „Grundursache“ eines Problems herauszufinden
  • Um sicherzustellen, dass nicht an Symptomen „herumgedoktert“ wird, sondern die zentrale Ursache erkannt wird
  • liefert noch keine Lösung bzw. Implementierung, aber durchaus eine konkrete Anforderung (die Anforderung ist NICHT die Lösung selbst).

Wenn bsw. ein Unternehmen Probleme mit einer niedrigen Produktivität hat und erkennt, dass die eigentliche Ursache in mangelnder Ausbildung der Mitarbeitenden liegt, dann lassen sich gezielt Anforderungen an ein Ausbildungsprogramm formulieren. Z.B. in Form einer User Story:

„Als Produktionsmitarbeiter benötige ich eine detaillierte Einführung in die Bedienung der Maschine in Form einer zweitägigen Schulung, um die vorgeschriebene Taktzahl einhalten zu können.“

Aber: Die konkrete Formulierung der Anforderungen lässt sich aus dem Ishikawa-Diagramm nicht ableiten (auch nicht aus dem Kano-Modell und auch nicht aus anderen Methoden). Die Übersetzung von Kundenproblemen in konkrete Anforderungen ist daher echtes Engineering!!!

Für mehrere Themenkreise / Probleme können mehrere Ishikawa-Diagramm sinnvoll sein!

Was ist die Definition und die Eigenschaft eines Modells?

Definition Modell:

Ein Modell ist ein abstraktes Abbild einer existierenden oder noch zu erschaffenden Realität.

Eigenschaften von Modellen:

  • Modelle sind (nur) ein Abbild der Realität.
  • Modelle verkürzen (oft) die Realität.
  • Pragmatische Eigenschaft, d.h. Modelle sind für einen spezifischen Verwendungszweck konstruiert (wie eine Metapher).

Was sind die formale Modellierungssprache und der Formulierungsgrad?

Formale Modellierungssprache:

  • Syntax legt die zu verwendenden Modellelemente fest.
  • Semantik definiert die Bedeutung der einzelnen Modellierungselemente.

Formalisierungsgrad:

  • Informal → Manuelle Zeichnungen, Strichmännchen, Skizzen, Design Thinking Prototypen
  • Semiformal → z.B. Zielmodelle mit Und-Oder Bäumen
  • Formal → v.a. UML (Unified Modeling Language) und BPMN (Business Process Model and Notation)

Was ist der Vorteil eines grafischen Anforderungsmodells?

  • bessere Verständlichkeit
  • unterstützen bestimmte Perspektiven Beispiel: U-Bahn-Netz, Länge der Verbindungslinien entspricht der Fahrzeit und nicht der Entfernung
  • verschiedene Abstraktionsgrade

Meist wird eine Kombination von natürlicher Sprache und grafischen Anforderungsmodellen verwendet.

Was sind die drei Ausprägungen von Anforderungen?

Ziele: Beschreiben Intentionen von Stakeholdern oder StakeholderGruppen. Sie können mitunter auch in Konflikt zueinander stehen.

Use Cases und Szenarien: Beispielhafte Abläufe der Systemnutzung.

Systemanforderungen (allgemein als Anforderungen bezeichnet): Beschreiben detaillierte Funktionalitäten und Qualitäten, die das zu entwickelnde System umsetzen soll und die möglichst vollständig und präzise als Eingabe für die weiteren Entwicklungsschritte dienen.

Für was eignen sich die Zielmodelle?

Zielmodelle Eignen sich besonders um die Vision des Systems zu verfeinern. Dies wird als Zieldekomposition bezeichnet.

Einfache Technik: UND-ODER-Bäume

Wo ist das BPMN Standart?

  • BPMN - Business Process Model and Notation (aktuelle Version 2.0.2)
  • Standard für die Beschreibung und Modellierung von Geschäftsprozessen
  • Wird von der OMG (Object Management Group) gepflegt und weiterentwickelt (die OMG betreut u.a. auch UML, Unified Modeling Language)

Wo sind die Einsatzgebiete für das UML?

  • Spezifikation
  • Visualisierung
  • Architekturdesign
  • Konstruktion
  • Simulation und Test
  • Dokumentation

Was sind die UML Use Case Diagramme?

  • betonen die Fokussierung auf wesentliche Funktionalitäten im Überblick
  • sind ein Werkzeug, um die Interaktion von Benutzern mit dem System darzustellen
  • stellen die Anforderungen von Anwendern in den Mittelpunkt der Betrachtung

Zeige eine Darstellung des UML

siehe Bild

Gib eim Konkretes Beispiel für ein UML Diagramm

Siehe Bild