Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

 << zurück
Java ist auch eine Insel von Christian Ullenboom
Programmieren für die Java 2-Plattform in der Version 5
Java ist auch eine Insel

Java ist auch eine Insel
5., akt. und erw. Auflage
1454 S., mit CD, 49,90 Euro
Galileo Computing
ISBN 3-89842-747-1
gp Kapitel 3 Klassen und Objekte
  gp 3.1 Objektorientierte Programmierung
    gp 3.1.1 Warum überhaupt OOP?
    gp 3.1.2 Wiederverwertbarkeit
  gp 3.2 Klassen benutzen
    gp 3.2.1 Die Klasse Point
  gp 3.3 Die UML (Unified Modeling Language)
    gp 3.3.1 Hintergrund und Geschichte zur UML
    gp 3.3.2 Wichtige Diagrammtypen der UML
  gp 3.4 Anlegen und Nutzen eines Punktes
    gp 3.4.1 Definieren von Referenz-Variablen
    gp 3.4.2 Anlegen eines Exemplars einer Klasse mit dem new-Operator
    gp 3.4.3 Zugriff auf Variablen und Methoden mit dem ».«
    gp 3.4.4 Konstruktoren nutzen
  gp 3.5 Import und Pakete
  gp 3.6 Die API-Dokumentation
  gp 3.7 Mit Referenzen arbeiten
    gp 3.7.1 Die null-Referenz
    gp 3.7.2 Zuweisungen bei Referenzen
    gp 3.7.3 Funktionen mit nichtprimitiven Parametern
    gp 3.7.4 Gleichheit von Objekten und die Methode equals()
  gp 3.8 Arrays
    gp 3.8.1 Deklaration von Arrays
    gp 3.8.2 Arrays mit Inhalt
    gp 3.8.3 Die Länge eines Arrays über das Attribut length
    gp 3.8.4 Zugriff auf die Elemente über den Index
    gp 3.8.5 Array-Objekte erzeugen
    gp 3.8.6 Fehler bei Arrays
    gp 3.8.7 Arrays mit nicht-primitiven Elementen
    gp 3.8.8 Vorinitialisierte Arrays
    gp 3.8.9 Die erweiterte for-Schleife
    gp 3.8.10 Mehrdimensionale Arrays
    gp 3.8.11 Die Wahrheit über die Array-Initialisierung
    gp 3.8.12 Mehrere Rückgabewerte
    gp 3.8.13 Argument per Referenz übergeben
    gp 3.8.14 Arrays klonen
    gp 3.8.15 Feldinhalte kopieren
    gp 3.8.16 Die Klasse Arrays zum Vergleichen, Füllen und Suchen
    gp 3.8.17 Methode mit variabler Argumentanzahl (vararg)
  gp 3.9 Der Einstiegspunkt für das Laufzeitsystem main()
    gp 3.9.1 Kommandozeilen-Parameter ausgeben
    gp 3.9.2 Der Rückgabewert von main() und System.exit()
    gp 3.9.3 Parser der Kommandozeilenargumente Apache CLI
  gp 3.10 Eigene Pakete schnüren
    gp 3.10.1 Die package-Anweisung
    gp 3.10.2 Importieren von Klassen mit import
    gp 3.10.3 Paketnamen
    gp 3.10.4 Hierarchische Strukturen und das Default-Package
    gp 3.10.5 Klassen mit gleichen Namen in unterschiedlichen Paketen
    gp 3.10.6 Statisches Import
    gp 3.10.7 Eine Verzeichnisstruktur für eigene Projekte


Galileo Computing

3.3 Die UML (Unified Modeling Languagedowntop

Für die Darstellung einer Klasse lässt sich Programmcode verwenden, also eine Textform, oder aber eine grafische Notation. Eine dieser grafischen Beschreibungsformen ist die UML. Grafische Abbildungen sind für Menschen deutlich besser zu verstehen und erhöhen die Übersicht.

Im ersten Abschnitt des UML-Diagramms lassen sich die Attribute ablesen, im zweiten die Methoden. Das + vor den Eigenschaften zeigt an, dass sie öffentlich sind und jeder sie nutzen kann. Die Typenangabe ist gegenüber Java umgekehrt: Zuerst kommt der Name der Variable, dann der Typ beziehungsweise bei Methoden der Typ des Rückgabewerts.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 3.1   Die Klasse java.awt.Point in der UML-Darstellung


Galileo Computing

3.3.1 Hintergrund und Geschichte zur UML  downtop

Die UML ist mehr als nur eine Notation zur Darstellung von Klassen. Mit ihrer Hilfe lassen sich die Analyse und das Design im Softwareentwicklungsprozess beschreiben. Mittlerweile hat sich die UML jedoch zu einer allgemeinen Notation für andere Beschreibungen entwickelt, zum Beispiel für Datenbanken oder Workflow-Anwendungen.

Vor der UML waren andere Darstellungsvarianten wie OMT oder Booch verbreitet. Diese waren eng mit einer Methode verbunden, die einen Entwicklungsprozess und ein Vorgehensmodell beschrieb. Methoden versuchen, eine Vorgehensweise beim Entwurf von Systemen zu beschreiben, etwa »erst Vererbung einsetzen und dann die Attribute finden« oder »erst die Attribute finden und dann mit Vererbung verfeinern«. Bekannte OO-Methoden sind etwa Shlaer/Mellor, Coad/Yourdon, Booch, OMT und OOSE/Objectory. Aus dem Wunsch heraus, OO-Methoden zusammenzufassen, entstand die UML. Anfangs stand die Abkürzung noch für Unified Method. Die Urversion 0.8 war die erste Veröffentlichung im Jahre 1995. Die Initiatoren waren Jim Rumbaugh und Grady Booch. Später trat Ivar Jacobson dazu, und die drei »Amigos« erweiterten die UML, die in der Version 1.0 bei der Object Management Group (OMG) als Standardisierungsvorschlag eingereicht wurde. Die Amigos nannten die UML nun »Unified Modeling Language«, was deutlich macht, dass die UML keine Methode ist, sondern lediglich eine Modellierungssprache. Die folgende Tabelle gibt eine Kurzübersicht über die Veränderungen der UML:


1994 Booch und Rumbaugh vereinigen ihre Ansätze OOAD und OMT.
1995 Unified Method in der Version 0.8. Jacobson bringt OOSE mit ein, die UML wird vereinfacht, von einer einheitlichen Methode wird abgesehen.
1996 Die UML in der Version 0.9. Notation wird verfeinert, unter anderem von vielen Unternehmen wie Oracle, Microsoft, Digital und HP.
1997 Versionen 1.0 und 1.1 erscheinen. Die UML wird bei der OMG eingereicht. Im September wird die UML 1.1 zum Standard.
1998 Version 1.2 mit Detailverbesserungen und einigen Korrekturen
1999 Die UML in der Version 1.3
2000 UML 1.4
2004 UML 2.0. Augenmerk auf XML Metadata Interchange (XMI), Model Driven Architecture (MDA), Geschäftsprozessmodellierung (BPM) und Unterstützung von Echtzeitmodellierung (RT) durch neue Diagrammtypen

Eine aktuelle Version des Standards lässt sich unter java-tutor.com/go/uml beziehen.


Galileo Computing

3.3.2 Wichtige Diagrammtypen der UML  toptop

In der UML werden unterschiedliche Diagramme definiert, die die unterschiedlichen Sichten auf die Software beschreiben. Für die einzelnen Phasen im Softwareentwurf sind unterschiedliche Diagrammtypen wichtig. Wir wollen kurz drei Diagramme und ihr Einsatzgebiet besprechen.

Use Cases

Die Use-Cases-Diagramme entstehen meist während der Anforderungsphase und beschreiben die Geschäftsprozesse, indem die Interaktion von Personen oder von bereits existierenden Programmen mit dem System dargestellt werden. Die handelnden Personen oder aktiven Systeme werden Aktoren genannt. Ein Use Case beschreibt dann eine Interaktion mit dem System. Dazu werden die Aktoren als Männchen gemalt (wobei die Geschlechter nicht zu erkennen sind) und die einzelnen Anwendungsfälle (Use Cases) als Ellipsen.

Klassendiagramme

Für die statische Sicht auf einen Programmentwurf sind Klassendiagramme einer der wichtigsten Diagrammtypen. Sie sind besonders interessant, da Hilfsprogramme aus diesen Diagrammen automatisch Teile des Quellcodes erzeugen können. Die Diagramme stellen zum einen die Elemente der Klasse dar, zum anderen die Beziehungen der Klassen untereinander. Die Diagramme werden in diesem Buch häufiger eingesetzt. Klassen werden als Rechteck dargestellt und die Beziehungen zwischen den Klassen durch Linien angedeutet.

Interaktionsdiagramme

Der Begriff umfasst zwei Unterdiagramme zur Darstellung der zeitlichen Abläufe eines Systems: die Sequenzdiagramme und die Kollaborationsdiagramme. Damit wird im Gegensatz zum Klassendiagramm das dynamische Verhalten von Objekten dargestellt.

 << zurück




Copyright © Galileo Press GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de