Von der Nutzungsanforderung zur formalen Softwarespezifikation

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

Transcript of Von der Nutzungsanforderung zur formalen Softwarespezifikation

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

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

© itemis AG

●●

Von der Nutzungsanforderungzur formalen Softwarespezifikation

Florian Geyer und Michael Jendryschik – itemis AG

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

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

© 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

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

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

© 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

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

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

© itemis AG

Bedeutung klarer Anforderungen für den Projekterfolg

4

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

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

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

© itemis AG

Bedeutung klarer Anforderungen für den Projekterfolg

5

Implementierte

Funktionalität

Benötigte

Funktionalität

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

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

© itemis AG

Bedeutung klarer Anforderungen für den Projekterfolg

6

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

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

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

© 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

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

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

© 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

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

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

© 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

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

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

© 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

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

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

© 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

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

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

© itemis AG

Anforderungsspezifikation und -management

Anforderungen dokumentieren – Modelle, Spezifikationen

12

Datenmodelle, Entities

User Interface(Mockup, Prototyp)

Use CaseAblaufdiagramm

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

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

© 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

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

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

© 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

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

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

© itemis AG

15

YAKINDU Requirements ist eine Software für das Anforderungsmanagement

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

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

© 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

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

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

© itemis AG

YAKINDU Requirements

Anforderungen spezifizieren

17

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

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

© itemis AG

YAKINDU Requirements

Use Cases spezifizieren

18

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

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

© itemis AG

YAKINDU Requirements

Interfaces spezifizieren – Pages

19

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

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

© itemis AG

YAKINDU Requirements

Interfaces spezifizieren – Interaktionsdesign

20

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

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

© itemis AG

YAKINDU Requirements

Dokumente generieren

21

Use Cases

Requirements

Lifecycles

Actors

User Interface

User Interface Flow

Entities

PDFHTMLMS Word

WBSMS Excel

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

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

© itemis AG

YAKINDU Requirements

Live-Demo

22

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

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

© 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

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

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

© itemis AG

YAKINDU Requirements

Diskussion und Ausblick

24

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

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

© itemis AG

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

Kontakt:

Florian Geyer, [email protected]

Michael Jendryschik, [email protected]