Requirement Engineering
Das Modul Requirement Engineering der FHNW
Das Modul Requirement Engineering der FHNW
Fichier Détails
Cartes-fiches | 105 |
---|---|
Langue | Deutsch |
Catégorie | Gestion d'entreprise |
Niveau | Université |
Crée / Actualisé | 29.12.2023 / 15.11.2024 |
Lien de web |
https://card2brain.ch/box/20231229_requirement_engineering
|
Intégrer |
<iframe src="https://card2brain.ch/box/20231229_requirement_engineering/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Créer ou copier des fichiers d'apprentissage
Avec un upgrade tu peux créer ou copier des fichiers d'apprentissage sans limite et utiliser de nombreuses fonctions supplémentaires.
Connecte-toi pour voir toutes les cartes.
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.
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
Welche Ziele hat das Requirements Engineering?
- Die relevanten Anforderungen zu kennen, Konsens unter den Stakeholdern über die Anforderungen herzustellen, die Anforderungen konform zu vorgegebenen Standards zu dokumentieren und die Anforderungen systematisch zu managen.
- Die Wünsche und Bedürfnisse der Stakeholder zu verstehen, zu dokumentieren sowie die Anforderungen zu spezifizieren und zu managen, um das Risiko zu minimieren, dass das System nicht den Wünschen und Bedürfnissen der Stakeholder entspricht.
Was ist eine Anforderung für das Requirement Engineering?
- Eine Bedingung oder Fähigkeit, die von einem Benutzer (Person oder System) zur Lösung eines Problems oder zur Erreichung eines Ziels benötigt wird.
- Eine Bedingung oder Fähigkeit, die ein System oder Teilsystem erfüllen oder besitzen muss, um einen Vertrag, eine Norm, eine Spezifikation oder andere, formell vorgegebene Dokumente zu erfüllen.
- Eine dokumentierte Repräsentation einer Bedingung oder Eigenschaft gemäss (1) oder (2).
Was bedeutet es eine Anforderung zu erheben?
- Kontext identifizieren
- Anstösse spezifizieren
- Antworten finden
- Restriktion beachten
Welche Qualitätskriterien gibt es?
- Abgestimmt
- Anforderung ist für alle Stakeholder korrekt und akzeptiert.
- Eindeutig
- Kann nur auf eine einzige Weise verstanden werden (kein Interpretationsspielraum).
- Notwendig
- Eine Anforderung muss die Gegebenheiten im Systemkontext so wiederspiegeln, dass sie hinsichtlich der aktuellen Gegebenheiten im Systemkontext gültig ist.
- Konsistent
- Anforderungen müssen widerspruchsfrei sein.
- Verständlich
- Die Anforderungen müssen für alle Stakeholder verständlich sein.
- Machbar
- Eine Anforderung muss technisch (und ggf. finanziell) machbar sein.
- Prüfbar
- Eine Anforderung muss sich durch einen Test oder eine Messung nachweisen lassen.
- Realisierbar
- Es muss möglich sein, jede Anforderung innerhalb des gegebenen Projektrahmens auch umzusetzen.
- Verfolgbar
- Der Ursprung der Anforderung als auch deren Umsetzung muss nachvollziehbar und nachverfolgbar sein (Traceablility).
- Vollständig
- Jede einzelne Anforderung muss die geforderte und zu liefernde Funktionalität vollständig beschrieben. Unvollständige Anforderungen sind zu kennzeichnen.
- Glossar
- Verwendete Fachbegriffe müssen einheitlich verwendet und in einem zentral verwalteten Glossar beschrieben sein.
Wann ist es hilfreich eine Verfolgbarkeit zu haben?
Bei umfangreicheren Spezifikationen sind spezielle ITSysteme hilfreich, um eine Verfolgbarkeit (engl. Traceability) zu gewährleisten.
Beispiel:
- Geschäft
- Auf dem bestehenden Schienennetz sollen pro Tag zusätzlich 10.000 Personen transportiert werden.
- System
- Die Minimaldistanz zwischen 2 Zügen soll stets grösser als der maximale Bremsweg des nachfolgenden Zuges sein.
- Software
- Der maximale Bremsweg soll alle 100 ms neu berechnet werden.
Verzahnung (Traceability) der Anforderungen ist wichtig.
Was stellt eine Verifikation sicher?
Verifikation stellt sicher, dass wir die Software (bzw. Produkt / Prozess) richtig entwickeln.
Was stellt eine Validierung sicher?
Validierung stellt sicher, dass wir die richtige Software (bzw. Produkt / Prozess) entwickeln.
Was sind die Anforderungen?
- Definiert das “was”
- Black Box
- Sinn & Zweck
- Anwendungssituation
- Betont Nutzerperspektive
- Beschreibt nicht die Lösung oder Implementierung
Was ist das Design?
- Definiert das „wie“
- White Box
- Systemarchitektur
- Systemumgebung
- Funktionalität
- Komponente
- Schnittstellendefinition
Ist folgender Satz eine Anforderung oder eine Entwurfsentscheidung?
„Das System soll eine wahlweise nach Namen oder Land alphabetisch sortierte Liste von Teilnehmern mit Nummer, Name, Vorname und Land drucken. Auf jeder Seite soll unten links das Erstellungsdatum und unten rechts die Seitenzahl aufgedruckt werden.“
Das „Was“ bzw. „Wie“ sind kontextabhängig. Je nach Situation kann es sich um eine Entwurfsentscheidung oder um eine Anforderung handeln. Es gibt keine scharfe Trennlinie.
Anforderungen erheben ist oft schwierig. Was ist der unterschied zwischen Kundenwunsch, Kundenanforderung und System Requirement?
Kundenwunsch:
- Unvollständig
- Unverständlich
- Inkonsistent
- Falsch formuliert
- Redundant
- Mehrdeutig
- Nicht testbar
Kundenanforderung:
- Verstanden
- Akzeptiert
- Voraussetzungen geprüft
- Lücken geschlossen
System Requirement:
- Vollständig
- Konsistent
- Testbar
- Risiken klar
- Auswirkungen (Impact) evaluiert
- Machbarkeit bestätigt
- Voraussetzungen geprüft
- Lücken geschlossen
Was sind die vier Hauptaktivitäten des Requirements Engineers?
- Anforderungen erheben
- Anforderungen validieren und verhandeln
- Anforderungen dokumentieren
- Anforderungen pflegen und verwalten
Was sind sonstige Aktivitäten des Requirements Engineers?
- Erstellen und Pflegen von technischer Dokumentation
- Vision & Strategie mitgestalten
- Hindernisse ausräumen (engl. Impediments)
- Kommunikation, Validierung und Verhandlung
- Stakeholder Management
- Dokumentation von Anforderungen
welche Fähigkeiten braucht ein Requirements Engineer?
- Durchhaltevermögen
- Technische Expertise
- Konflikte lösen
- Analytisches Denken
- Kommunikation
- Moderation
- Selbstvertrauen
- Kreativität
- Empathie
-
- 1 / 105
-