1 of 33

Anforderungsanalyse

A day in the life of a DH developer / Christopher Pollin

#wsde22

Winter School 2022

Bergische Universität Wuppertal

21.03 – 25.03.2022

2 of 33

“A day in the life of a DH developer”

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

3 of 33

“A day in the life of a DH developer”

“Ich möchte, das mein UI ein interaktives Dashboard ist, in dem quantitative und qualitative Daten aus historischen Rechnungsbüchern visualisiert werden!”

Ich möchte eine Arbeitsplattform, die den zerstreuten Nachlass von Stefan Zweig im Digitalen zusammenführt!

Ich möchte eine digitale Edition, die Texte von mittelalterlichen Kochrezepten, nicht nur sauber philologisch, sondern auch inhaltlich annotiert zur Verfügung stellt.

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

4 of 33

“A day in the life of a DH developer”

Domäne

Stakeholder

Requirements

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

5 of 33

“A day in the life of a DH developer”

Domäne

Stakeholder

Requirements

DH-Developer

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

6 of 33

Ziele

Minimalistic Requirement Engineering

Komplexität

Overkill

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

7 of 33

Requirement Engineering

Eine Anforderung beschreibt, was Kund*innen, User*innen von einem Produkt erwartet, als Bedingungen, Attribute, Ziele und vor allem Nutzen.

User*in … alle, die nach der Auslieferung mit einem Produkt � “in Berührung” kommen. ��Produkt … ist eine Anwendung, IT-System, eingebettete Software, � größere IT-Lösung, Dienstleistungen, digitale Edition, …

  • Ebert, C. (2019). Systematisches Requirements Engineering: Anforderungen ermitteln, dokumentieren, analysieren und verwalten. dpunkt. verlag. S.21-22.
  • Fabinski, M. (2020). Design und Konzeption von Suchfunktionalitäten in digitalen historisch-kritischen Editionen. Masterarbeit. Hochschule Darmstadt, https://fbi.h-da.de/fileadmin/Personen/fbi1057/Masterthesis_Fabinski_Matthias.pdf .

Die Aufgabe des Requirements Engineering ist es, ein Konzept zu entwickeln, das alle Ansprüche einer Domäne adressiert und ein positives User[*innen]erlebnis ermöglicht.

Broy, M., & Kuhrmann, M. (2021). Einführung in die Softwaretechnik. Springer Berlin/Heidelberg. S. 202.

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

8 of 33

Anforderungen

Broy, M., & Kuhrmann, M. (2021). Einführung in die Softwaretechnik. Springer Berlin/Heidelberg. S. 203-204.

Vision

Was ist das Ziel des Produkts? Was ist der Kontext? Was muss es erfüllen?

Funktion

Wie funktioniert das genau?

Nutzung

Was bringt es? Wie interagiert es mit den User*innen und anderen Komponenten?

Details

Detaillierte Beschreibung der Anforderungen�

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

9 of 33

Requirement Engineering Process

Requirement Engineering

Elicitation

Analysis

Specification /Documentation

Validation

Broy, M., & Kuhrmann, M. (2021). Einführung in die Softwaretechnik. Springer Berlin/Heidelberg. S. 212-213.

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

10 of 33

Requirement Engineering Process im Kontext der Softwareentwicklung

Requirement Engineering

Elicitation

Analysis

Specification /Documentation

Validation

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

11 of 33

Grundsätzliche Herausforderungen des Requirements Engineering

  • Nicht vollständige und verstecke Anforderungen
      • Haben wir wirklich alles gemeinsam besprochen?
  • Inkonsistente Anforderungen
      • Haben wir wo einen Widerspruch?
  • Terminologie
      • Verstehen wir dasselbe unter den Begriffen?
  • Unklare Verantwortlichkeiten
      • “Wer entscheidet was wir brauchen?”
  • Kommunikation
      • “Reden wir aneinander vorbei?”
  • Moving Targets
      • “Wollen wir doch etwas anderes?”
      • “Schon wieder was anderes?”

Birgit Penzenstadler: Requirements Engineering lecture. 2018. https://youtu.be/jSCUDj02YT0

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

12 of 33

Grundsätzliche Herausforderungen des Requirements Engineering

  • Technisch nicht durchführbare Anforderungen
      • “Können wir das überhaupt machen?”
  • Stakeholders
      • “Was brauchst du wirklich? Weißt du auch was du willst?”
  • Unterspezifizierte Anforderungen
      • “Das ist nicht genau was du haben wolltest?”
  • Unklare und nicht messbare nicht-funktionale Anforderungen
      • “Es soll dann schnell funktionieren!”

Birgit Penzenstadler: Requirements Engineering lecture. 2018. https://youtu.be/jSCUDj02YT0

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

13 of 33

Eine Domäne: DEPCHA

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

14 of 33

DEPCHA - Quelle und Modell

DATE

MONEY

COMMODITY

FROM/TO

STATUS

Debit/Credit

Sum

Tax

Wheaton Daybook, 1828-1859, USA

Place

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

15 of 33

DEPCHA - Übersicht

BOOKKEEPING ONTOLOGY

Information Visualisation

Search & Discovery

Self-organisation

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

16 of 33

DEPCHA - Requirement Engineering

Vision� Was ist DEPCHA und was sind die wichtigste Features?� Warum machen wir DEPCHA?� Was wollen die Stakeholder?

Funktion� Welche Funktionen gibts es?

Nutzung� Wer ist das Zielpublikum / wer sind unsere User*innen?� Was wollen User*innen damit machen?

Details

Wie Funktioniert die Bar Chart im Dashoard jetzt genau und wie � wird sie umgesetzt?

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

17 of 33

Methoden und Werkzeuge des Requirement Engineering

ELICITATION TECHNIQUES - erheben und identifizieren von Anforderungen

  • Expert*inneneninterview
  • Fragebögen
  • Brainstorming
  • Mind Mapping
  • 6 Hats (De Bono)
  • Beobachtung
  • (Design)Workshops
  • Use Case Modeling
    • Use Case Diagram
    • User Stories
  • Wireframing
  • Prototyping

Penzenstadler, B. (2018). Requirements Engineering lecture. https://youtu.be/tmw8WKadJoA

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

18 of 33

Use Case Modelling - Definitionen

Use Case Modelling

Ist ein Modell um zu beschreiben wie User*innen mit einem System interagieren. Es beschreibt die Ziele der User*innen, ihre Interaktionen mit anderen und das erforderliche Verhalten des Systems.

Use Case

Ist eine Reihe von Schritten, die erforderlich sind, um eine bestimmte Aufgabe oder ein Ziel zu erreichen. Ein Anwendungsfall kann mehrere Pfade haben, um das Ziel zu erreichen; jeder von ihnen wird als Use Case Scenario betrachtet.

Use Case Diagramm

Beschreibt die funktionalen Anforderungen eines Systems in Form von �Use Cases. Es ist sozusagen ein Modell der Funktionalitäten eines Systems.

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

19 of 33

Use Case Diagramm - Beispiel

https://www.inflectra.com/Ideas/Topic/Use-Cases.aspx

Use Case Diagram. UML Diagrams Full Course (Unified Modeling Language). 2021. https://youtu.be/WnMQ8HlmeXc?t=3430

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

20 of 33

User Story - Definition

A User Story is a chunk of functionality that is of value to the customer”�

Eine kurze, einfache, prägnante Beschreibung einer Produktfunktion, die aus der Perspektive der Person erzählt wird, die diese Funktion nutzt bzw. benötigt.

Sie beinhalten:

    • User/Userin <who?>
    • Feature - was benötigt wird <what?>
    • Satisfaction - wie das Feature ein Bedürfnis befriedet <why?>

�General User Story Pattern:

As a ($user) I want a ($feature) so that I can ($satisfy a need)

Epics sind größere Aufgabeneinheiten, die in mehrere kleinere Aufgaben (sogenannte Stories) unterteilt werden können.

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

21 of 33

Epic und User Story - Beispiel

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

22 of 33

User Stories…

  • … sollten atomar sein und innerhalb von+ 1-2 Tagen implementiert werden können.�
  • … sind einfach und leicht verständlich. �
  • … helfen Anforderungen zu verstehen und nicht brauchbare (oder redundante) Dinge auszusortieren.

  • … erlauben schnelle Feedback Loops mit Kund*innen bzw. Stakeholder*innen, sind also auslieferbar.

  • … sind noch keine ausformulierten Requirements, sondern sind die Beschreibung des Problems, das gelöst werden soll. Die User Story sagt nicht wie das Problem gelöst werden soll.

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

23 of 33

DEPCHA - User Story - Example 1

User Story 1

Als Wirtschaftshistoriker*in möchte ich WO hierarchisch visualisieren, damit ich Kategorien untersuchen kann.

Task 1.1

Treemap

Task 1.2

Filtern

Task 1.3

Export

Epic

Als Historiker*in möchte ich Geldflüsse hinsichtlich bestimmter Wirtschaftsobjekte (WO) aggregieren damit ich sie analysieren kann.

User Story 2

Als Sozialhistoriker*in möchte ich WO in Bezug zu ihren in Beziehungen stehenden Wirtschaftssubjekten (WS) visualisieren, damit ich den Konsum von WS untersuchen kann.

Task 1.2.1

nach Zeit

Task 1.2.1

nach Kategorien

Task 1.4

Task 2.1

Stacked Bar Chart

Task 1.2

Task 1.3

Task 1.4

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

24 of 33

DEPCHA - User Story - Example 2

The Atlas of Economic Complexity. https://atlas.cid.harvard.edu/explore

User Story 1

Als Wirtschaftshistoriker*in möchte ich WO hierarchisch visualisieren, damit ich Kategorien untersuchen kann.

Task 1.1

Treemap

Task 1.2

Filtern

Task 1.2.1

nach Zeit

Task 1.2.1

nach Kategorien

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

25 of 33

DEPCHA - User Story - Example 3

User Story 2

Als Sozialhistoriker*in möchte ich WO in Bezug zu ihren in Beziehungen stehenden Wirtschaftssubjekten (WS) visualisieren, damit ich den Konsum von WS untersuchen kann.

Task 2.1

Stacked Bar Chart

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

26 of 33

Template

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

27 of 33

Zusammenfassung

Je mehr Leute und Komplexität, desto wichtiger wird ein sauberes Requirement Engineering.

Es geht eigentlich immer um effektive Kommunikation mit …

    • den Stakeholdern
    • den User*innen
    • innerhalb des Teams

Verstehen der Domäne ist essentiell!

Für viele unsere DH Projekte reicht das Minimalistic Resource Engineering

    • Expertinneninterviews
    • Wireframes
    • Lastenheft
    • User Stories

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

28 of 33

Literatur und Ressourcen

  • Penzenstadler, B. (2018). Requirements Engineering lecture.�https://youtu.be/qENBiYaAXNE.
    • sehr gute, einführende YouTube-Playlist zum Thema Requirements Engineering
  • Broy, M., & Kuhrmann, M. (2021). Einführung in die Softwaretechnik. Springer Berlin/Heidelberg.
    • aktuelles Grundlagenbuch mit einem Kapitel zu “Anforderungsanalyse und Anforderungsmanagement”
  • Ebert, C. (2019). Systematisches Requirements Engineering: Anforderungen ermitteln, dokumentieren, analysieren und verwalten. dpunkt. verlag.
    • vom Arbeitskreis „Requirements“ der GI/GChACM-Regionalgruppe München empfohlenes Standardwerk.
  • Rupp, C. (2014). Requirements-Engineering und -Management. Aus der Praxis von klassisch bis agil, Hanser, München 6. Auflage 2014, ISBN 978-3-446-43893-4.
    • empfohlenes Standardwerk.
  • Fabinski, M. (2020). Design und Konzeption von Suchfunktionalitäten in digitalen historisch-kritischen Editionen. Masterarbeit. Hochschule Darmstadt, https://fbi.h-da.de/fileadmin/Personen/fbi1057/Masterthesis_Fabinski_Matthias.pdf .
    • stärker Information Retrieval, Evaluierung und Implementierung eines Prototypen.

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

29 of 33

Literatur und Ressourcen

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

30 of 33

Glossar

  • Personas �Fictional users whose goals and characteristics represent the needs of a larger group of users.
  • Empathy maps �Help UX designers understand a user’s behavior when interacting with a product. However, user stories help narrow down which needs to focus on first.
  • User Journey�The series of experiences a user has as they interact with your product
  • Problem Statement �Is a clear description of the user’s need that should be addressed. The problem statement you created in the last course will guide the focus of your ideation
  • Goal statement�Is one or two sentences that describe a product and its benefits for the user. In other words, the goal statement provides the ideal solution for your design challenge. Goal statements cover who the product will serve, what the product will do, and why the product solves the user’s need.

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

31 of 33

Glossar

  • User Flow�The path taken by a typical user on an app or website, so they can complete a task from start to finish.
    • Action, Screen, Decision, Direction
  • Story Board�A series of panels or frames that visually describe and explore a user’s experience with a product.
  • Fidelity�How closely a design matches the look-and-feel of the final product.
    • Low fidelity (lo-fi)
    • High fidelity (hi-fi)
  • Wireframe�A basic outline of a digital experience, like an app or website.

Anforderungsanalyse

Christopher Pollin | ZIM, Universität Graz & Digital Humanities Craft OG

32 of 33

Vielen Dank für Ihre Aufmerksamkeit!

#wsde22

Winter School 2022

Bergische Universität Wuppertal

21.03 – 25.03.2022

33 of 33

#wsde22

Winter School 2022

Bergische Universität Wuppertal

21.03 – 25.03.2022