infforum

UML - Unified Modeling Language

die Vereinigung der OO-Modellierungssprachen


Startseite Informatik Forum

Anforderungsanalyse

Prozess-Modellierung

Anwendungsentwicklung

Projektmanagement

objektorientierte Darstellungstechnik Anwendungsfalldiagramm Aktivitätsdiagramm use cases Klassendiagramm Sequenzdiagramm Kollaborationsdiagramm Interaktionsdiagramm Verteilungsdiagramm Zustandsdiagramm Komponentendiagramm Paketdiagramm Definition Prozessdiagramm Diagrammtypen Softwareentwicklung Analysis Objekt Anwendung Aktivitätendiagramm mapping Prozess abbilden Ablauforganisation

INffORUM Leistungen

Projekt-Beispiele

Kontakt zu INffORUM

Ziele

Themen

SIP - Strategische Informationssystemplanung

GPM - Geschäftsprozess-Modellierung

Anforderungsanalyse / Anforderungsmanagement

Vorgehensmodell

Methoden

Systemabgrenzung

PZR-Analyse

Problemanalyse / Schwachstellenanalyse

Zielanalyse

Restriktionsanalyse

Affinitätsanalyse

Durchführbarkeitsanalyse / Wirtschaftlichkeitsanalyse

Werkzeuge Requirements Engineering

Anwendungsentwicklung

Vorgehensmodelle

Wasserfall-Modell

Spiral-Modell

V-Modell

Evolutionäre / inkrementelle Vorgehen

RUP - Rational Unified Process

Agile Software-Entwicklung

MDA - Model Driven Architecture

Methoden

Methode SA - Strukturierte Analyse

Methode ESA - Essentielle System-Analyse

Methode SD - Strukturiertes Design

Methode ERM - Entity-Relationship-Modellierung

Methode RM - Relationen-Modellierung

Methode UML - Unified Modeling Language

Werkzeuge Software Engineering

case/4/0

Innovator

objectiF

Projekt-Management

Vorgehensmodell

Projektstrukturplanung

Aktivitätenplanung

Arbeitsplanung

Kapazitätsplanung / Ressourcenplanung

Change-Management

Konfigurations-Management

Methoden/Techniken

Netzplan-Technik

Balkenplan-Technik

Methoden der Aufwandsschätzung

Methode NuWA - Nutzwertanalyse

Werkzeuge Projekt-Management

in-Step

Primavera

Übersicht Leistungen

Organisationskonzepte

Studien, Gutachten

Auswahl Requirements Engineering (CARE) Tool

Auswahl Software Engineering (CASE) Tool

Auswahl Projekt-Management (PM) Tool

Projektleitung

Coaching Projektleiter

Know-how-Transfer Projekte

Beratung und Unterstützung

Software Einsatz case/4/0

Software Einsatz Innovator

Software Einsatz objectiF

Seminare

Projektbeispiele

Informationssystem-Planung

IV-Rahmenplanung Museum

Kommunikationsanalyse Versicherung

Organisation

ORG-BW-Gesamtmodell

Prozessmodellierung und Ablauf-Organisation Rating

Versionskontrolle Logistik

Know-how-Transfer Software-Entwicklung

Vorgehensmodell Analyse
mit Einsatz case/4/0

Vorgehensmodell mit Word-Dokumentation

Werkzeug-Einführung Innovator

Simulation Tour de France

Cockpit - Steuerung der Simulation

Anleitung und Hilfe für Sudoku-Rätsel

Mitarbeiter-Profil

Kontakt

Kontakt-Formular

Impressum

Unser Thema

UML

Die Modellierungssprache UML hat nach und nach Erkenntnisse aus einer großen Anzahl von Analyse- und Design-Methoden, wie die von

  • Booch  (OOD - Object-Oriented Design, Grady Booch),

  • Jacobson  (OOSE - Object-Oriented Software Engineering, Ivar Jacobson),

  • Rumbaugh  (OMT - Object Modeling Technique, James Rumbaugh),

  • Coad  (OOA - Object-Oriented Analysis, Peter Coad),

  • Wirfs-Brock  (RDD - Responsibility-Driven Design, Rebecca Wirfs-Brock)

zusammengefasst. Die ersten drei Autoren werden unter dem Begriff "die drei Amigos" zusammengefasst.

Dabei ist die Unified Modeling Language keine Methode, sondern "nur" die Definition einer Sprache und einer objektorientierten Darstellungstechnik für die Anwendungsentwicklung; im Unterschied zu einer Methode fehlen in der UML die notwendigen Beschreibungen von Arbeitsschritten.
Für das methodische Vorgehen hat sich parallel zur Sprache der "unified software development process" (s.a. Rational Unified Process) entwickelt.

Mit der UML-"Methode" ist ein Satz von Ergebnis-Typen, Diagramm-Typen, Darstellungstechniken, Notationen und zugehörigen Definitionen für die Software-Erstellung entstanden. Teilweise können mit verschiedenen Diagramm-Typen gleichartige Aspekte dargestellt werden. Zur Beschreibung eines zu konstruierenden IV-Systems können in der Unified Modeling Language die folgenden Diagramme (Diagrammtypen) eingesetzt werden:

Anwendungsfalldiagramm (Use Case Diagram),
Aktivitätsdiagramm (Activity Diagram),
Klassendiagramm (Class Diagram),
Sequenzdiagramm (Sequence Diagram),
Kollaborationsdiagramm (Collaboration Diagram),
Zustandsdiagramm (State Chart),
Komponentendiagramm (Component Diagram),
Verteilungsdiagramm (Deployment Diagram) und
Paketdiagramm (Package Diagram)

Daneben ist für jedes Objekt / jeden Ergebnistyp eine Spezifikation vorgesehen.

Die am häufigsten verwendeten Diagrammtypen in der objektorientierten Entwicklung sind nachfolgend nach ihren Einsatzgebieten (Phasen der Entwicklung) gegliedert.

  • Die Geschäftsprozesse und Anforderungen werden als Business-Logik über folgende UML-Diagramme beschrieben:

    Anwendungsfall-Diagramm (Use Case Diagram)
    Darstellungstechnik für funktionale Beschreibungen der Prozesse. 
    Das Use-Case-Diagramm stellt mit den Objekten Akteur (actor), Anwendungsfall (use case, business case, Geschäftsvorfall, Geschäftsfall) und den Beziehungen zwischen Akteur und Anwendungsfall bzw. zwischen Anwendungsfällen eine globale Sicht auf die Geschäftsprozesse dar. Das Anwendungsfalldiagramm wird zur Sammlung und Visualisierung von Anforderungen genutzt. Das Objekt Anforderung kann zum zentralen Baustein für die Aufteilung eines Projektes in Entwicklungsabschnitte (Release) und zur Überwachung der Fertigstellung sowie Abnahme genutzt werden.
    Das Anwendungsfalldiagramm dient auch der Darstellung von Szenarien zu einem Geschäftsprozess sowie zur Systemabgrenzung. Die Abgrenzung eines Systems über Anwendungsfälle zur Darstellung des Kontexts ist meist jedoch nur über mehrere Use-Case-Diagramme machbar.

    UML-Anwendungsfalldiagramm - Use Case Diagram
    Notation UML-Anwendungsfalldiagramm (Use Case Diagram): Zur Systemabgrenzung und Darstellung der Geschäftsprozesse (hier im Hotelbetrieb: Geschäftsprozess als Use Case / Anwendungsfall)


    Aktivitäts-Diagramm (Activity Diagram)
    Darstellungstechnik zur Prozessmodellierung: Verfeinerung (und Modellierung der Dynamik) von Anwendungsfall, Geschäftsprozess, Arbeitsablauf, Aufgaben, Funktionen, ...
    Im Aktivitätsdiagramm werden die Arbeitsabläufe der Geschäftsprozesse mit Zustand, Zustandsübergang (Transition) und Ereignis (Signal) beschrieben. Die Aktivitäten und Transitionen können um Objekte ergänzt werden, wenn dies den Ablauf im Aktivitätsdiagramm verdeutlichen kann.

    UML-Aktivitätsdiagramm - Activity Diagram
    Notation UML-Aktivitätsdiagramm (Activity Diagram): Zur Darstellung der wesentlichen Schritte in einem Geschäftsprozess / Anwendungsfall (im Beispiel: "Unangemeldeter Gast belegt Zimmer" mit drei Aktivitäten)

    Für die Anordnung der Aktivitäten können zusätzlich "Swimlanes" eingesetzt werden. In einer (meist senkrechten) Swimlane werden Aktivitäten gruppiert, die von einem Akteur bzw. einer Organisationseinheit ausgeführt werden.

    Beispiele für die Darstellungstechnik von Swimlanes siehe Geschäftsprozess Change-Management.

  • Die Analyse-Ergebnisse werden über folgende Diagramm-Typen beschrieben.

    Klassen-Diagramm (Class Diagram)
    Darstellungstechnik zur Beschreibung der statischen Struktur des IV-Systems.
    Im Class Diagram erfolgt die Beschreibung von Objekten mit der Definition von Attributen, Operationen und Beziehungen zu anderen Klassen. Von den Beziehungen, die im Klassendiagramm dargestellet werden, haben Generalisierung, Komposition, Aggregation und Assoziation die größte Bedeutung.

    Die Generalisierung ist eine gerichtete Beziehung zwischen einer generelleren und einer spezielleren Klasse. Dabei erbt die spezielle Klasse alle Merkmale der generellen Klasse.

    Die Komposition ist die Beziehung zwischen dem Ganzen und seinen Teilen. Die Aggregation als Sonderfall der Komposition zeigt eine Beziehung, in der die Teile in einer Existenzabhängigkeit stehen.

    Die Assoziation beschreibt eine beliebige andere Beziehung zwischen Klassen, im Allgemeinen mit einer Angabe der Multiplizität an jedem Ende der Beziehung (im Klassendiagramm).

    UML-Klassendiagramm - Class Diagram
    Notation UML-Klassendiagramm (Class Diagram): Zur Definition der Objekte zu einem Geschäftsprozess (im Beispiel: vier "Hotel"-Klassen mit Beziehungen)

    Sequenz-Diagramm (Sequence Diagram)
    Darstellungstechnik zum Aufzeigen des dynamischen Verhaltens.
    Das Sequence Diagram zeigt als Interaktionsdiagramm den Austausch von Nachrichten zwischen Objekten und damit den Aufruf bzw. das Nutzen von Methoden in einer zeitlichen Anordnung. Das Sequenz-Diagramm dient der Darstellung des Kommunikationsprozesses und damit der Präzisierung der Inhalte aus dem Aktivitätsdiagramm.

    UML-Sequenzdiagramm - Sequence Diagram
    Notation UML-Sequenzdiagramm (Sequence Diagram): Zur detaillierten Darstellung der Kommunikation von Aktivität zu Aktivität in einem Anwendungsfall "Zimmerbelegung nach Reservierung" im Hotel (Sequenz der Aktivitäten im Sequenzdiagramm von oben nach unten)

  • Zur Beschreibung der Design-Ergebnisse werden folgende Diagramme und Darstellungstechniken genutzt:

    verfeinertes Klassendiagramm mit allen Attributen und Operationen zu jeder Klasse sowie den Beziehungen zwischen den Klassen,

    Kollaborationsdiagramm (Collaboration Diagram) mit Objekten und ihren Interaktionen in Bezug auf Ereignisse

    Zustandsdiagramm / Zustandsübergangs-Diagramm (State Chart) zur detaillierten Objekt-Darstellung mit Zuständen, Ereignissen und Zustandsübergängen im Lebenszyklus des Objektes,

    UML-Zustandsdiagramm - State Chart
    Notation UML-Zustandsdiagramm (State Chart): Zur Darstellung der Übergänge eines Objektes im Zustandsdiagramm (im Beispiel zum Objekt "Zimmer")

  • Die Implementierungs-Ergebnisse werden in der UML-"Methode" über folgende Diagramme beschrieben:

    Komponenten-Diagramm (Component Diagram)
    mit Programm-Einheiten (Komponenten) und deren Compiler- oder Laufzeitabhängigkeiten. Im Komponentendiagramm kann eine Komponente auch aus weiteren Komponenten bestehen und damit geschachtelt vorkommen.

    UML-Komponentendiagramm - Component Diagram
    Notation UML-Komponentendiagramm (Component Diagram): Zur Darstellung Zerlegung eines Systems in Komponenten (im Beispiel: IV-System "Hotel")

    Verteilungs-Diagramm (Deployment Diagram) mit Hard- und Software-Komponenten, deren Beziehungen und Zuordnungen zueinander.

  • Über alle Phasen der Software-Entwicklung kann zusätzlich verwendet werden:

    Paket-Diagramm (Package Diagram) für die Visualisierung von Abhängigkeiten.
    Das Paketdiagramm bietet die Möglichkeit der Darstellung von Zerlegungsstrukturen, Beziehungs-Darstellungen zu Systemen, Sub-Systemen oder anderen strukturierbaren Modelleinheiten. Paketdiagramme unterstützen damit auch das IT-Projektmanagement.
    Ein Paket ist in vielen Werkzeugen die geeignete Abgrenzung für einen eigenen Namensraum.

    UML-Paketdiagramme - Package Diagram
    Notation UML-Paketdiagramme (Package Diagram): Pakete als Mittel der Gliederung und Strukturierung einer Vielzahl zu verwaltender Objekte

weiterführende
externe Links

Objektkonzept, OOD und OOA (Kap. 5)

Object-Oriented Software Engineering (OOSE) von Jacobson

Methodisches Vorgehen in der Object Modeling Technique (Kap. 3.5)

Rebecca Wirfs-Brock: RDD - Responsibility-Driven Design (engl.)

Die verschiedenen Diagramm-Typen der UML mit der entsprechenden Darstellungstechnik und "Methode" werden in unterschiedlicher Weise von den Werkzeugen der Objekt-orientierten Systementwicklung unterstützt. Wesentliches Merkmal eines geeigneten Tool ist die vollständige Integration mit einer Entwicklungsumgebung für die gewählte Zielsprache. Auch im Komfort bei der Unterstützung der Spezifikation der Objekte unterscheiden sich die Tools. Zum Thema UML bietet INffORUM die Auswahl und Einrichtung der geeigneten Werkzeugumgebung, den Know-how-Transfer zur Methode in Form von Schulung (Seminar, Workshop, Tutorial), Coaching und die Unterstützung bei Durchführung der Anwendungsentwicklung mit der Unified Modeling Language.
Das Training zur Nutzung der UML, sowohl Seminar als auch Workshop und Tutorial können dabei auf den speziellen Bedarf einer Projekt-Gruppe zugeschnittenen werden. Profitieren Sie von den langjährigen Erfahrungen der INffORUM Berater.