Use Cases. KP Ludwig John. Use Cases

Ähnliche Dokumente
Kontextszenarien. und. Use Cases. KP Ludwig John. Kontextszenarien + Use Cases

Erstellen eigener use cases

Use-Case-Template. Deliverable E1.1

Use Case Beschreibung: <Name (Nummer)>

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

Objektorientierte Analyse (OOA) Inhaltsübersicht

effektiv erstellen Use Cases Alistair Cockburn Das Fundament für gute Software-Entwicklung Geschäftsprozesse modellieren mit Use Cases

Analyse und Entwurf objektorientierter Systeme

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, HS 2010

UML fürs Pflichtenheft

Use Cases. Use Cases

Objektorientierte Analyse und Design

Vgl. Oestereich Kap 2.1 Seiten

Software Engineering. 2. Requirements Engineering. Franz-Josef Elmer, Universität Basel, HS 2012

UML (Unified Modelling Language) von Christian Bartl

Softwaretechnik 2015/2016

Informationssystemanalyse Use Cases 11 1

RE-Praxisbericht: Ergebnisse einer aktuellen Studie zum Thema Use Cases

Übungen Softwaretechnik I

Lastenheft (Universität Paderborn, Softwaretechnikpraktikum SS2006)

Tutorium Use Cases 2.0 im Rahmen der Konferenz Modellierung 2014 in Wien

Lösung zur Zusatzaufgabe Bankensoftware

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

2. Übung zu Software Engineering

Checkliste Praktische Prüfung

Kernprozess zur System- und Softwareentwicklung. Logische Systemarchitektur f 1. f 2 f 3. f 4 Funktion. Technische Systemarchitektur SG 1 SG 2 SG 3

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

Requirements Engineering Vortragender: David Kurmann 2. Teil April 2008 Autor: Antoine Hauck

3.4 Unified Process Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge

OO-Design. Klausur FHF * WI1 / WI2 * SS Name:.../ Semester:...

Oracle JDeveloper 10 g

Usability. - Testszenarien

Dokumentation Projekt Virtuelles Tagebuch

Grundlagen Software Engineering

Vorlesung Datenbank-Entwurf Klausur

VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE. Einführung in die Informatik III

Software Engineering in der Praxis Praktische Übungen

Kurs 1793 Software Engineering I - Grundkonzepte der OOSE Klausur am

Systemanalyse. - Seminar für AI/DM 3 im Wintersemester 2004/05 -

Nutzersituation Personas, Kontext, Hypothesen

Anwendungsfall- Modellierung

- Prüfung - Prüfspezifikation für Anforderungen (Lastenheft)

Software- und Systementwicklung

Software Engineering

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Systemoptimierung durch Anwenderperspektiven. Jörg Thomaschewski Hochschule Emden/Leer Thies Pfeiffer Universität Bielefeld

Requirements Dokumentation Seminar- Requirements Engineering. Manoj Samtani Oliver Frank

Vgl. Oestereich Kap 2.7 Seiten

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Mobile Usability. Mobile Usablity Dr. Eric Fehse 25. September 2014 Folie 1

Use Cases vs. Funktionale Spezifikation

Dr. Wolfgang Göbl Raiffeisen Solution

Wie erreiche ich was?

Informationssystemanalyse Personal Software Process 8 1

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

2. Der Software-Entwicklungszyklus

Requirements Engineering Gastdozent: David Kurmann Modul: SWE SS08 Datum: 14 April 2008 Autor: Marco Röösli

SEQUENZDIAGRAMM. Christoph Süsens

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Vorlesung Programmieren

Setze nach und nach das Datum in die entsprechenden Kästchen ein.

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Softwaretechnologie - Wintersemester 2011/12 - Dr. Günter Kniesel

lohmeyer White Paper Use Cases II UX+Prozessanalyse

How to do? Projekte - Zeiterfassung

Comparison of Software Products using Software Engineering Metrics

Modellierung von Variabilität mit UML Use Cases

Objektorientierte Analyse & Design

Projekt-Planung Delphi Tage 2012

Communication Metrics for Software Development

D1: Relationale Datenstrukturen (14)

Techniken der Projektentwicklungen

30 Multiple Choice-Fragen - pro Frage gibt es immer 1-4 richtige Antworten

Kapitel 2 - Die Definitionsphase

3. Analysephase Anforderungen, Anwendungsfälle Softwaretechnik (CNAM)

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert

Requirements Engineering bei IXOS - mit Beteiligung von User Experience

Was ist ein Compiler?

JAVA PROJEKT. Schiffe Versenken mit GUI. Projektheft

Softwarepraktikum SS 2005 Inhalt - VL 10. Softwaretechnik. Softwareentwicklungszyklus (2) Wasserfallmodell. Softwareentwicklungszyklus

Unified Modeling Language (UML)

Leitfaden zur Erstellung einer Projekt- oder Abschlussarbeit

Boosting Requirements Engineering für SCRUM Projekte. Copyright 2010 MaibornWolff et al

ACS Data Systems AG. Bestellungen. (Version ) Buchhaltung für Schulen. ACS Data Systems AG. Bozen / Brixen / Trient. Tel

Protokolle erstellen

SERVICE LEVEL AGREEMENT

DATEV pro: Datenübernahme FIBU alle Mandanten

Softwareentwicklungsprozess im Praktikum. 23. April 2015

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

Die Softwareentwicklungsphasen!

Vorgehensweise bei der Erstellung. von Hausarbeiten (Bachelorarbeiten)

tifakt Dokumentation bmsoft information technologies GmbH 2012 tifakt Dokumentation 1 / 16

Transkript:

Voraussetzung Umfang des Projektes und Nutzersituation sind definiert in Form von: Konzept (Projektziel, Funktionen) Personas (Zielgruppe) Nutzungskontext (Technik, Umgebung, Zeitrahmen) Funktionen (Interessen / Funktionen / Nutzen)

Use cases Was sind use cases? Definition von Anforderungen und Zielsetzungen für ein zu entwickelndes Produkt - detaillierte Beschreibung der Interaktions-Abläufe - eingeführt von Ivar Jacobson et al. im Bereich objektorientierte Systementwicklung ("Object-Oriented Software Engineering (OOSE)" /Jacobson, 1992) - sieht vor, Anwendungsfälle ("") in Textform zu beschreiben.

Use cases - Nutzen Hilfe beim Abschätzen von Komplexität + Kosten durch Definition von Umfang und Zweck des zu erstellenden Systems Erfassen der funktionellen und inhaltlichen Anforderungen. Welche Abläufe sollen zu erst behandelt werden? Fortwährende Kontrolle der vereinbarten Zielsetzungen während des Entwicklungsprozesses effektives Mittel zur Verständigung unter den Projektbeteiligten. Minimieren des Risikos von Missverständnissen und auseinandergehenden Erwartungen Referenz für Testszenarien in UX-Test.

Use cases - Form Ausprägungen Bei Softwareentwicklern oft als Funktionsdiagramm sinnvoll erst später in Projekt-Entwicklung technisch-logische Strukturierung interner Systemabläufe Funktionsdiagramm: Speichern des Spiels

Use cases - Form im UX-Design Interaktionsabläufe in Textform beschreiben, am besten tabellarisch Beschreibung aus Sicht der Benutzer (nicht die inneren Abläufe des techn. Systems) Aufschlüsseln des Gesamtvorganges in einzelne Handlungsschritte Standardbeispiel: Vorgang Bargeld am Automaten beziehen (ATM):

Use cases - Form

Use cases - Tabelle Elemente Voraussetzungen >> vor Ablauf Use Case Szenarios erfüllt >> evtl. hat anderer Use Case diese Vorbedingung(en) eingerichtet. Trigger >> Auslöser des Use Case Szenarios aus >> oft erste Aktion des Standardablaufes Standardszenario >> Idealablauf ( happy path ) >> Ergebnis im Erfolgsfall Alternative Möglichkeiten >> Sondersituationen Mindestgarantie >> was erhält Primärakteur bei Nichterreichen des Interaktionszieles?

Use cases - Tabelle Ebenen Use Case Tabellen immer gleich strukturiert, jedoch mit unterschiedlicher Betrachtungsnähe (Ebene): Überblick Aktion Unteraktion Beispiel ATM im Detail:

Use cases - Tabelle ATM - Überlicksebene Was würde der UC beinhalten? Voraussetzungen welche? Trigger welcher? Standardszenario Einzelne Handlungsschritte werden wiederum in Unter-UseCases ausgelagert Alternative Möglichkeiten Sonderfälle? Mindestgarantie Was bleibt bei Misserfolg?

Use cases - Tabelle Beispiel ATM Use Case 2.0: Geld abheben Voraussetzungen Use Case 1.0 (Authentifizierung) erfolgreich >> kann über verschiedene Methoden erfolgen >> definiert in Use Case 1.0 Trigger Use Case 1.0 (Authentifizierung)

Use cases - Tabelle Beispiel ATM Use Case 2.0: Geld abheben Standardszenario - Auswahl des abzuhebenden Geldbetrages (Menüpunkte oder freier Betrag) (!) - überprüfen, ob (!) sich genügend Bargeld im Automaten befindet - Anfrage an die Bank (Datenverbindung) (!) - Bestätigung seitens der Bank erhalten (!) - Auszahlung der korrekten Summe - Archivierung des Vorgangs im System - Auf Wunsch (!) Ausdruck einer Quittung - Karte zurück geben (!) >> evtl. in Use Case 0.0 bereits erfasst

Use cases - Tabelle Beispiel ATM Use Case 2.0: Geld abheben Alternativen (!) - Auszahlung seitens Bank nicht genehmigt: >> Information an den Nutzer >> Abbruch des Vorgangs - Nutzer kann Vorgang jederzeit vor der Auszahlung abbrechen - Karte nicht lesbar >> falsch eingesteckt? >> defekt / ungültig? - Nicht ausreichend Geld im Automaten, um Anfrage zu bedienen etc. >> Information an den Nutzer >> evtl. Vorschlag eine geringere Summe zu wählen

Use cases - Tabelle Beispiel ATM Use Case 2.0: Geld abheben Mindestgarantie - Karte zurück geben - Keine Kontobewegung bzw. keine Gebührenberechnung

Use cases - Inhalt Funktionale Anforderungen an ein System aus Sicht von externen Bedienern ("Aktoren"). Beschreiben von Anwendungsfällen (). Spezifizierung von - Voraussetzungen (zur Ausführung des ) - auslösender Impuls - Interaktionsablauf - Ergebnis im Erfolgsfall - Ergebnis bei Abweichungen vom happy path, ggf. Weiterverzweigungen zu anderen Nur die Aktionen bzw. Ereignisse zu spezifizieren, die aus der Sicht der Bedienungseinheit erkennbar sind! (Nicht aber Details, die beschreiben, wie das System intern arbeiten soll.)

Use cases - Beispiel Beispiel einer gelungenen Tabelle Aqualogic - Steuerung Kläranlage Master IMS 2011

Use cases - Beispiel Aqualogic - Steuerung Kläranlage Master IMS 2011

Nummerierung + Titel: Nummerierung kennzeichnet Hierarchie der. Titel benennt den Vorgang

Datum + Version: Der Übersichtlichkeit halber empfohlen!

Akteur: Nur notwendig bei wechselnden Akteuren, bzw. auf Überblicksebene

Ebene: Überblick, Aktion, Unteraktion... Korrespondiert mit Nummerierung

Voraussetzung: Trigger-Aktion; bzw. vorher abgelaufene UCs

Erfolgsfall: Ziel der Interaktion auf dieser Ebene Mindestgarantie bei Misserfolg

Standardszenario: Idealablauf schrittweise durchnummeriert Einzelschritte können bei Bedarf als UCs (Ebene Unteraktion) im Detail separat beschrieben werden

Erweiterungen: Abweichungen vom Happy Path Sondersituationen (User bricht ab, Vorgang misslingt an einer Stelle etc.)

Use cases - Beispiel Problematische Lösung (IA6 / 2009) Alles auf einer Seite

xioscreen: Verbindung über WLAN aufbauen und mit Screen interagieren Aufbereitung: Einteilung und Kategorien prinzipiell gut, allerdings zu eng gelistet >> kaum Platz für Behandlung der Ausnahmefälle (Erweiterungen) >> unübersichtlich >> schlecht handhabbar

Use cases - Bestandteile Besser (nach Alistair Cockburn (2003): Pro Use Case ein Blatt mit Tabelle, dabei in voll ausformulierter Form folgende Punkte (optional) verwenden: 1. Nummer und Name des Use-Case (Handlungsbeschreibung) 2. Charakteristische Information wie Hauptakteur, Ebene, Rahmen, Auslöser 3. Haupt-Erfolgsszenario: beschreibt schrittweise Interaktion zwischen Hauptakteur und System 4. Erweiterungen zum Haupt-Erfolgsszenario 5. Alternative Variationen des Szenario-Ablaufs, falls Verzweigungen im Hauptszenario vorhanden 6. Weitere Informationen wie Priorität, Frequenz, sekundäre Akteure 7. Offene Punkte, die ferner zu diskutieren sind 8. Verfassungsdatum oder -version

Use cases - Bestandteile Quelle: Benjamin Mayer, 2016

Use cases - Bestandteile Weiterführende Informationen: http://faculty.washington.edu/jtenenbg/courses/360/f03/project/ usecaseguidelines.html Buch: effektiv erstellen von Alistair Cockburn (Autor), Rüdiger Dieterle (Übersetzer)

Erstellen eigener use case Tabellen

Use cases - Tabellen Erstellen detaillierte Auflistung aller Schritte der Mensch-Maschine-Interaktion (gesamte System-Funktionalität allgemein verständlich und formal korrekt festhalten) Definition notwendiger Handlungen und Interaktions-Schritte zur Erledigung einer bestimmten Zielstellung Priorisierung einzelner (Unter-) Aktionen ggf. Unterscheidung von einzelner use cases entsprechend verschiedener Zielgruppen

Use cases - Template Pro Use case 1 Blatt A4

Use cases - Tabellen Übersichtlichkeit Vielzahl der Tabellen wird schnell unübersichtlich >> Use-Case Diagramm anlegen

Quelle: Moser: User Experience Design; Springer Vieweg, 2012, S. 101

Use cases - Tabellen Übersichtlichkeit Vielzahl der Tabellen wird schnell unübersichtlich >> Use-Case Diagramm anlegen Ausprobieren!

Use cases Empfehlung Tabellen und Diagramm ausdrucken und im Arbeitsraum sichtbar anbringen dadurch: konstante Referenz für alle Projektteilnehmer in allen Entwicklungsphasen

Use cases Evaluieren Erstellte im Team selbst evaluieren: konkretes Durchspielen der Abläufe auf den verschiedenen Use Case Ebenen natürliche Personen übernehmen dabei die Rolle des Nutzers und des Systems

Termine 24. April Gruppenkonsultationen 2 Slots á 3 Teams parallel Demo UX-Lab (Hr. Plail) 2 Slots á 3 Teams 01. Mai Feiertag (Tag der Arbeit) (terminieren!) 08. Mai Abgabe (alle) + Präsentationen (2 Teams): Vortrag User-Tests konzipieren www.hs-augsburg.de/~john