infforum

UML - Unified Modeling Language

die Vereinigung der OO-Modellierungssprachen

Unternehmensberatung Know-how-Transfer zu Vorgehensmodellen - Methoden - Werkzeugen


Startseite Informatik Forum

Anforderungsanalyse

Prozess-Modellierung

Anwendungsentwicklung

Projektmanagement

objektorientierte Darstellungstechnik Anwendungsfalldiagramm Aktivitätsdiagramm use cases Klassendiagramm Anforderungsmanagement Trainer Sequenzdiagramm Kollaborationsdiagramm Voraussetzungen Interaktionsdiagramm Verteilungsdiagramm anlegen Zustandsdiagramm Komponentendiagramm Paketdiagramm Zustandsübergangsdiagramm definition Prozessdiagramm Kommunikation function Entwurf UML-Diagrammtypen Beispiel documentation Softwareentwicklung Wissen analysis Bedeutung Objekt Anwendung Aktivitätendiagramm mapping code Prozess abbilden Ablauforganisation Diagramm Datenfluss Anleitung Word-Dokument test Software-Einsatz grafische workflow Abbildung Daten Objektmodell statechart Projektmanagement Erfahrung Qualität Prozessbeschreibung Verfeinerung State-Diagramm Organisation Aktivität umwandeln Word-Vorlage Nutzen Pakete MS Word Analysemethode CARE-Tool Anforderungsanalyse Optimierung Zustandsübergang Verfahren activity class collaboration communication component deployment diagram interaction package sequence diagram method Anwendungsfall erstellen Arbeitsprozesse darstellen element Beispiele Assoziation problem Abhängigkeiten Ergebnistypen Abstraktion transformation tutorial Sequenz Use-case parallele Prozesse Software-Design Funktion activity diagram Programme Rekursion Arbeitspaket Aktivitätsdiagramme Geschäftsprozessmodellierung Projektarbeit CASE Computer Aided Software Engineering Erläuterung Ist-Analyse Formular standard consulting information Grafik Einführung Systemarchitektur Vorgehensweise Schaubild actor Informatik Werkzeug Funktionsanalyse Projektdokumentation Struktur-Analyse parallel CASE-Tool Metamodell Projekte Nutzen user Schichten-Modell Zielsetzung Wiederverwendbarkeit Leitfaden Software-Architektur Zusammenfassung Schichten-Architektur DV reengineering guide JAVA embedded Domäne Entität Erklärung Prozessmodell Vorlagen Klassenmodell modular UML-Modellierung Geschäftsprozessmanagement Berater Zustandsautomat Umsetzung Vererbung Flussdiagramm IT-System-Modellierung Generalisierung Phase

INffORUM Leistungen

Projekt-Beispiele

Kontakt zu INffORUM

Abbildung Diagrammtypen Vergleich Übersicht UML-Anwendungsfalldiagramm stakeholder UML-Aktivitätsdiagramm Beispiele Prozessbeginn Prozessende Prozessdiagramm UML-Klassendiagramm UML-Sequenzdiagramm UML-Kollaborationsdiagramm collaboration UML-Interaktionsdiagramm UML-Verteilungsdiagramm element UML-Zustandsdiagramme prozessorientiert UML-Komponentendiagramm UML-Paketdiagramm UML-Statediagramm Softwareentwicklung Kommunikation Experte Prozess UML-Zustandsübergangsdiagramm best practices Anwendungsfall context Beispiel Sequenz definition Use-case UML-Diagramm Benutzer class diagramm Ebene Programm Struktur-Diagramm erstellen skill Kompetenz Ziel Paket Doku Anwendungsfälle Anwendungsfall-Diagramme aggregation Akteure lernen Workshop Vereinigung Relation external Software-Entwurf Detail Unterschied Arbeitsprozess Phase Übergang external Entwickler Bestellung Klassenmodell Verwaltung

Ziele Informatik Forum

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

objectiF RPM

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

Meilenstein-Trend-Analyse

Methoden der Aufwandsschätzung

Methode NuWA - Nutzwertanalyse

Werkzeuge Projekt-Management

in-STEP BLUE

Primavera

Übersicht Leistungen

Organisationskonzepte

Studien, Gutachten

Auswahl Requirements Engineering (CARE) Tool

Auswahl Software Engineering (CASE) Tool

Auswahl Projekt-Management (PM) Tool

Projektleitung

Coaching IT-Projektleiter

Know-how-Transfer Projekte

Beratung und Unterstützung

Software Einsatz case/4/0

Software Einsatz Innovator

Software Einsatz objectiF

Projektbeispiele

Informationssystem-Planung

IV-Rahmenplanung Museum

Kommunikationsanalyse Versicherung

Organisation

ORG-BW-Gesamtmodell

Prozessmodellierung und Ablauf-Organisation Rating

Versionierung in der 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 (mit Download)

Cockpit - Steuerung der Simulation

Mitarbeiter-Profil

Kontakt

Impressum

Unsere Kompetenz

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 der Softwareentwicklung 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, Aktivitäten, ...
    Im Aktivitätsdiagramm (Prozessdiagramm) 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, Zustandsübergangsdiagramm): Zur Darstellung der Übergänge eines Objektes im Zustandsdiagramm (im Beispiel zu einem 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 Kap (1.3.1.3.)

Object Modelling Technique (OMT) nach Rumbaugh

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 der Anwendungsentwickler 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 in Ihrem IT-Projekt von den langjährigen Erfahrungen der INffORUM Berater.