25
© itemis AG Von der Nutzungsanforderung zur formalen Softwarespezifikation Florian Geyer und Michael Jendryschik itemis AG

Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

Embed Size (px)

DESCRIPTION

Die Analyse und Spezifikation von Software-Anforderungen ist eine komplexe Aufgabe, die als Grundlage jedes Softwareentwicklungsprojekts für den späteren Erfolg oder Misserfolg maßgeblich ist. Oft bleiben jedoch Nutzungsanforderungen auf dem Weg zur Implementierung aufgrund einer mangelnden Integration in formale technische Spezifikationen auf der Strecke. Dieser Vortrag stellt einen werkzeugbasierten Ansatz zur Spezifikation komplexer interaktiver Systeme mit Hilfe des Werkzeugs YAKINDU Requirements vor.

Citation preview

Page 1: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

●●

Von der Nutzungsanforderungzur formalen Softwarespezifikation

Florian Geyer und Michael Jendryschik – itemis AG

Page 2: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Florian Geyer

Planung und Durchführung von Usability-

Maßnahmen im Softwareentwicklungsprozess

Michael Jendryschik

Anwender von YAKINDU Requirements, Schnittstelle

zwischen Produktentwicklung und Produktmarketing

itemis

2

Page 3: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Von der Nutzungsanforderung zur formalen Softwarespezifikation

Bedeutung klarer Anforderungen für den Projekterfolg

Nutzungsanforderungen und Systemanforderungen

Anforderungsspezifikation und -management

YAKINDU Requirements

Ansatz und Methodik

Demonstration am Beispiel

Ausblick und Diskussion

Modellierung mit dem Werkzeug

YAKINDU Requirements

3

Page 4: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Bedeutung klarer Anforderungen für den Projekterfolg

4

Quelle: Projektmanagement Studie 2008 (GPM, PA Consulting Group)

Page 5: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Bedeutung klarer Anforderungen für den Projekterfolg

5

Implementierte

Funktionalität

Benötigte

Funktionalität

Page 6: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Bedeutung klarer Anforderungen für den Projekterfolg

6

Usability-Engineering-Prozess nach DIN EN ISO 9241-210

Page 7: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Nutzungsanforderungen und Systemanforderungen

7

Übersicht

abstrakt

detailliert

Stakeholder-Anforderungen

Geschäftsziele und MarktanforderungenGesetzliche Anforderungen

Organisatorische AnforderungenZiele

Funktionale AnforderungenQualitätsanforderungen

RandbedingungenSystemanforderungen

Aufgaben und Bedürfnisse der NutzerUmstände des Nutzungskontexts

Eingabe und Ausgabe am SystemNutzungsanforderungen

Erfordernisse

Systemspezifikation

User Interface, PrototypenSchnittstellen, Architektur

Use CasesPflichtenheft

Page 8: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Nutzungsanforderungen und Systemanforderungen

Ausgangspunkt – Kontextszenarien

8

Paul (48) ist ein Mitarbeiter der itemis AG. Er möchte sich zwei Wochen Urlaub nehmen und erstellt daher einen Urlaubsantrag. Er sendet ihn an Harald, den Personalverantwortlichen bei itemis. Harald prüft den Antrag auf Konflikte mit vorhandenen Terminen und verfügbaren Urlaubstagen. Dafür muss er noch einmal Rücksprache mit Teamleiter Joachim halten und notiert sich daher den Antrag für später. Joachim sieht keine Konflikte und daher genehmigt Harald den Antrag von Paul schließlich. Harald benachrichtigt Paul über die Genehmigung seines Antrags. Paul bemerkt später, dass er einen Tag zu viel Urlaub genommen hat und möchte den Antrag ändern. Dafür schickt er einen erneuten Antrag an Harald, der die Änderung akzeptiert und Paul benachrichtigt.

Personen (und Systeme): Mitarbeiter, Personalverantwortlicher, Teamleiter

Benutzerziele und Absichten: Urlaub nehmen, Antrag prüfen

Abläufe oder Workflows: 1. erstellen, 2. senden, 3. rücksprechen, 4. genehmigen...

Objekte und Artefakte: Antrag, Urlaubstage, Termine, Genehmigung

Regelsituationen und Ausnahmesituationen: kein Urlaub, Terminkonflikt, etc.

Informationen über den Arbeitskontext: Mitarbeiterrollen, Unterbrechungen

Page 9: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Erfordernisse: Notwendige Voraussetzungen zur Erfüllung eines Zwecks

»Der Personalverantwortliche muss die verfügbaren Urlaubstage der Mitarbeiter

verfügbar haben um die Urlaubsgenehmigung sicherstellen zu können.«

Nutzungsanforderungen und Systemanforderungen

Anforderungen dokumentieren – Erfordernisse

9

Page 10: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Nutzungsanforderungen: Erforderliche Benutzeraktionen an einem

interaktiven System

»Der Nutzer muss am System ausstehende Urlaubsanträge erkennen können.«

»Der Nutzer muss am System verfügbare Urlaubstage der Mitarbeiter erkennen können.«

»Der Nutzer muss am System eine Urlaubsgenehmigung mit Kommentar eingeben können.«

Nutzungsanforderungen und Systemanforderungen

Anforderungen dokumentieren – Nutzungsanforderungen

10

Page 11: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Systemanforderungen: Bedingungen, die ein System oder eine

Systemkomponente erfüllen muss

»Vor Verwendung des Systems muss das System dem Nutzer die Möglichkeit bieten,

eine sichere Anmeldung über LDAP durchzuführen.«

»Nach Eingang eines Urlaubsantrags muss das System dem Nutzer die Möglichkeit bieten,

das Urlaubsantragsformular zu öffnen.«

»Beim Bearbeiten eines Urlaubsantrags soll das System dem Nutzer ein Textfeld anbieten,

um einen Kommentar einzugeben.«

Nutzungsanforderungen und Systemanforderungen

Anforderungen dokumentieren – Systemanforderungen

11

Page 12: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Anforderungsspezifikation und -management

Anforderungen dokumentieren – Modelle, Spezifikationen

12

Datenmodelle, Entities

User Interface(Mockup, Prototyp)

Use CaseAblaufdiagramm

Page 13: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Dokumentation der Anforderungen in einem

Spezifikationsdokument (z.B. Pflichtenheft)

Einheitliche Struktur (z.B. Volere)

Eindeutige Identifikatoren

Verweise auf Materialien und Modelle

Prioritäten und Konflikte

Quelle und Abnahmekriterien

Status und Versionen

Anforderungsspezifikation und -management

Spezifikationsdokumente

13

Page 14: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Unterschiedliche Stakeholder

(Business, IT, Usability etc.)

Verschiedene Sprachen und Perspektiven

Änderungen und Auswirkungen

von Änderungen

Querbezüge und Nachverfolgbarkeit

bei großen Projekten

Konsistenz bei dokumentenbasiertem

Vorgehen

Interdisziplinäre Zusammenarbeit

und Versionierung

Anforderungsspezifikation und -management

Anforderungen verwalten – Herausforderungen

14

Quelle: Fotolia

Page 15: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

15

YAKINDU Requirements ist eine Software für das Anforderungsmanagement

Page 16: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

YAKINDU Requirements

16

RequirementsNavigator

Requirements

Use Cases

Entities

Lifecycles

UI Pages

UI Flows

Texteditor

Spezifikation mittels einer DSL

Textbausteine

Templates

Referenzierung

Textvervoll-ständigung

Refactoring

Prüfung und ValidierungVisualisierung

Übersicht

Grafische Ansicht

Automatisch generierte Diagramme

Navigation

Page 17: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

YAKINDU Requirements

Anforderungen spezifizieren

17

Page 18: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

YAKINDU Requirements

Use Cases spezifizieren

18

Page 19: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

YAKINDU Requirements

Interfaces spezifizieren – Pages

19

Page 20: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

YAKINDU Requirements

Interfaces spezifizieren – Interaktionsdesign

20

Page 21: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

YAKINDU Requirements

Dokumente generieren

21

Use Cases

Requirements

Lifecycles

Actors

User Interface

User Interface Flow

Entities

PDFHTMLMS Word

WBSMS Excel

Page 22: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

YAKINDU Requirements

Live-Demo

22

Page 23: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

YAKINDU Requirements

Durch Standards offen für Erweiterungen

23

Eclipse Modeling

Framework ist die Brücke

zu anderen Standards

Austausch mit anderen

Werkzeugen durch das

Requirements Interchange

Format.

Flexible, dynamische

Definition des

Requirements Schemas

Textuelle Modellierung

erlaubt einfache

Spracherweiterungen

Page 24: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

YAKINDU Requirements

Diskussion und Ausblick

24

Page 25: Von der Nutzungsanforderung bis zur formalen Softwarespezifikation – Modellieren mit dem Werkzeug YAKINDU Requirements

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

itemis AG | Am Brambusch 15-24 | D-44536 Lünen | www.itemis.de

Kontakt:

Florian Geyer, [email protected]

Michael Jendryschik, [email protected]