Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung
unter dem Förderkennzeichen 16OH22005 gefördert.
Die Verantwortung für den Inhalt dieser Veröffentlichung liegt
beim Autor/bei der Autorin.
Software Engineering I
Appendix 1:
Anforderungen & Notationen
10/16/2019 Software Design - WPF 1
Ein langer Weg beginnt mit dem ersten Schritt .
Laotse Chines. Denker ca. 600 v. Chr.
Inhalt
Funktionale Anforderungen beschreiben
Workflow beschreiben
Business Rules beschreiben
Dynamisches Verhalten beschreiben
Begriffe und Daten beschreiben
Verantwortlichkeiten beschreiben
Kontext beschreiben
Anwendungsfälle beschreiben
Projektziele beschreiben
Einfluss und Risiken
10/16/2019 Software Design - WPF 3
RQ +
Funktionales
a la SCRUM
RQ: SCRUM- User Stories
Scrum: User Story-Template
10/16/2019 Software Design - WPF 5
• English
• Deutsch
As <user role>
I want to ...<do something>
so that ... <justification>
Als <Benutzerrolle>
möchte ich ...<etwas machen>
so dass, ... <Begründung>
RQ: SCRUM - INVEST
RQ: Scrum User Story Breakdown
• Workflow Steps
• Major Effort
• Variations in Data
• Defer Performance
• Business rule Variations
• Simple / Complex
• Data Entry Method
• Risk Oriented
10/16/2019 Software Design - WPF 7
10/16/2019 Software Design - WPF 9
10/16/2019 Software Design - WPF 11
10/16/2019 Software Design - WPF 13
10/16/2019 Software Design - WPF 15
RQ +
Funktionales
a la BDD
RQ: BDD (*)
10/16/2019 Software Design - WPF 17
Title : <short text>
ID: <unique identifier>
Behavior:
Given
<pre-conditions>
WHEN
<actions>
THEN
<expected result>
Behavior Story
(*)
BDD
Behavior Driven Design
RQ: BDD - Beispiel
Title : E-Mail senden bei Inaktivität
ID: 123454
The Behavior:
Given
Eine Idee befindet sich in dem Status “wird umgesetzt“
WHEN
nach 30 Tagen kein Update oder Kommentar eingetragen wurde
THEN
soll eine E-Mail an den Mediator
gesendet werden.
10/16/2019 Software Design - WPF 19
RQ +
Workflow
RQ: BPM Swimlane
RQ: BPM Beispiel
16. Oktober 2019 MIT 15 – IT Requirements Engineering - 21 -
RQ: BPM – Beispiel II
RQ: Structured Analysis (SA)
10/16/2019 Software Design - WPF 23
RQ: Structured Analysis - Beispiel
RQ: UML Sequenz Diagramm
10/16/2019 Software Design - WPF 25
RQ: UML State Diagramm
10/16/2019 Software Design - WPF 27
RQ +
Business
Rules
RQ: Business Rules = Fachliche
Anforderungen
RQ: Ablaufdiagramm
10/16/2019 Software Design - WPF 29
RQ: Normaltabelle Aufbau
<Bedingung A> <Bedingung B>
:::<Bedingung 1> <Ergebnis 1.A> <Ergebnis 1.B>
::<Bedingung 2> <Ergebnis 2.A> ::
::::: :: ::
::RQ: Normaltabelle
10/16/2019 Software Design - WPF 31
RQ: Aufbau Inside-Out Tabelle
Bedingung 1 Bedingung 2
Bedingung A Bedingung I Bedingung III
Bedingung B Bedingung II :::
<Ergebnis A> <Ergebnis A>
RQ: Inside-Out Tabelle
10/16/2019 Software Design - WPF 33
RQ: Inside-Out-weiteres Beispiel
x < 5 x >= 5
y > 0 a > 7 true
y <= 0 y= x a = 7
Zustand ist gültig Zustand ungültig
RQ: Aufbau Entscheidungstabelle
<Bedingungen> <Bedingungs-Alternativen>
<Aktionen> <Vermerke der Aktionen>
10/16/2019 Software Design - WPF 35
Vier Quadranten
RQ: Entscheidungstabellen
RQ: Entscheidungstabelle – Beispiel
10/16/2019 Software Design - WPF 37
Source: http://www.cs.adelaide.edu.au/users/dwyer/COPE-MAN.html
RQ: Zustandsdiagramm
Aufbau – Zustand-Ereignis-Matrix
State
<state name/
number>
<state name/
number>
Event
<Event name> <next state> /
<Action to be executed>
10/16/2019 Software Design - WPF 39
RQ: Zustandsereignis-Matrix
RQ: UML-OCL
Object Constraint Language
10/16/2019 Software Design - WPF 41
RQ + Dyn.
Verhalten
RQ: Was ist „Dynamisches Verhalten“
10/16/2019 Software Design - WPF 43
C B
A
Das Verhalten eines Systems oder
einer bestimmte Komponente in
Bezug auf die Zeit.
RQ: UML- Sequenz Diagramm
RQ: UML State Diagram
10/16/2019 Software Design - WPF 45
RQ +
Begriffe und
Daten
Begriffliches Modell
10/16/2019 Software Design - WPF 47
Quelle:
http://scraping.pro/nosql/
RQ: Begriffliches Modell
Beispiel :
Online Shop
Die Wichtigkeit von Begriffen und Datenmodelle?
10/16/2019 Software Design - WPF 49
RQ: Daten Modell - UML
RQ: Daten Modell - ERD
10/16/2019 Software Design - WPF 51
RQ +
Verantwortli
chkeiten
RQ: CRC Verantwortlichkeiten
10/16/2019 Software Design - WPF 53
RQ + Kontext-
abgrenzung
RQ: Context Diagramm (SA)
10/16/2019 Software Design - WPF 55
RQ: Context Diagram - Beispiel
RQ: UML Context
10/16/2019 Software Design - WPF 57
RQ: UML Actors
Actors sind Personen mit
einer bestimmten Rolle
Typische Stakeholder sind:
Rollen leiten sich aus den
möglichen
Stakeholders ab
End-User
Support-Personal
Administratoren
Customizing Engineer
10/16/2019 Software Design - WPF 59
RQ +
Anwendung
s-fälle
RQ: UML Anwendungsfälle
RQ: UML Anwendungsfall - Beispiel
10/16/2019 Software Design - WPF 61
RQ: Anwendungsfall - Beschreibung
Beschreibung
Name / Id Name und Identifier des Anwendungsfalls
Kurzbeschreibung Kurzer Text, welcher den Anwendungsfall beschreibt
Akteure Welche Akteure sind an diesem Anwendungsfall beteiligt Vorbedingung Was muss erfüllt sein, damit dieser Anwendungsfall
ausgeführt werden kann
Fachlicher Auslöser Was ist der fachliche Grund für das Ausführen des Anwendungsfalles
Normalablauf Wie ist der normale Ablauf des Anwendungsfalles Alternative Abläufe /
Varianten
Welche Varianten sind noch möglich
Nachbedingung Was ist erfüllt, wenn der Anwendungsfall erfolgreich
10/16/2019 Software Design - WPF 63
RQ + Projekt-
ziele
RQ: Projektziele nach Tom Gilb
Quelle:
Principles of Software Engineering
Management, Tom Gilb
10/16/2019 Software Design - WPF 65
RQ +
Einfluss und
Risiken
Impact Analysis: Fishbone/Cause-Impact
Graph
Fishbone – Beispiel 1
10/16/2019 Software Design - WPF 67
Wirkung
Ursachen
Fishbone – Beispiel 2 Quelle: SmartDraw Template
10/16/2019 Software Design - WPF 69
Jetzt habe ich den
Überblick verloren !!
? ?
? ?
Überblick: Notationen und Einsatzgebiete
Notationen in der Praxis
10/16/2019 Software Design - WPF 71
/ Begriffliches Modell
Was muss ich wissen?
Was muss ich
mir merken?
Was muss ich wissen?
• Ich kann Anforderungen als SCRUM User Story erstellen
• Ich kenne die Notationsarten zur Dokumentation von
• Workflows
• Business Rules (Geschäftsregeln)
• Verhalten
• Begriffen und Daten
• Verantwortlichkeiten
• Kontext
• Anwendungsfällen
• Projektzielen
• Einflussfaktoren
10/16/2019 Software Design - WPF 73