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.
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 |