von der nutzungsanforderung bis zur formalen softwarespezifikation – modellieren mit dem werkzeug...
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.TRANSCRIPT
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
© 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]