Die UML — Unified Modeling Language Die wichtigste Modellierungssprache für Anforderungen

Manage­ment-Zusam­men­fas­sung zu die­sem Bei­trag:
Die UML (Uni­fied Mode­ling Lan­guage, deutsch: Uni­ver­sel­le Model­lie­rungs­spra­che) ist die Model­lie­rungs­spra­che für Anfor­de­run­gen im Requi­re­ments und → Soft­ware Engi­nee­ring.
Es wird in die­sem Bei­trag die UML mit den 14 Dia­gramm­ty­pen beschrieben.

Die UML / Uni­fied Mode­ling Lan­guage ist eine Model­lie­rungs­spra­che für das → Requi­re­ments Engi­nee­ring (RE) und Soft­ware Engi­nee­ring (SE). Ent­stan­den Ende der 1990er Jah­re ist die UML der De-fac­to-Stan­dard zur gra­fi­schen Model­lie­rung inner­halb der RE und SE. Die UML gehört inzwi­schen der OMG (Object Manage­ment Group) /OMG-UML/ und wird durch die­se auch gepflegt und wei­ter­ent­wi­ckelt, wobei die UML als aus­ge­reift gilt und in den letz­ten Jah­ren kei­ne signi­fi­kan­ten Ände­run­gen erfah­ren hat.

Die UML ermög­licht es, Sach­ver­hal­te / Anfor­de­run­gen aus dem Requi­re­ments Engi­nee­ring gra­fisch zu model­lie­ren. Die gra­fi­sche Model­lie­rung hat gegen­über der rein tex­tu­el­len Model­lie­rung fol­gen­de Vorteile:

  • Durch die Ver­wen­dung von nur weni­gen Ele­men­ten erfolgt eine inhalt­li­che Schär­fung, da “sprach­li­che” Inter­pre­ta­tio­nen redu­ziert werden
  • Durch die Aus­wahl eines spe­zi­el­len Dia­gramm­typs kön­nen auch spe­zi­fi­sche Tei­le sehr genau beschrie­ben werden

Die Ver­wen­dung der UML wird häu­fig in den Beschrei­bun­gen zum → Requi­re­ments Engi­nee­ring dargestellt.

1. Einleitung und Grundlagen

Die UML wird von der OMG her­aus­ge­ge­ben und gepflegt. Die kom­plet­te Spe­zi­fi­ka­ti­on umfasst in der aktu­el­len Ver­si­on 2.5.1 vom Dezem­ber 2017 (Stand: 04/2021) ins­ge­samt 754 Sei­ten und kann frei als pdf-Datei her­un­ter­ge­la­den wer­den /#OMG-UML-Spec/. Über­setz­te Sprach­fas­sun­gen gibt es nicht.

1.1 Definitionen

In der Wiki­pe­dia steht zur UML /#Wiki-UML/:
“Die Uni­fied Mode­ling Lan­guage (ver­ein­heit­lich­te Model­lie­rungs­spra­che), kurz UML, ist eine gra­fi­sche Model­lie­rungs­spra­che zur Spe­zi­fi­ka­ti­on, Kon­struk­ti­on, Doku­men­ta­ti­on und Visua­li­sie­rung von Soft­ware-Tei­len und ande­ren Systemen.”

Das → IIBA defi­niert /BBG17‑d/ die UML (Uni­fied mode­ling lan­guage) fol­gen­der­ma­ßen:
“Frei ver­füg­ba­re, nicht-geschütz­te Spra­che (Nota­ti­on) zur Model­lie­rung, Visua­li­sie­rung, Spe­zi­fi­zie­rung und Doku­men­ta­ti­on von Funk­tio­nen und Arbeits­er­geb­nis­sen von Soft­ware-Pro­duk­ten, die objekt­ori­en­tiert ent­wi­ckelt wer­den. Die in der Busi­ness-Ana­ly­se gebräuch­lichs­ten UML-Dia­gram­me sind Use-Case-Dia­gram­me, Acti­vi­ty-Dia­gram­me, Zustands­dia­gram­me und Class-Diagramme.”

1.2 Abgrenzung zu anderen Notationssprachen

Die UML ist umfang­reich genug, um die Bedürf­nis­se bei der Soft­ware­ent­wick­lung zu erfül­len. Aber für ande­re Berei­che (Geschäfts­pro­zess­mo­del­lie­rung, → Sys­tems Engi­nee­ring) kom­men häu­fig ande­re Nota­ti­ons­spra­chen zum Ein­satz. Beson­ders rele­vant sind dabei:

  • Die BPMN (Busi­ness Pro­cess Model And Nota­ti­on) /OMG-BPMN/ beschreibt → Geschäfts­pro­zes­se
  • Die SysML (Sys­tems Mode­ling Lan­guage) /#Wiki-SysML/ ist eine eigen­stän­di­ge Erwei­te­rung der UML, um nicht-soft­ware-basier­te Sys­te­me adäquat beschrei­ben zu können

2. Die 14 UML-Diagrammtypen

Die UML kennt ins­ge­samt 14 Dia­gramm­ty­pen, die sich in die Kate­go­rien Struk­tur- und Ver­hal­tens­dia­gram­me (eng­lisch Struc­tu­re and Beha­vi­or Dia­grams) unter­tei­len las­sen (Abbil­dung 2.1).

Die 14 UML-Diagrammtypen, (C) Peterjohann Consulting, 2020-2022

Abbil­dung 2.1: Die 14 UML-Diagrammtypen

Die UML kennt (ab der Ver­si­on 2.3) sie­ben Struk­tur­dia­gram­me /#Wiki-UML/:

  1. Klas­sen­dia­gramm (eng­lisch Class dia­gram)
  2. Kom­po­si­ti­ons­struk­tur­dia­gramm (auch: Mon­ta­ge­dia­gramm) (Com­po­si­te struc­tu­re dia­gram)
  3. Kom­po­nen­ten­dia­gramm (Com­po­nent dia­gram)
  4. Ver­tei­lungs­dia­gramm (Deploy­ment dia­gram)
  5. Objekt­dia­gramm (Object dia­gram)
  6. Paket­dia­gramm (Packa­ge dia­gram)
  7. Pro­fil­dia­gramm (Pro­fi­le dia­gram)

Dazu kom­men sie­ben Verhaltensdiagramme:

  1. Akti­vi­täts­dia­gramm (Acti­vi­ty dia­gram)
  2. Anwen­dungs­fall­dia­gramm (auch: Use-Case-Dia­gramm) (→ Use case dia­gram)
  3. Inter­ak­ti­ons­über­sichts­dia­gramm (Inter­ac­tion over­view dia­gram)
  4. Kom­mu­ni­ka­ti­ons­dia­gramm (Com­mu­ni­ca­ti­on dia­gram), (in älte­ren UML-Ver­sio­nen auch Kol­la­bo­ra­ti­ons­dia­gramm (Colla­bo­ra­ti­on dia­gram) genannt)
  5. Sequenz­dia­gramm (Sequence dia­gram)
  6. Zeit­ver­laufs­dia­gramm (Timing dia­gram)
  7. Zustands­dia­gramm (Sta­te dia­gram)

In der nach­fol­gen­den Tabel­le wird beschrie­ben, wel­che UML-Dia­gramm­ty­pen in den ein­zel­nen Stan­dard­wer­ken zum Requi­re­ments Engi­nee­ring und zur Busi­ness Ana­ly­sis (nach → IREB (für das Foun­da­ti­on-Level) /IREB-22, IREB21/, IIBA /BBG17‑d/ und → PMI /PMG-BA17/) aus­drück­lich erwähnt wer­den. Gene­rell soll­ten aber die drei rot- und fett­ge­druck­ten Dia­gramm­ty­pen (Klas­sen­dia­gramm, Akti­vi­täts­dia­gramm und Use-Case-Dia­gramm) beim Ein­satz der UML immer berück­sich­tigt wer­den. Zudem ist die Ver­wen­dung der bei­den schwarz- und fett­ge­druck­ten Dia­gramm­ty­pen (Sequenz­dia­gramm und Zustands­dia­gramm) zusätz­lich empfehlenswert.

Nr. Dia­gramm­typ IREB-FL IIBA PMI SysML
1. Klas­sen­dia­gramm (Class dia­gram) M M - modif. (1)
2. Kom­po­si­ti­ons­struk­tur­dia­gramm (Com­po­si­te struc­tu­re dia­gram) - - - modif. (2)
3. Kom­po­nen­ten­dia­gramm (Com­po­nent dia­gram) - - - -
4. Ver­tei­lungs­dia­gramm (Deploy­ment dia­gram) - - - -
5. Objekt­dia­gramm (Object dia­gram) - - - -
6. Paket­dia­gramm (Packa­ge dia­gram) - - - ident.
7. Pro­fil­dia­gramm (Pro­fi­le dia­gram) - - - -
8. Akti­vi­täts­dia­gramm (Acti­vi­ty dia­gram) M - M modif.
9. Anwen­dungs­fall­dia­gramm (Use-Case-Dia­gramm) (Use case dia­gram) M M M ident.
10. Inter­ak­ti­ons­über­sichts­dia­gramm (Inter­ac­tion over­view dia­gram) - - - -
11. Kom­mu­ni­ka­ti­ons­dia­gramm (Com­mu­ni­ca­ti­on dia­gram) - - - -
12. Sequenz­dia­gramm (Sequence dia­gram) - M M ident.
13. Zeit­ver­laufs­dia­gramm (Timing dia­gram) - - - -
14. Zustands­dia­gramm (Sta­te dia­gram) - M M ident.

Ein “M” in den ein­zel­nen Zel­len bedeu­tet, dass die­ser Dia­gramm­typ bei den jewei­li­gen Fach­ver­bän­den aus­drück­lich erwähnt wird und daher auch Requi­re­ments-Engi­nee­ring-Ein­stei­gern bekannt sein muss.

In der Spal­te “SysML” sind die Dia­gramm­ar­ten auf­ge­führt, die in der SysML (nach /#Wiki-SysML/) in der ein oder ande­ren Form zu fin­den sind. Dabei bedeuten:

  • “modif. “: Die­ses Dia­gramm kann modi­fi­ziert / erwei­tert in der SysML genutzt wer­den, kann dort aber anders heißen: 
    • (1) Name in der SysML: Block­dia­gramm (Block Defi­ni­ti­on Dia­gram)
    • (2) Name in der SysML: Inter­nes Block­dia­gramm (Inter­nal Block Dia­gram)
  • “ident.”: Die­ses Dia­gramm kann iden­tisch in der SysML genutzt werden

Die Dia­gramm­ty­pen Inter­ak­ti­ons­über­sichts­dia­gramm, Kom­mu­ni­ka­ti­ons­dia­gramm, Sequenz­dia­gramm und Zeit­ver­laufs­dia­gramm wer­den häu­fig zusam­men­fas­send als Inter­ak­ti­ons­dia­gram­me bezeich­net (Abbil­dung 2.2). In der Abbil­dung 2.2 sind zudem die Num­mern aus der Tabel­le über­nom­men und die fünf “essen­zi­el­len” Dia­gramm­ty­pen rot hinterlegt.

Die 14 UML-Diagrammtypen mit Einteilung, (C) Peterjohann Consulting, 2020-2022

Abbil­dung 2.2: Die 14 UML-Dia­gramm­ty­pen mit Einteilung

3. Generelle Regeln im Umgang mit der UML

Auch wenn es bei der Ver­wen­dung der UML kei­ne Vor­ga­ben gibt, so emp­fiehlt es sich, eini­ge Grund­re­geln zu beach­ten. Die­se sind beispielsweise:

  • Es soll­ten nur die “pas­sen­den” Dia­gramm­ty­pen ver­wen­det werden
  • Die Ver­wen­dung der eng­li­schen Spra­che (statt deutsch) in den Dia­gram­men ist rat­sam, wenn es um tech­ni­sche “Belan­ge” geht (Ach­tung: Hier ist ein → Glos­sar empfehlenswert)
  • Der Ein­satz von “ech­ten” UML-Tools (anstatt der Ver­wen­dung von Zei­chen­pro­gram­men) ist ab einer bestimm­ten Anzahl von Gra­fi­ken sinnvoll

4. UML-Tools

Es gibt eine Rei­he von UML-Tools, die zum Ein­satz kom­men kön­nen, sowohl kos­ten­freie als auch kostenpflichtige.

Hier sind bei­spiels­wei­se zu nen­nen (F = kos­ten­frei, K = kostenpflichtig):

  • Argo­UML [F]
  • Enter­pri­se Archi­tect (EA) der Fa. Sparc Enter­pri­se [K]
  • Gliffy [K]
  • Lucid­chart [F]
  • MagicDraw [K]
  • Model­l­er der Fa. PTC [K]
  • Mode­lio [F]
  • Plant­UML [F]
  • Ratio­nal Rhap­so­dy der Fa. IBM [K]
  • Visio [K]

Beim Erwerb und Erst­ein­satz ist auf eini­ge Punk­te zu ach­ten. Dies sind beispielsweise:

  • Wird die aktu­el­le UML-Ver­si­on unterstützt?
  • Ist es “rei­nes” Zei­chen­pro­gramm oder kön­nen die ent­ste­hen­den UML-Dia­gram­me auch (syn­tak­tisch) über­prüft werden?
  • Gibt es eine deut­sche Sprachfassung?
  • Kön­nen die Dia­gram­me auch durch ande­re Pro­gram­me gele­sen werden?
  • Gibt es Export- und Import-Schnitt­stel­len (XMI, ReqIF /#Wiki-ReqIF/)?
  • Gibt es die Mög­lich­keit der Ver­sio­nie­rung? (Und des Diffs?)
  • Wird MBSE (Model Based Sys­tems Engi­nee­ring) unterstützt?

Eine wei­te­re Über­sicht ver­schie­de­ner UML-Tools fin­det sich in /#Wiki-UML-Tools-→ Lis­te/.

5. Fragen und Antworten zur UML

Eini­ge Fra­gen zur UML wer­den häu­fig gestellt – die­se wer­den hier wiedergegeben.

  • F: Fal­len Lizenz­ge­büh­ren für die Nut­zung der UML an?
    A: Nein, die Nut­zung der UML erfolgt ohne Lizenzgebühren.
  • F: Wie star­tet man mit der UML?
    A: Es ist sinn­voll, zu Beginn mit einem Zei­chen­tool (es geht auch Papier und Blei­stift) einen ein­fa­chen Anwen­dungs­fall zu model­lie­ren. Dann kann man ver­su­chen, Akti­vi­täts- und Klas­sen­dia­gram­me zu erstel­len — damit hat man bereits die drei wesent­li­chen Dia­gramm­ty­pen der UML genutzt.
  • F: Muss man die UML-Spe­zi­fi­ka­ti­on der OMG /#OMG-UML-Spec/ kom­plett lesen?
    A: Nein, es reicht aus, die­se als Nach­schla­ge­werk zu verwenden.
  • F: Wel­che Dia­gramm­ty­pen muss man unbe­dingt ver­wen­den / soll­te ich unbe­dingt ken­nen?
    A: Das Use-Case-Dia­gramm soll­te man auf jeden Fall ken­nen, zudem auch das Klas­sen­dia­gramm und das Akti­vi­täts­dia­gramm. Alle ande­ren Dia­gramm­ty­pen sind “optio­nal”.
  • F: Rei­chen (ein­fa­che) Zei­chen­pro­gramm für die Erstel­lung von UML-Dia­gram­men aus?
    A: In der Regel nicht. Bei den Zei­chen­pro­gramm feh­len die seman­ti­schen Bezie­hun­gen, die man jedoch im Ver­lauf eines Pro­jekts nut­zen kann.

A. Präsentationen, Literatur und Weblinks

Die UML wird in mei­ner Prä­sen­ta­ti­on zum Requi­re­ments Engi­nee­ring kurz erwähnt.

Inhalt Typ
Requi­re­ments Engi­nee­ring (und Busi­ness Ana­ly­sis) – Eine Ein­füh­rung (RE-Basis­prä­sen­ta­ti­on)

pdf

Die­se Bücher beschrei­ben die UML und die SysML oder deren Verwendung:

  1. /BBG15/ IIBA: A Gui­de to the Busi­ness Ana­ly­sis Body of Know­ledge (BABOK Gui­de), Inter­na­tio­nal Insti­tu­te of Busi­ness Ana­ly­sis, Mari­et­ta, Geor­gia 3rd Edi­ti­on 2015, ISBN 978–1‑927584–02‑6
  2. /BBG17‑d/ IIBA: BABOK v3: Leit­fa­den zur Busi­ness-Ana­ly­se BABOK Gui­de 3.0, Dr. Götz Schmidt, Wet­ten­berg 2017, ISBN 978–3‑945997–03‑1
  3. /IREB21/ sie­he /Pohl21/
  4. /Kecher17/ Chris­toph Kecher, Alex­an­der Sal­va­nos, Ralf Hoff­mann-Elbern: UML 2.5: Das umfas­sen­de Hand­buch, Rhein­werk, Bonn 6. Auf­la­ge 2017, ISBN 978–3‑8362–6018‑3
  5. /Kecher21/ Chris­toph Kecher, Alex­an­der Sal­va­nos, Ralf Hoff­mann-Elbern: UML 2.5: Das umfas­sen­de Hand­buch, Rhein­werk, Bonn 7. Auf­la­ge 2021, ISBN 978–3‑8362–8447‑9
  6. /Oestereich13/ Bernd Oes­te­reich, Axel Scheit­hau­er: Ana­ly­se und Design mit der UML 2.5. Objekt­ori­en­tier­te Soft­ware­ent­wick­lung, De Gruy­ter Olden­bourg, Mün­chen 11. Auf­la­ge 2013, ISBN 978–3‑486–72140‑9
  7. /Oestereich21/ Bernd Oes­te­reich, Axel Scheit­hau­er: Ana­ly­se und Design mit der UML 2.5.1. Objekt­ori­en­tier­te Soft­ware­ent­wick­lung, De Gruy­ter Olden­bourg, Mün­chen 12. Auf­la­ge 2021, ISBN 978–3‑11–062621‑6
  8. /PMG-BA17/ Pro­ject Manage­ment Insti­tu­te: The PMI Gui­de to Busi­ness Ana­ly­sis, Pro­ject Manage­ment Insti­tu­te, Phil­adel­phia, Penn­syl­va­nia 2017, ISBN 978–1‑62825–198‑2
  9. /Pohl21/ auch /IREB21/ Klaus Pohl, Chris Rupp: Basis­wis­sen Requi­re­ments Engi­nee­ring: Aus- und Wei­ter­bil­dung nach IREB-Stan­dard zum Cer­ti­fied Pro­fes­sio­nal for Requi­re­ments Engi­nee­ring Foun­da­ti­on Level, dpunkt, Hei­del­berg 5. Auf­la­ge 2021, ISBN 978–3‑86490–814‑9
  10. /Rupp12/ Chris Rupp, Ste­fan Queins: UML 2 glas­klar. Pra­xis­wis­sen für die UML-Model­lie­rung, Han­ser, Mün­chen 4. Auf­la­ge 2012, ISBN 978–3‑446–43057‑0
  11. /Staud19/ Josef L. Staud: Unter­neh­mens­mo­del­lie­rung. Objekt­ori­en­tier­te Theo­rie und Pra­xis mit UML 2.5, Sprin­ger, Ber­lin 2. Auf­la­ge 2019, ISBN 978–3‑662–59375‑2
  12. /Weilkiens14/ Tim Weil­ki­ens: Sys­tems Engi­nee­ring mit SysML/UML. Anfor­de­run­gen, Ana­ly­se, Archi­tek­tur, dpunkt, Hei­del­berg 3. Auf­la­ge 2014, ISBN 978–3‑86490–091‑4

Fol­gen­de Web­links lie­fern wei­te­re Infor­ma­tio­nen zur UML (und zur SysML):

Legen­de zu den Weblinks
/ / Ver­weis auf eine Web­site (gene­rell)
/*/ Ver­weis auf eine Web­site, die als Buch-Ergän­zung dient
/#/ Ver­weis auf ein­zel­nes The­ma auf einer Website
/#V/ Ver­weis auf ein Video auf einer Website