UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als...

24
Stefan Bente Technische Hochschule Köln Cologne Institute for Digital Ecosystems (CIDE) [email protected] UML in der Hochschullehre: Eine kritische Reflexion Jürgen Anke Hochschule für Telekommunikation Leipzig [email protected]

Transcript of UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als...

Page 1: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

Stefan Bente

Technische Hochschule Köln

Cologne Institute for Digital Ecosystems (CIDE)

[email protected]

UML in der Hochschullehre:

Eine kritische Reflexion

Jürgen Anke

Hochschule für Telekommunikation Leipzig

[email protected]

Page 2: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

▪ Beobachtungen

o Hohe Komplexität der Sprache (und Tools) überfordern Studierende

o Agile Entwicklung, Microservices, … erfordern keine komplexen Modelle

o Unklare Relevanz von UML in der Praxis

▪ Forschungsfragen

o Wie und wofür wird die UML in der Praxis tatsächlich eingesetzt?

o Welche Kompetenzen sollten dafür durch die Lehre entwickelt werden?

▪ Vorgehen

o Analyse empirischer Studien zum Einsatz von UML in der Praxis

o Analyse des Einsatzes von UML in studentischen Arbeiten

▪ Ergebnisse

o Sieben Thesen zur Verwendung von UML in der Lehre

o Impulse zur Entwicklung neuer didaktischer Formate

Ausgangsfrage „Braucht man UML in der Lehre noch?“

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 2

Page 3: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

▪ UML-Nutzung durch Praktiker

▪ Tendenzen bei der UML-Nutzung

▪ Untersuchung von Hochschul-Abschlussarbeiten

▪ Sieben Thesen zur Verwendung von UML in der Lehre

Agenda

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 3

Page 4: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

UML-Nutzung durch Praktiker

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 4

Page 5: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

Einsatzzwecke von Modellen im SE (Chaudron u. a., 2012)

1. zur Analyse und Verstehen

2. zur Kommunikation

3. als Vorlage für die Implementierung („Entwurf“)

4. als Basis für die Codegenerierung

Dabei steigen Anforderungen an Modellqualität (Korrektheit,

Genauigkeit, Vollständigkeit, …) mit jeder Stufe

Ziel: Entwicklerproduktivität und Produktqualität erhöhen.

UML-Nutzung durch Praktiker

Wofür wird modelliert?

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 5

Page 6: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

UML-Nutzung durch Praktiker

Nutzen der Modellierung mit UML (Chaudron u. a., 2012)

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 6

Page 7: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

Autoren Jahr Methode TN/Objekte

Erickson & Siau 2007 Delphistudie

Dobing&Parsons 2010 Befragung 284

Reggio et al. 2013 Dokumentenanalyse (Lehrbücher,

Tutorials usw.)

Petre 2013 Experteninterviews 50

Langner et al. 2014 Quantitative Analyse öffentlich

zugänglicher UML Modelle

121

Davis et al. 2006 Befragung zur konzeptionellen

Modellierung

312

Osman &

Chaudron

2013 Analyse von Open Source

Repositories

10

Gorschek et al. 2014 Befragung zu Entwurfsmodellen 3785

Baltes & Diehl 2014 Befragung zum Einsatz von

Skizzen u. Diagrammen im SE

394

UML-Nutzung durch Praktiker

Ausgewählte Studien

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 7

Häufig

keit v

on U

ML

-

Ele

mente

n

Ein

satz

konte

xte

konzeptio

nelle

r Modelle

Page 8: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

Tendenzen bei der UML-Nutzung

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 8

Page 9: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

▪ UML hat hohe Bekanntheit und häufige Nutzung, jedoch nur

bestimmte Diagrammtypen. Häufigste Diagrammtypen:

o Klassendiagramm

o Aktivitätsdiagramm

o Use Case-Diagramm

o Sequenzdiagramm

▪ Häufiger Einsatz in frühen Phasen der Systementwicklung,

besonders für Analyse, Kommunikation und Zusammenarbeit

▪ Eingesetzte Modelle sind häufig informell oder gemischt

▪ Medien: Papier, Whiteboard und Tools (klassische UML-

Werkzeuge, Zeichenprogramme und web-basierte Tools)

▪ Erzeugung von Code spielt untergeordnete Rolle, etabliert v.a.

für langlebige Systeme in gut verstandenen Domänen

Tendenzen bei der UML-Nutzung

Wesentliche Ergebnisse

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 9

Page 10: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

▪ Diversifizierung der Softwareproduktarten

o Webanwendungen, Apps, Enterprise Software, Embedded Software, …

o Unterschiede: Stabilität der Anforderungen, technische Plattformen,

Compliance, Sicherheit, Umfang, Größe der Projektteams, Formalisierung

des Vorgehensmodells

▪ Agile Entwicklung

o reduziert Komplexität durch Aufteilung in Iterationen

o Keine umfangreiche Spezifikation von Anforderungen („Lastenheft“) und

Systemarchitektur mehr notwendig / sinnvoll

▪ Microservices als Architekturstil

o lose gekoppelte, fachlich orientierte Dienste → individuelle Lebenszyklen

o Geringere Komplexität, keine Top-Down-Modellierung des Gesamtsystems

▪ Domain-driven Design als Entwurfsansatz

o Fachlich orientierte Modellierung → Analyse, Domänenverständnis

o Einsatz informeller/textueller Notationen (Context Map, Ubiquitous Language)

Tendenzen bei der UML-Nutzung

(Mögliche) Gründe für veränderte Nutzung von UML

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 10

Page 11: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

Untersuchung von

Hochschul-Abschlussarbeiten

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 11

Page 12: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

▪ 47 Abschlussarbeiten und Projektberichte

o Informatik, Medien- und Wirtschaftsinformatik (BA/MA) an der TH Köln

▪ Erstellung eines Softwaresystems

als (Teil-)Schwerpunkt

▪ Nicht älter als fünf Jahre

▪ Keinerlei Vorgaben

seitens der Betreuer

bezüglich Modellierung

▪ Verwendete Diagramme:

o Zählung

o Klassifikation nach Diagrammtyp

Klassifikation nach Einsatzkontext

Untersuchung von Hochschul-Abschlussarbeiten

Analyse von Abschlussarbeiten / Projektberichte

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 12

Page 13: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

Untersuchung von Hochschul-Abschlussarbeiten

Verwendete Diagrammtypen

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 13

a. Nur ein Subset der UML-Spezifikation ist für studentische

Arbeiten relevant.

Page 14: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

Untersuchung von Hochschul-Abschlussarbeiten

UML vs. formale / informelle Alternativen (1)

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 14

b. Potential für Modellierung fachlicher Aspekte nicht ausgeschöpft.

c. Andere formale Notationen als UML haben ihren Platz.

Page 15: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

Untersuchung von Hochschul-Abschlussarbeiten

UML vs. formale / informelle Alternativen (2)

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 15

d. Informelle Notationen haben ebenfalls ihren Platz

e. In bestimmten Fällen ist UML „alternativlos“

Page 16: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

Sieben Thesen zur Verwendung

von UML in der Lehre

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 16

Page 17: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

1. UML-Kompetenz sollte in der Softwaretechnikausbildung

weiterhin vermittelt werden.

o Modellbildende Abstraktion ist eine grundlegende

Querschnittskompetenz in der Informatik

o Einige UML-Diagrammtypen intuitiv verständlich und gut merkbar

2. Die Lehre sollte sich auf ausgewählte UML-Modellelemente

fokussieren.

o Insbesondere: Klassen-, Use-Case und Sequenz-Diagramme

o Mit weniger Fokus auf Formalitäten:

− Komponenten-,

− Deployment-,

− Aktivitäts-,

− Zustands- und

− Kommunikationsdiagramme

Sieben Thesen zur Verwendung von UML in der Lehre

These 1 - 2

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 17

Page 18: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

3. Die Lehre sollte sich auf die Beherrschung von Einsatzkontexten

anstatt von UML-Diagrammtypen fokussieren.

Sieben Thesen zur Verwendung von UML in der Lehre

These 3

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 18

UML-Diagramm (Bsp.) Einsatzkontext (Bsp.)

KlassendiagrammFachliches Datenmodell / Domänenmodell

Logisches Datenmodell

AktivtitätsdiagrammNutzungsszenario (Blackbox)

Geschäftsprozess (Whitebox)

ZustandsdiagrammFachliche Zustände von Geschäftsobjekten

Technische Zustandsfolge (State Machine)

Page 19: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

4. Die Fähigkeit zur Auswahl von Modellierungsansätzen sollte

gestärkt werden.

o UML vs. andere formale Modellierungssprachen

o Formal vs. informell

5. Die Modellierungskompetenz sollte auf das Absolventenprofil

abgestimmt sein.

Sieben Thesen zur Verwendung von UML in der Lehre

These 4 - 5

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 19

Studiengang Berufsbild (Bsp.) Kernkompetenz (Bsp.)

Reine Informatik Software-Architektursicherer Umgang mit

Modellierung und Metaebenen

Medien- / Wirtschafts-

informatikAnwendung

Fähigkeit, pragmatisch

passende Notation zu wählen

Technische InformatikEntwicklung von

Echtzeitsystemen

Modelle für formale Verifikation

und Codegenerierung

Page 20: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

6. UML-Ausbildung sollte die Modellierung von Fachlichkeit stärker

fokussieren.

o Klassendiagramm: Fachliches DM / Domänenmodell

− Domain-Driven Design

o Zustandsdiagramm: Geschäftsobjekt-Zustände

− fachliche Events im System

− Design von REST-APIs gemäß CQRS

7. Fokus der Lehre sollte auf Kommunikation und Interaktivität

liegen, nicht auf Tools.

o Software-Erstellung ist Teamwork

o „Whiteboard over UML-Tool“

Sieben Thesen zur Verwendung von UML in der Lehre

These 6 - 7

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 20

Page 21: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

▪ Untersuchung weiter vertiefen

o Wofür wird UML wie eingesetzt?

o Welche Alternativen gibt es?

▪ Ergebnisse stärker systematisieren

o Zusammenhänge zwischen Softwareproduktart, Vorgehensmodell,

Projektumfang und Einsatz der Modellierung herstellen

o Untersuchungen zum Tool-Einsatz und Lebenszyklus der Modell-Artefakte

▪ Kompetenzziele für die Hochschullehre ableiten

o Differenzierung nach Studiengang und Ausbildungsstufe (Bachelor/Master)

o Berücksichtigung einschlägiger Empfehlungen (z.B. GI)

▪ Entwicklung von didaktischen Konzepten

o Was sind geeignete Formen der Wissensvermittlung bzw. interaktiven

Wissenserschließung für Modellierung?

o Welche Prüfungsformen sind geeignet?

Ausblick

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 21

Page 22: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

Vielen Dank für die

Aufmerksamkeit!

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 22

Page 23: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

Backup

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 23

Page 24: UML in der Hochschullehre: Eine kritische Reflexiono Agile Entwicklung, Microservices, ... 3. als Vorlage für die Implementierung („Entwurf“) ... Reine Informatik Software-Architektur

Untersuchung von Hochschul-Abschlussarbeiten

Abdeckung von Einsatzkontexten (formal + informell)

UML in der Hochschullehre: Eine kritische Reflexion | Anke, BenteSEUH 2019 24