UML Klassendiagramm Symbole

Das UML Klassendiagramm ist bei der Dokumentation von Software ein weit verbreiteter Diagrammtyp. Eine genauere Beschreibung gibt es in dem Artikel Darstellung von Klassen und Objekt Diagrammen mit UML Darstellung von Klassen und Objekt Diagrammen mit UML.

Dieser Artikel ist eine Ergänzung. Denn hier werden die Symbole für die Beziehungen des UML Klassendiagramms gelistet.

Beziehungen (engl. assosciaton)
blank blank Klassendiagramm Komposition blank
gerichtete Assoziation Assoziation Generalisierung Komposition Aggregation

Beziehungen in der Objektorientierung sind Verbindungen zwischen Objekten einer oder mehrerer Klassen. So gibt es die Assoziation, Aggregation und die Komposition.

Sichtbarkeit bei Klassen (engl. class visibility)
+ ~ #
public
öffentlicher, unbeschränkter Zugriff
private
nur die Klasse selbst kann es sehen
package
innerhalb des Pakets sichtbar
protected
geschützter Zugriff nur von der Klasse, sowie von den Unterklassen

Ein weiterer wichtiger Aspekt ist die Sichtbarkeit, die mit der Datensicherheit einhergeht. Des wird durch die gezeigten Symbole dokumentiert.

Kardinalität (engl. multiplicity)
0 1 0…1 * 1…*
Kein genau 1 0 bis 1 0 bis viele 1 bis viele

Die Kardinalität bestimmt, zu welchen Objekten ein bestimmtes Objekt in Verbindung steht.

 

Darstellung von Klassen und Objekt Diagrammen mit UML

UML wird zur Modellierung und zur Darstellung der Struktur von Softwaresystemen eingesetzt.  Die Unified Modeling Language nutzt dazu verschiedene Diagrammarten und wird zur

  • Beschreibung aller Arten von objektorientierter Software und der dazugehörenden Dokumentation eingesetzt;
  • zeigt die Prozesse, zeitlichen Kommunikationsverläufe, Objekte, Klassen zum Erstellen eines Modells auf;
  • dient zur Erkennung von Risiken und Fehlern;
  • sowie der Zuweisung von Verantwortlichkeiten und Ressourcen.

Inzwischen gibt es Software Tools, mit denen nicht nur UML dokumentiert werden kann. Es wird auch der passende Quellcode für verschiedene Programmiersprachen generiert.

Das Klassen Diagramm

Das Klassendiagramm ist ein Bauplan verwandter Objekte mit ähnlichen Eigenschaften und Methoden. Die Kommunikation dieser Objekte erfolgt über Schnittstellen. Dafür sind Schnittstellenmethoden notwendig.

Beispiel eines Klassen Diagramms

UML Klassendiagramm

  1. Name der Klasse
  2. Attribut oder Eigenschaft der Klasse mit Datentyp
  3. Eine Methode der Klasse

Das Objekt Diagramm

Das Objektdiagramm zeigt eine Instanz der Klasse zu einer bestimmten Zeit. Das heißt, ein aus dem Klassenbauplan erzeugtes Objekt wird zu einem bestimmten Zeitpunkt dargestellt.

Beispiel eines Objekt Diagramms

UML Objekt-Diagramm

  1. Klasse : Objekt => beschreibt das Objekt
  2. Zeigt an einem Beispiel den Wert und Datentyp des Attributs

Eine weitere wichtige Rolle spielen die Beziehungen zwischen den Objekten, Klassen, der Sichtbarkeit und der Kardinalität. Diese wird im Artikel UML Klassendiagramm Symbole beschrieben.

Web Entwicklungsumgebung XAMPP installieren

Web Entwickler brauchen für die Erstellung von Webseiten, CMS, Blogs und weiteren internet-affinen Systemen eine Entwicklungsumgebung. Hier bietet seit vielen Jahren die Open Source Entwicklungsumgebung XAMPP eine tragende Rolle.

XAMPP Installation

Im nachfolgenden Video wird die Installation von XAMPP gezeigt. Mit dabei sind Tipps und Tricks.

Web Entwicklungsumgebung XAMPP installieren from Karl Högerl on Vimeo.

Fazit

XAMPP ist eine häufig genutzte Entwicklungsumgebung mit viel Potential. Es gibt Unterstützung von HTML, CSS, PHP, MySQL DB, JSP und dem Tomcat Server.

Was ist ein Algorithmus?

In unserem täglichen Leben benutzen wir immer wieder Algorithmen. Aber wenn wir erklären sollen, was ein Algorithmus ist, dann wird es schwierig.

Ein Algorithmus ist eine Anleitung, mit bestimmten Eingabedaten bestimmte Ausgabedaten zu produzieren und auszugeben. Mit anderen Worten:

Es ist eine Handlungsvorschrift, um ein Problem schrittweise zu lösen

Anforderung an Algorithmen in der Programmierung

  • Der Algorithmus muss vollständig beschreibbar sein
  • Das Rechenverfahren muss aus einzelnen Arbeitsschritten bestehen, die zur Lösung des Problems führen
  • Jeder Schritt davon muss zu einem eindeutigen Ergebnis führen
  • Bei gleichen Eingaben erhält man immer das gleiche Ergebnis
  • Das Verfahren muss zu einem Ergebnis führen
  • Der Algorithmus muss universell und auf alle Daten anwendbar sein

Wie wird ein Algorithmus notiert oder aufgeschrieben?

Insgesamt kann dieser in einer Sprache wie zum Beispiel in Deutsch aufgeschrieben werden. Allerdings kann ein Computer den Algorithmus im Regelfall nicht verstehen.

Wie kann ein Computer mit Algorithmen arbeiten?

Damit der Computer den Algorithmus versteht, werden Programmiersprachen eingesetzt. Dabei wird zwischen strukturierter und objektorientierter Programmierung unterschieden. Die meisten Programmiersprachen bieten ähnliche Möglichkeiten die Lösung einer Problemstellung zu beschreiben oder wie der Programmierer sagt, zu implementieren.

Wie kann ein Algorithmus dokumentiert werden?

Dazu kann die Unified Modeling Language UML eingesetzt werden. Hier können Algorithmen grafisch dargestellt werden. Dies stellt eine praktische Ergänzung zur textuellen Beschreibung dar.

 

Software Entwicklung mit dem agilen Manifest

Scrum basiert auf agile Methoden wird sehr häufig bei der Software Entwicklung eingesetzt. Agile Methoden der Software Entwicklung werden inzwischen häufig eingesetzt.

Ziele agiler Entwicklungsmethoden

  • Eine schlanke, flexible Softwareentwicklung ist umsetzbar
  • Abbau bürokratischer Hemmnisse
  • Regelbasierte Tätigkeiten in Rollen werden eingesetzt
  • Die Entwicklung, die Dokumentation und der Test sollen eine Einheit bilden
  • „Qualität ist die Erfüllung der Kundenanforderung“ – diese Qualität ist zu erreichen
  • Agile Entwicklung ist dort einzusetzen, wo es Vorteile bringt

Das agile Manifest

Dazu werden die beschriebenen Werte eingesetzt.

  • Individuen und Interaktionen mehr als Prozesse und Werkzeuge
  • Funktionierende Software mehr als umfassende Dokumentation
  • Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung
  • Reagieren auf Veränderung mehr als das Befolgen eines Plans

Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden, schätzen wir die Werte auf der linken Seite höher ein.

Entwickelt wurde diese Vorgehensweise von Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas