UML: Begriffe#

OOA#

Ziel der OOA (Objektorientierten Analyse)

  • Wünsche und Anforderungen eines Auftraggebers an ein neues Softwaresystem ermitteln und beschreiben.

  • Modell des Fachkonzepts erstellen, das konsistent, vollständig, eindeutig und realisierbar ist.

  • Alle Aspekte der Implementierung bewußt ausklammern (perfekte Technologie!).

  • Es ist nicht die Aufgabe des Auftraggebers, den Systemanalytiker zu verstehen, sondern der Systemanalytiker wird dafür bezahlt, sich dem Auftraggeber verständlich zu machen.

Produkte der Analysephase#

  • Pflichtenheft

  • das Einstiegsdokument

  • OOA-Modell

  • das Fachkonzept

  • Prototyp der Benutzeroberfläche

  • die Visualisierung des Fachkonzepts

Das statische Modell beschreibt …#

  • die Klassen des Fachkonzepts

  • die Assoziationen (Beziehungen) zwischen den Klassen

  • die Vererbungstrukturen

  • die Attribute der Klassen (Daten des Systems)

  • die Bildung von Paketen (Teilsysteme)

Das dynamische Modell zeigt Funktionsabläufe#

  • Geschäftsprozesse beschreiben die durchzuführenden Aufgaben auf einem sehr hohen Abstraktionsniveau.

  • Szenarien zeigen, wie Objekte miteinander kommunizieren, um eine bestimmte Aufgabe zu erledigen.

  • Zustandsautomaten beschreiben die Reaktionen eines Objekts auf verschiedene Ereignisse (= Botschaften).

Der Prototyp der Benutzersoberfläche …#

  • ist ein ablauffähiges Programm, das alle Attribute des OOA-Modells auf der Benutzeroberfläche darstellt.

  • besitzt weder Anwendungsfunktionen noch die Fähigkeit, Daten zu speichern.

  • besteht aus Fenstern, Dialogen, Menüs usw.

  • hat den Zweck, das erstellte OOA-Modell mit dem zukünftigen Benutzer oder einem Repräsentanten begutachten.

  • sollte möglichst die vollständige Benutzeroberfläche des Fachkonzepts enthalten.

OOD#

Objektorientierter Entwurf

Produkt der Entwurfsphase –> OOD-Modell

UML#

Unified Modeling Language ist eine formale Sprache zur Spezifikation, Visualisierung, Konstruktion und Dokumentation von Systemen und Modellen.

MDA (Model-Driven-Architecture)#

Definiert plattform-unabhängige Modelle und plattform-spezifische Modelle.

Modellierungsregeln: So viel wie nötig, aber nicht mehr.

Was ist ein Modell?#

Mit einem Modell wird ein Abbild der Realität beschrieben. Was wichtig ist, wird modelliert, der Rest wird weggelassen. Ein Modell ist also kein Nachbau eines Originals, sondern eine vereinfachte Beschreibung des Originals mit dem Ziel, das Original besser verstehen zu können.

Wenn Ihnen ein Modell genauso wenig sagt wie das Original, ist es ein schlechtes Modell - es bringt Ihnen keinen Vorteil.

../../_images/modell.webp

Quelle: Math with bad drawings

Warum UML?#

Was ist Software-Engineering?#

Software Engineering ist [1] die Anwendung wissenschaftlicher und ingenieurtechnischer Prinzipien auf die Entwicklung von Softwaresystemen - Prinzipien des Entwurfs, der Analyse und des Managements - mit dem Ziel:

  • Software zu entwickeln, die den Anforderungen entspricht, auch wenn sich diese ändern;

  • die Entwicklung fristgerecht und innerhalb des Budgets abzuschließen;

  • etwas von dauerhaftem Wert zu schaffen, das leicht zu warten, wiederzuverwenden und erneut einzusetzen ist.

  • Modellierung (Anforderungsbeschreibung – Requirements)

  • Kommunikation

  • Verschiedene Sichten aller Beteiligten und unterschiedliche Abstraktionen.

UML-Fachbegriffe#

UML dient der Beschreibung eines Systems unabhängig von der physikalischen Implementierung (Sprache, Plattform…)

Dies hat andererseits zu einer Fülle von neuen Begriffen geführt, die hier in der Gegenüberstellung der Sprachen Deutsch und Englisch aufgelistet werden.

Für viele dieser Begriffe gibt es einfache geometrische Formen, die Sie auf den folgenden Seiten kennenlernen werden.

Die Originalliste finden/fanden Sie unter http://www.mario-jeckle.de/uml.de/index.html

(association) role

(Assoziations-)Rolle

action

Aktion

action state

Aktionszustand

activity

Aktivität

activity diagram

Aktivitätsdiagramm

activity edge

Kante

activity final node

Endknoten

activity node

Aktivitätsknoten oder Schritt

activity partition

Partition

actor

Akteur

aggregation

Aggregation, Teile/Ganzes-Beziehung

artifact

(das) Artefakt (oft auch gut als Ergebnis oder Produkt zu übersetzen)

assembly connector

Schnittstellenverbund (VORSCHLAG)

assembly connector

Kompositionskonnektor

association

Assoziation (ungerichtet)

association class

Assoziationsklasse

attribute

Attribut

behavior

Verhalten

behavior diagram

Verhaltensdiagramm

behaviored classifier

Verhaltensspezifischer Classifier

bidirectional association

bidirektionale Assoziation, beidseitig gerichtete Assoziation

bound element

gebundenes Element

cardinality

Kardinalität

class

Klasse

class diagram

Klassendiagramm

collaboration diagram

Kollaborationsdiagramm

combined fragment

Interaktionsausdruck

communication diagram

Kommunikationsdiagramm

communication path

Kommunikationspfad

compartment

Bereich, Abschnitt;

manchmal auch Rechteckselement wenn die graphische Repräsentation gemeint ist

component

Komponente

component diagram

Komponentendiagramm

composite structure diagram

Kompositionsstrukturdiagramm

composition

Komposition

concurrent

nebenläufig

constraint

Einschränkung

control edge

Ablaufkante

CRC-Card

CRC-Karte, Klassenkarte

decision

Entscheidung

dependency

Abhängigkeit

deployment diagram

Verteilungsdiagramm

design model

Entwurfsmodell

Device

Gerät

discriminator

Diskriminator, Unterscheidungsmerkmal

domain model

Problembereichsmodell

encapsulated classifier

Gekapselter Classifier

end point

Endpunkt

entry action

Eintrittsaktion

event

Ereignis

execution environment

Ausführungsumgebung

execution occurrence

Ausführungsfocus

exit action

Austrittsaktion

feature

Merkmal

final state

Endzustand

flow final node

Ablaufende

focus of control

Steuerungsfokus

generalization

Generalisierung

guard

Bedingung

implementation dependency

Implementierungsbeziehung

information item

Informationseinheit

initial node

Startknoten

initial state

Anfangszustand

initial value

Anfangswert, Vorbelegung

instance

Exemplar, Instanz (eigentlich nur unter Verweis auf den im Umfeld der philosophischen Terminologie gängigen Instanzbegriff korrekt); Beispiel, Ausprägung (selten)

instance diagram

Ausprägungsdiagramm

instantiated class

instantiierte Klasse

interaction

Interaktion

interaction diagram

Interaktionsdiagramm

interaction overview diagram

Interaktionsübersicht

interface

Schnittstelle

interruptible activity region

Unterbrechbarer Aktivitätsbereich

lifeline

Lebenslinie

link

Objektbeziehung

marker

Markierung

message

Nachricht, Botschaft

method

Methode

modifier

Modifizierer

multiplicity

Multiplizität

navigability

Navigierbarkeit

node

Knoten

node diagram

Knotendiagramm

note

Notiz, Anmerkung

object

Objekt

object diagram

Objektdiagramm

object edge

Objektkante

object node

Objektknoten

operation

Operation

package

Paket

package diagram

Paketdiagramm

packet diagram

Paketdiagramm

parameterized class

parametrisierte Klasse

pattern

Muster

port

Port

predecessor

Vorgänger, Voraussetzung

problem domain

Problembereich

property

Eigenschaft

property string

Eigenschaftswert

protocol state machine

Protokoll-Zustandsautomat

qualified association

qualifizierte Assoziation

qualifier

Qualifizierung

realization dependency

Realisierungsbeziehung

refinement

Verfeinerung

relationship

Beziehung

restriction

Restriktion

scenario

Szenario

sequence diagram

Sequenzdiagramm

state

Zustand

statechart diagram

Zustandsdiagramm

state machine

Zustandsautomat

stereotype

(das) Stereotyp

structured classifier

Strukturierter Classifier

structure diagram

Strukturdiagramm

subclass

Unterklasse

substate

Teilzustand

superclass

Oberklasse

swimlane

Verantwortlichkeitsbereich, Schwimmbahn

synchronization bar

Synchronisationsbalken

tagged value

Eigenschaftswert

template class

Template-Klasse, parametrisierbare Klasse

timing diagram

Zeitverlaufsdiagramm

timing diagram

Zeitdiagramm

token

Token

transition

Transition, Übergang

type

Typ

UML

(die) UML

UML profile

UML-Profil

unidirectional association

(einseitig) gerichtete Assoziation

Unified Modeling Language

Unified Modeling Language

usage dependency

Verwendungsbeziehung

use case

Use-Case, Anwendungsfall

use case diagram

Use-Case-Diagramm, Anwendungsfalldiagramm

view

Sicht

visibility

Sichtbarkeit

wait state

Wartezustand

Denkpause: Schloss Schwerin#

../../_images/schweriner-schloss.jpg
Schweriner Schloss