Login | Register
My pages Projects Community openCollabNet

ArgoUML Anwenderhandbuch

Eine Lern- und Referenzbeschreibung

Alejandro Ramirez

Philippe Vanpeperstraete

Andreas Rueckert

Kunle Odutola

Jeremy Bennett

Linus Tolke

Michiel van der Wulp

??bersetzung: Harald Braun

Dieses Material darf nur nach den in der Open Publication Lizenz, Version 1.0 oder h??her beschriebenen Regeln und Bedingungen weitergegeben werden. Eine Kopie dieser Lizenz finden Sie im Abschnitt Open Publication License . Die letzte Version ist unter http://www.opencontent.org/openpub/ verf??gbar.

Zusammenfassung

Diese Version des Handbuches beschreibt die Version ${argo.core.version} von ArgoUML.


1. Vorwort
1. Einleitung
1.1. Die Anf??nge und der ??berblick ??ber ArgoUML
1.1.1. Objektorientierte Analyse und Design
1.1.2. Die Entwicklung von ArgoUML
1.1.3. Mehr ??ber das ArgoUML-Projekt
1.2. Der Anwendungsbereich dieses Anwenderhandbuches
1.2.1. Der Leserkreis
1.2.2. Anwendungsbereich
1.3. ??berblick ??ber das Anwenderhandbuch
1.3.1. Die Struktur des ??bungshandbuches
1.3.2. Die Struktur des Referenzhandbuches
1.3.3. Anwender-Feedback
1.4. Annahmen
1. ??bungshandbuch
2. Einleitung
3. UML basierte OOA&D
3.1. Hintergrundinformationen zu UML
3.2. UML basierter Prozess f??r OOA&D
3.2.1. Prozesstypen
3.2.2. Ein Entwicklungsprozess f??r dieses ??bungshandbuch
3.3. Warum ist ArgoUML anders
3.3.1. Kognitive Psychologie
3.3.2. Offene Standards
3.3.3. 100% reines Java
3.3.4. Open Source
3.4. ArgoUML Grundlagen
3.4.1. Gestartet bekommen
3.4.2. Die ArgoUML-Anwenderschnittstelle
3.4.3. Ausgabe
3.4.4. Mit Design-Kritiken arbeiten
3.5. Die Fallstudie (Noch zu schreiben)
4. Erfassen der Anforderungen
4.1. Einleitung
4.2. Der Anforderungs-Erfassungs-Prozess
4.2.1. Prozess-Schritte
4.3. Ergebnis des Anforderungs-Erfassungs-Prozesses
4.3.1. Visions-Dokument
4.3.2. Anwendungsfalldiagramm
4.3.3. Die Anwendungsfall-Spezifikation
4.3.4. Erg??nzende Anforderungsspezifikation
4.4. Anwendungsf??lle in ArgoUML verwenden
4.4.1. Akteure
4.4.2. Anwendungsf??lle
4.4.3. Assoziationen
4.4.4. Hierarchische Anwendungsf??lle
4.4.5. Stereotypen
4.4.6. Dokumentation
4.4.7. Systemgrenzen
4.5. Fallstudie
4.5.1. Visions-Dokument
4.5.2. Akteure und Anwendungsf??lle identifizieren
4.5.3. Assoziationen (Noch zu beschreiben)
4.5.4. Erweiterte Diagrammeigenschaften (Noch zu beschreiben)
4.5.5. Anwendungsfallspezifikationen (Noch zu beschreiben)
4.5.6. Erg??nzende Anforderungsspezifikation (Noch zu beschreiben)
5. Analyse
5.1. Der Analyseprozess
5.1.1. Klasse-, Verantwortlichkeits- und Zusammenarbeits-Karten (CRC)
5.1.2. Konzeptdiagramm (Noch zu beschreiben)
5.1.3. System-Sequenzdiagramm (Noch zu beschreiben)
5.1.4. System-Zustandsdiagramm (Noch zu beschreiben)
5.1.5. Anwendungsfalldiagramm realisieren (Noch zu beschreiben)
5.1.6. Dokumente (Noch zu beschreiben)
5.2. Klassendiagramme (Noch zu beschreiben)
5.2.1. Das Klassendiagramm (Noch zu beschreiben)
5.2.2. Erweiterte Klassendiagramme (Noch zu beschreiben)
5.3. Klassendiagramme in ArgoUML erzeugen
5.3.1. Klassen
5.3.2. Assoziationen (Noch zu beschreiben)
5.3.3. Klassenattribute und Operationen (Noch zu beschreiben)
5.3.4. Erweiterte Klasseneigenschaften (Noch zu beschreiben)
5.4. Sequenzdiagramme (Noch zu beschreiben)
5.4.1. Das Sequenzdiagramm (Noch zu beschreiben)
5.4.2. Aktionen identifizieren (Noch zu beschreiben)
5.4.3. Erweiterte Sequenzdiagramme (Noch zu beschreiben)
5.5. Sequenzdiagramme in ArgoUML erzeugen
5.5.1. Sequenzdiagramme
5.5.2. Aktionen (Noch zu beschreiben)
5.5.3. Erweiterte Sequenzdiagramme (Noch zu beschreiben)
5.6. Zustandsdiagramme (Noch zu beschreiben)
5.6.1. Das Zustandsdiagramm (Noch zu beschreiben)
5.6.2. Erweiterte Zustandsdiagramme (Noch zu beschreiben)
5.7. Zustandsdiagramme in ArgoUML
5.7.1. Zustandsdiagramme (Noch zu beschreiben)
5.7.2. Zust??nde (Noch zu beschreiben)
5.7.3. Transitionen (Noch zu beschreiben)
5.7.4. Aktionen (Noch zu beschreiben)
5.7.5. Erweiterte Zustandsdiagramme (Noch zu beschreiben)
5.8. Anwendungsf??lle realisieren (Noch zu beschreiben)
5.9. Realisierungs-Anwendungsf??lle in ArgoUML erstellen ( Noch zu beschreiben)
5.10. Fallstudie (Noch zu beschreiben)
5.10.1. CRC Karten
5.10.2. Klassendiagramme konzipieren (Noch zu beschreiben)
5.10.3. System-Sequenzdiagramme (Noch zu beschreiben)
5.10.4. System-Zustandsdiagramme (Noch zu beschreiben)
5.10.5. Realisierungs-Anwendungsf??lle (Noch zu beschreiben)
6. Design
6.1. Der Designprozess (Noch zu beschreiben)
6.1.1. Klasse, Verantwortlichkeiten und Zusammenh??nge (CRC) Karten
6.1.2. Paketdiagramm (Noch zu beschreiben)
6.1.3. Realisierungs-Klassendiagramme (Noch zu beschreiben)
6.1.4. Sequenz- und Kollaborationsdiagramme (Noch zu beschreiben)
6.1.5. Zustands- und Aktivit??tsdiagramme ( Noch zu beschreiben)
6.1.6. Verteilungsdiagramme (Noch zu beschreiben)
6.1.7. Dokumente (Noch zu beschreiben)
6.2. Paketdiagramme (Noch zu beschreiben)
6.2.1. Das Paketdiagramm (Noch zu beschreiben)
6.2.2. Erweiterte Paketdiagramme (Noch zu beschreiben)
6.3. Paketdiagramme in ArgoUML erstellen
6.3.1. Pakete
6.3.2. Beziehungen zwischen Paketen (Noch zu beschreiben)
6.3.3. Erweiterte Paketeigenschaften (Noch zu beschreiben)
6.4. Mehr ??ber Klassendiagramme (Noch zu beschreiben)
6.4.1. Das Klassendiagramm (Noch zu beschreiben)
6.4.2. Erweiterte Klassendiagramme (Noch zu beschreiben)
6.5. Mehr ??ber Klassendiagramme in ArgoUML (Noch zu beschreiben)
6.5.1. Klassen (Noch zu beschreiben)
6.5.2. Klassenattribute und -operationen (Noch zu beschreiben)
6.5.3. Erweiterte Klasseneigenschaften
6.6. Sequenz- und Kollaborationsdiagramme ( Noch zu beschreiben)
6.6.1. Mehr ??ber das Sequenzdiagramm (Noch zu beschreiben)
6.6.2. Das Kollaborationsdiagramm (Noch zu beschreiben)
6.6.3. Erweiterte Kollaborationsdiagramme (Noch zu beschreiben)
6.7. Kollaborationsdiagramme in ArgoUML erstellen ( Noch zu beschreiben)
6.7.1. Kollaborationsdiagramme (Noch zu beschreiben)
6.7.2. Nachrichten (Noch zu beschreiben)
6.7.3. Erweiterte Kollaborationsdiagramme (Noch zu beschreiben)
6.8. Zustandsdiagramme (Noch zu beschreiben)
6.8.1. Das Zustandsdiagramm (Noch zu beschreiben)
6.8.2. Erweiterte Zustandsdiagramme (Noch zu beschreiben)
6.9. Zustandsdiagramme in ArgoUML erstellen ( Noch zu beschreiben)
6.9.1. Zustandsdiagramme (Noch zu beschreiben)
6.9.2. Zust??nde (Noch zu beschreiben)
6.9.3. Transitionen (Noch zu beschreiben)
6.9.4. Aktionen (Noch zu beschreiben)
6.9.5. Erweiterte Zustandsdiagramme (Noch zu beschreiben)
6.10. Aktivit??tsdiagramme (Noch zu beschreiben)
6.10.1. Das Aktivit??tsdiagramm (Noch zu beschreiben)
6.11. Aktivit??tsdiagramme in ArgoUML erstellen ( Noch zu beschreiben)
6.11.1. Aktivit??tsdiagramme (Noch zu beschreiben)
6.11.2. Aktionszust??nde (Noch zu beschreiben)
6.12. Verteilungsdiagramme (Noch zu beschreiben)
6.12.1. Das Verteilungsdiagramm (Noch zu beschreiben)
6.13. Verteilungsdiagramme in ArgoUML erstellen ( Noch zu beschreiben)
6.13.1. Knoten (Noch zu beschreiben)
6.13.2. Komponenten (Noch zu beschreiben)
6.13.3. Beziehungen zwischen Knoten und Komponenten ( Noch zu beschreiben)
6.14. System-Architektur (Noch zu beschreiben)
6.15. Fallstudie (Noch zu beschreiben)
6.15.1. CRC-Karten (Noch zu beschreiben)
6.15.2. Pakete (Noch zu beschreiben)
6.15.3. Klassendiagramme (Noch zu beschreiben)
6.15.4. Sequenzdiagramme (Noch zu beschreiben)
6.15.5. Kollaborationsdiagramme (Noch zu beschreiben)
6.15.6. Zustandsdiagramme (Noch zu beschreiben)
6.15.7. Aktivit??tsdiagramme (Noch zu beschreiben)
6.15.8. Das Verteilungsdiagramm (Noch zu beschreiben)
6.15.9. Die System-Architektur (Noch zu beschreiben)
7. Codegenerierung, Reverse Engineering und Round Trip Engineering
7.1. Einleitung
7.2. Codegenerierung
7.2.1. Code aus der statischen Struktur generieren
7.2.2. Code aus Interaktionen und Zustandsautomaten generieren
7.3. Code in ArgoUML generieren
7.3.1. Statische Struktur
7.3.2. Interaktionen und Zustandsdiagramme
7.4. Reverse Engineering
7.5. Round-Trip Engineering
2. Referenz Anwenderschnittstelle
8. Einleitung
8.1. ??berblick ??ber das Fenster
8.2. Generelles Verhalten der Maus in ArgoUML
8.2.1. Maustasten-Terminologie
8.2.2. Taste 1 Klick
8.2.3. Taste 1-Doppelklick
8.2.4. Taste 1-Bewegung
8.2.5. Umschalt- und Strg- und die Taste 1
8.2.6. Alt Gr mit Taste 1: Verschieben
8.2.7. Strg mit Taste 1: Bedingtes ziehen
8.2.8. Taste 2-Aktionen
8.2.9. Taste 2-Doppelklick
8.2.10. Taste 2-Bewegung
8.3. Generelle Informationen ??ber Fenster
8.3.1. Fenstergr??sse ver??ndern
8.4. Die Statuszeile
9. Die Werkzeugzeile
9.1. Dateioperationen
9.2. Editieroperationen
9.3. Ansicht-Operationen
9.4. Neues Diagramm
10. Die Men??zeile
10.1. Einleitung
10.2. Das Mausverhalten in der Men??zeile
10.3. Das Men?? Datei
10.3.1. Neu
10.3.2. Projekt ??ffnen...
10.3.3. Projekt speichern
10.3.4. Projekt speichern unter...
10.3.5. Projekt speichern r??ckg??ngig machen
10.3.6. XMI importieren...
10.3.7. Exportiere als XMI...
10.3.8. Quellcode importieren...
10.3.9. Seite einrichten...
10.3.10. Drucken...
10.3.11. Grafik exportieren...
10.3.12. Alle Grafiken exportieren...
10.3.13. Notation
10.3.14. Projekteinstellungen
10.3.15. Am h??ufigsten verwendete Dateien
10.3.16. Beenden
10.4. Das Men?? Bearbeiten
10.4.1. Markieren
10.4.2. Aus Diagramm entfernen
10.4.3. Aus Modell entfernen
10.4.4. Perspektiven konfigurieren...
10.4.5. Einstellungen...
10.5. Das Men?? Ansicht
10.5.1. Gehezu Diagramm...
10.5.2. Suchen...
10.5.3. Zoom
10.5.4. Gitter einstellen
10.5.5. Einrasten einrichten
10.5.6. Seitenumbr??che
10.5.7. Symbolleisten
10.5.8. XML-Quelltext
10.6. Das Men?? "Neues Diagramm"
10.6.1. Neues Anwendungsfalldiagramm
10.6.2. Neues Klassendiagramm
10.6.3. Neues Sequenzdiagramm
10.6.4. Neues Kollaborationsdiagramm
10.6.5. Neues Zustands??bergangsdiagramm
10.6.6. Neues Aktivit??tsdiagramm
10.6.7. Neues Verteilungsdiagramm
10.7. Das Men?? Anordnen
10.7.1. Ausrichten
10.7.2. Anordnen
10.7.3. Reihenfolge
10.7.4. Gr??sse an Inhalt anpassen
10.7.5. Layout
10.8. Das Men?? Generieren
10.8.1. Markierte Klassen generieren ...
10.8.2. Alle Klassen generieren...
10.8.3. Gesamtes Projekt generieren... (Noch zu beschreiben)
10.8.4. Einstellungen zur Codegenerierung im Projekt... (Noch zu beschreiben)
10.9. Das Men?? Kritiken
10.9.1. Kritiken ein-/ausschalten
10.9.2. Design-Wichtungen...
10.9.3. Design Ziele...
10.9.4. Kritiken anzeigen...
10.10. Das Men??: Werkzeuge
10.11. Das Men??: Hilfe
10.11.1. Systeminformation
10.11.2. ??ber ArgoUML
11. Der Explorer
11.1. Einleitung
11.2. Das Verhalten der Maus im Explorer
11.2.1. Taste 1-Klick
11.2.2. Taste 1-Doppelklick
11.2.3. Taste 1-Bewegung
11.2.4. Taste 2-Aktionen
11.2.5. Taste 2-Doppelklick
11.3. Verhalten der Tastatur im Explorer
11.4. Auswahl der Perspektiven
11.5. Perspektiven konfigurieren
11.5.1. Der Dialog Perspektiven konfigurieren
11.6. Das kontextsensitive Men??
11.6.1. Erstelle neues
11.6.2. Kopiere das Diagramm als Bild in die Zwischenablage
11.6.3. Zum Diagramm hinzuf??gen
11.6.4. Aus Modell entfernen
11.6.5. Einstellen des Quellpfades... (Noch zu beschreiben)
11.6.6. Paket hinzuf??gen
11.6.7. Neuer Stereotyp
11.6.8. Alle Klassen im Namensraum hinzuf??gen
12. Das Editierfenster
12.1. Einleitung
12.2. Das Verhalten der Maus im Editierfenster
12.2.1. Taste 1-Klick
12.2.2. Taste 1-Doppelklick
12.2.3. Taste 1-Bewegung
12.2.4. Umschalt- und Strg-Taste und die Taste 1
12.2.5. Alt Gr mit Taste 1-Bewegung
12.2.6. Taste 2-Aktionen
12.2.7. Taste 2-Doppelklick
12.2.8. Taste 2-Bewegung
12.3. Das Verhalten der Tastatur im Editierfenster
12.3.1. Schrittweises bewegen eines Modellelementes
12.3.2. Durch die Modellelemente bewegen
12.4. Die Werkzeugleiste
12.4.1. Layout-Werkzeuges
12.4.2. Kommentierungs-Werkzeug
12.4.3. Zeichen-Werkzeuge
12.4.4. Anwendungsfalldiagrammspezifische Werkzeuge
12.4.5. Klassendiagrammspezifische Werkzeuge
12.4.6. Sequenzdiagrammspezifische Werkzeuge
12.4.7. Kollaborationsdiagrammspezifische Werkzeuge
12.4.8. Zustandsdiagrammspezifische Werkzeuge
12.4.9. Aktivit??tsdiagrammspezifische Werkzeuge
12.4.10. Verteilungsdiagrammspezifische Werkzeuge
12.5. Der Besen
12.6. Auswahl-Aktionsschaltfl??chen
12.7. Erl??uterungen (Clarifiers)
12.8. Das Zeichengitter
12.9. Der Reiter Diagramm
12.10. Pop-Up Men??'s
12.10.1. Kritiken
12.10.2. Reihenfolge
12.10.3. Hinzuf??gen
12.10.4. Darstellung
12.10.5. Modifikatoren
12.10.6. Kardinalit??t
12.10.7. Aggregation
12.10.8. Navigierbarkeit
12.11. Notation
12.11.1. Notation Sprachen
12.11.2. Editieren im Diagramm
12.11.3. Parsen
13. Der Bereich Details
13.1. Einleitung
13.2. Das Register "Zu Bearbeiten"
13.2.1. Assistenten
13.2.2. Die Schaltfl??che Hilfe
13.3. Das Register Eigenschaften
13.4. Das Register Dokumentation
13.5. Das Register Darstellung
13.6. Das Register Quellcode
13.7. Das Register Randbedingungen
13.7.1. Der Bedingungs-Editor
13.8. Das Register Stereotypen
13.9. Das Register Eigenschaftswerte
13.10. Das Register Checkliste
14. Der Bereich Zu-Bearbeiten
14.1. Einleitung
14.2. Das Verhalten der Maus im Bereich Zu-Bearbeiten
14.2.1. Taste 1-Klick
14.2.2. Taste 1-Doppelklick
14.2.3. Taste 2-Aktionen
14.2.4. Taste 2-Doppelklick
14.3. Auswahl der Darstellung
14.4. Element-Z??hler
15. Die Kritiken
15.1. Einleitung
15.1.1. Terminologie
15.1.2. Design-Mangel
15.2. Unkategorisiert
15.3. Klassenauswahl
15.3.1. Datentyp verbergen
15.3.2. Veringere die Anzahl der Klassen im Namensraum <Namensraum>
15.3.3. Diagramm aufr??umen
15.4. Benennung
15.4.1. L??se Assoziations-Namenskonflikt auf
15.4.2. ??berarbeite die Attributnamen, um einen Konflikt zu vermeiden
15.4.3. ??ndere Namen oder Signaturen in einem Modellelement
15.4.4. Doppelte End- (Rollen-) Namen in einer Assoziation
15.4.5. Rollenname steht im Konflikt mit einem Element
15.4.6. Einen Namen ausw??hlen (Klassen und Schnittstellen)
15.4.7. W??hlen Sie einen eindeutigen Namen f??r ein Modellelement aus (Klassen und Schnittstellen)
15.4.8. W??hlen Sie einen Namen aus (Attribute)
15.4.9. W??hlen Sie einen Namen aus (Operationen)
15.4.10. W??hlen Sie einen Namen aus (Zust??nde)
15.4.11. W??hlen Sie einen eindeutigen Namen f??r ein (zustandsbehaftetes) Modellelement aus.
15.4.12. ??ndern Sie den Namen, um eine Konfusion zu verhindern
15.4.13. W??hlen Sie einen legalen Namen aus
15.4.14. ??ndern Sie den Namen des Modellelementes in ein nicht-reserviertes Wort
15.4.15. W??hlen Sie einen besseren Namen f??r die Operation aus
15.4.16. W??hlen Sie einen besseren Attributnamen aus
15.4.17. Klassenname gro?? schreiben
15.4.18. Paketname ??berarbeiten
15.5. Speicher
15.5.1. ??berarbeiten Sie die Attributnamen, um einen Konflikt zu vermeiden
15.5.2. F??gen Sie Instanzvariablen zu einer Klasse hinzu
15.5.3. F??gen Sie der Klasse einen Konstruktor hinzu
15.5.4. Reduzieren Sie die Zahl der Attribute in der Klasse
15.6. Geplante Erweiterungen
15.6.1. Operationen in Schnittstellen m??ssen public sein
15.6.2. Schnittstellen d??rfen nur Operationen haben
15.6.3. Entferne die Referenz auf die spezifische Subklasse
15.7. Zustandsautomaten
15.7.1. Reduzieren Sie die Anzahl der Transitionen im <Zustand>
15.7.2. Reduzieren Sie die Anzahl der Zust??nde im Automaten <Automat>
15.7.3. F??gen Sie dem <Zustand> Transitionen hinzu
15.7.4. F??gen Sie ankommende Transitionen dem Modellelement <Modellelement> hinzu
15.7.5. F??gen Sie abgehende Transitionen dem Modellelement <Modellelement> hinzu
15.7.6. Entfernen Sie den zus??tzlichen Initialzustand
15.7.7. F??gen Sie einen initialen Zustand ein
15.7.8. Einer Transition ein Signal oder einen W??chter hinzuf??gen
15.7.9. ??ndere Vereinigungs-Transitionen
15.7.10. ??ndere Gabelungs-Transitionen
15.7.11. Entscheidungs-/Kreuzungstransitionen hinzuf??gen
15.7.12. Einer Transition W??chter hinzuf??gen
15.7.13. Das Diagramm aufr??umen
15.7.14. Eine Kante sichtbarer machen
15.7.15. Zusammengesetztes Assoziationsende mit der Kardinalit??t > 1
15.8. Designmuster
15.8.1. Die Nutzung des Singleton-Musters f??r eine <class> in Betracht ziehen.
15.8.2. Singleton Stereotyp-Verletzung in <Klasse>
15.8.3. Knoten haben normalerweise keine H??lle
15.8.4. Knoteninstanzen haben normalerweise keine H??lle
15.8.5. Komponenten befinden sich normalerweise innerhalb von Knoten
15.8.6. Komponenteninstanzen befinden sich normalerweise innerhalb von Knoten
15.8.7. Klassen befinden sich normalerweise innerhalb von Komponenten
15.8.8. Schnittstellen befinden sich normalerweise innerhalb von Komponenten
15.8.9. Objekte befinden sich normalerweise innerhalb von Komponenten
15.8.10. Verkn??pfungsenden haben nicht die gleiche Ebene
15.8.11. Klassifizierung einstellen (Verteilungsdiagramm)
15.8.12. Return-Aktionen werden vermisst
15.8.13. Vermisse Aufruf(Sende)-Aktion
15.8.14. Kein Ausl??seimpuls bei diesen Verkn??pfungen
15.8.15. Klassifizierung einstellen (Sequenzdiagramm)
15.8.16. Falsche Position dieses Ausl??seimpulses
15.9. Beziehungen
15.9.1. Zirkul??re Assoziation
15.9.2. <Assoziation> navigierbar machen
15.9.3. Entferne die Navigation von der Schnittstelle via <Assoziation>
15.9.4. Dem <Modellelement> eine Assoziation hinzuf??gen
15.9.5. Referenz auf ein spezifische Subklasse entfernen
15.9.6. Reduzieren Sie die Assoziationen des <Modellelementes>
15.9.7. Kanten sichtbarer machen
15.10. Instanzen bilden
15.11. Modularit??t
15.11.1. Der Klassifizierer befindet sich nicht im Namensraum seiner Assoziation.
15.11.2. F??gen Sie Elemente zum Paket <Paket> hinzu.
15.12. Erwartete Verwendung
15.12.1. Diagramm aufr??umen
15.13. Methoden
15.13.1. ??ndere Namen oder Signaturen im <Modellelement>
15.13.2. Die Klasse mu?? abstrakt sein
15.13.3. F??gen Sie der <Klasse> Operationen hinzu
15.13.4. Reduzieren Sie die Anzahl der Operationen im <Modellelement>
15.14. Code-Generierung
15.14.1. ??ndern Sie die Mehrfachvererbung in Schnittstellen
15.15. Stereotypen
15.16. Vererbung
15.16.1. ??berpr??fen Sie die Attributnamen, um einen Konflikt zu vermeiden.
15.16.2. Entfernen Sie die zirkul??re Vererbung der Klasse <Klasse>
15.16.3. Die Klasse mu?? abstrakt sein
15.16.4. Entfernen Sie das Schl??sselwort final oder entfernen Sie Subklassen
15.16.5. Illegale Generalisierung
15.16.6. Enferne unn??tige Realisierungen aus der Klasse <Klasse>
15.16.7. Definiere eine konkrete (Sub-)Klasse
15.16.8. Definieren Sie eine Klasse, um die Schnittstelle <Schnittstelle> zu implementieren
15.16.9. ??ndere Mehrfachvererbung in Schnittstellen
15.16.10. Machen Sie die Kanten sichtbarer
15.17. Containment
15.17.1. Entferne zirkul??re Komposition
15.17.2. Duplizieren Sie den Parameternamen
15.17.3. Zwei Aggregatenden (Rollen) in bin??rer Assoziation
15.17.4. Aggregatende (Rolle) in 3-Wege (oder mehr) Assoziation
15.17.5. Datentyp verbergen
3. Modellreferenz
16. Modellreferenz auf h??chster Ebene
16.1. Einleitung
16.2. Das Modell
16.2.1. Detail-Register Modell
16.2.2. Symbolleiste Modelleigenschaften
16.2.3. Eigenschaftsfelder des Modelles
16.3. Datentyp
16.3.1. Datentyp Detail-Register
16.3.2. Datatyp Eigenschafts-Symbolleiste
16.3.3. Datentyp-Eigenschaftsfelder
16.4. Enumeration (Aufz??hlung)
16.4.1. Enumeration Detail-Register
16.4.2. Eigenschaftssymbolleiste Enumeration
16.4.3. Eigenschaftsfelder f??r Enumerationen
16.5. Enumeration Literal
16.6. Stereotyp
16.6.1. Stereotyp Detail-Register
16.6.2. Stereotyp Eigenschaftssymbolleiste
16.6.3. Eigenschaftsfelder f??r Stereotypen
16.7. Eigenschaftsdefinition
16.8. Diagramm
16.8.1. Diagramm Detail-Register
16.8.2. Diagramm Eigenschaftssymbolleiste
16.8.3. Eigenschaftsfelder f??r Diagramme
17. Referenz der Modellelemente f??r Anwendungsfalldiagramme
17.1. Einleitung
17.1.1. ArgoUML-Einschr??nkungen, welche die Anwendungsfalldiagramme betreffen
17.2. Akteur
17.2.1. Akteur Detail-Register
17.2.2. Akteur Eigenschaftssymbolleiste
17.2.3. Eigenschaftsfelder f??r einen Akteur
17.3. Anwendungsfall
17.3.1. Anwendungsfall Detail-Register
17.3.2. Anwendungsfall Eigenschaftssymbolleiste
17.3.3. Eigenschaftsfelder f??r einen Anwendungsfall
17.4. Extension Point
17.4.1. Extension Point Details Tabs
17.4.2. Extension Point Property Toolbar
17.4.3. Property Fields For Extension Point
17.5. Association
17.6. Association End
17.7. Dependency
17.8. Generalization
17.8.1. Generalization Details Tabs
17.8.2. Generalization Property Toolbar
17.8.3. Property Fields For Generalization
17.9. Extend
17.9.1. Extend Details Tabs
17.9.2. Extend Property Toolbar
17.9.3. Property Fields For Extend
17.10. Include
17.10.1. Include Details Tabs
17.10.2. Include Property Toolbar
17.10.3. Property Fields For Include
18. Class Diagram Model Element Reference
18.1. Introduction
18.1.1. Limitations Concerning Class Diagrams in ArgoUML
18.2. Package
18.2.1. Package Details Tabs
18.2.2. Package Property Toolbar
18.2.3. Property Fields For Package
18.3. Datatype
18.4. Enumeration
18.5. Stereotype
18.6. Class
18.6.1. Class Details Tabs
18.6.2. Class Property Toolbar
18.6.3. Property Fields For Class
18.7. Attribute
18.7.1. Attribute Details Tabs
18.7.2. Attribute Property Toolbar
18.7.3. Property Fields For Attribute
18.8. Operation
18.8.1. Operation Details Tabs
18.8.2. Operation Property Toolbar
18.8.3. Property Fields For Operation
18.9. Parameter
18.9.1. Parameter Details Tabs
18.9.2. Parameter Property Toolbar
18.9.3. Property Fields For Parameter
18.10. Signal
18.10.1. Signal Details Tabs
18.10.2. Signal Property Toolbar
18.10.3. Property Fields For Signal
18.11. Reception (to be written)
18.12. Association
18.12.1. Three-way and Greater Associations and Association Classes
18.12.2. Association Details Tabs
18.12.3. Association Property Toolbar
18.12.4. Property Fields For Association
18.13. Association End
18.13.1. Association End Details Tabs
18.13.2. Association End Property Toolbar
18.13.3. Property Fields For Association End
18.14. Dependency
18.14.1. Dependency Details Tabs
18.14.2. Dependency Property Toolbar
18.14.3. Property Fields For Dependency
18.15. Generalization
18.16. Interface
18.16.1. Interface Details Tabs
18.16.2. Interface Property Toolbar
18.16.3. Property Fields For Interface
18.17. Abstraction
18.17.1. Abstraction Details Tabs
18.17.2. Abstraction Property Toolbar
18.17.3. Property Fields For Abstraction
19. Sequence Diagram Model Element Reference
19.1. Introduction
19.1.1. Limitations Concerning Sequence Diagrams in ArgoUML
19.2. Object
19.2.1. Object Details Tabs
19.2.2. Object Property Toolbar
19.2.3. Property Fields For Object
19.3. Stimulus
19.3.1. Stimulus Details Tabs
19.3.2. Stimulus Property Toolbar
19.3.3. Property Fields For Stimulus
19.4. Stimulus Call
19.5. Stimulus Create
19.6. Stimulus Destroy
19.7. Stimulus Send
19.8. Stimulus Return
19.9. Link
19.9.1. Link Details Tabs
19.9.2. Link Property Toolbar
19.9.3. Property Fields For Link
20. Statechart Diagram Model Element Reference
20.1. Introduction
20.1.1. Limitations Concerning Statechart Diagrams in ArgoUML
20.2. State
20.2.1. State Details Tabs
20.2.2. State Property Toolbar
20.2.3. Property Fields For State
20.3. Action
20.3.1. Action Details Tabs
20.3.2. Action Property Toolbar
20.3.3. Property Fields For Action
20.4. Composite State
20.5. Concurrent Region
20.6. Submachine State
20.7. Stub State
20.8. Transition
20.8.1. Transition Details Tabs
20.8.2. Transition Property Toolbar
20.8.3. Property Fields For Transition
20.9. Event
20.9.1. Event Details Tabs
20.9.2. Event Property Toolbar
20.9.3. Property Fields For Event
20.10. Guard
20.10.1. Guard Details Tabs
20.10.2. Guard Property Toolbar
20.10.3. Property Fields For Guard
20.11. Pseudostate
20.11.1. Pseudostate Details Tabs
20.11.2. Pseudostate Property Toolbar
20.11.3. Property Fields For Pseudostate
20.12. Initial State
20.13. Final State
20.13.1. Final State Details Tabs
20.13.2. Final State Property Toolbar
20.13.3. Property Fields For Final State
20.14. Junction
20.15. Choice
20.16. Fork
20.17. Join
20.18. Shallow History
20.19. Deep History
20.20. Synch State
20.20.1. Synch State Details Tabs
20.20.2. Synch State Property Toolbar
20.20.3. Property Fields For Synch State
21. Collaboration Diagram Model Element Reference
21.1. Introduction
21.1.1. Limitations Concerning Collaboration Diagrams in ArgoUML
21.2. Classifier Role
21.2.1. Classifier Role Details Tabs
21.2.2. Classifier Role Property Toolbar
21.2.3. Property Fields For Classifier Role
21.3. Association Role
21.3.1. Association Role Details Tabs
21.3.2. Association Role Property Toolbar
21.3.3. Property Fields For Association Role
21.4. Association End Role
21.4.1. Association End Role Details Tabs
21.4.2. Association End Role Property Toolbar
21.4.3. Property Fields For Association End Role
21.5. Message
21.5.1. Message Details Tabs
21.5.2. Message Property Toolbar
21.5.3. Property Fields For Message
22. Activity Diagram Model Element Reference
22.1. Introduction
22.1.1. Limitations Concerning Activity Diagrams in ArgoUML
22.2. Action State
22.2.1. Action State Details Tabs
22.2.2. Action State Property ToolBar
22.2.3. Property fields for action state
22.3. Action
22.4. Transition
22.5. Guard
22.6. Initial State
22.7. Final State
22.8. Junction (Decision)
22.9. Fork
22.10. Join
22.11. ObjectFlowState
23. Deployment Diagram Model Element Reference
23.1. Introduction
23.1.1. Limitations Concerning Deployment Diagrams in ArgoUML
23.2. Node
23.2.1. Node Details Tabs
23.2.2. Node Property Toolbar
23.2.3. Property Fields For Node
23.3. Node Instance
23.3.1. Node Instance Details Tabs
23.3.2. Node Instance Property Toolbar
23.3.3. Property Fields For Node Instance
23.4. Component
23.4.1. Component Details Tabs
23.4.2. Component Property Toolbar
23.4.3. Property Fields For Component
23.5. Component Instance
23.5.1. Component Instance Details Tabs
23.5.2. Component Instance Property Toolbar
23.5.3. Property Fields For Component Instance
23.6. Dependency
23.7. Class
23.8. Interface
23.9. Association
23.10. Object
23.11. Link
24. Built In DataTypes, Classes, Interfaces and Stereotypes
24.1. Introduction
24.1.1. Package Structure
24.1.2. Exposure in the model
24.2. Built In Datatypes
24.3. Built In Classes
24.3.1. Built In Classes From java.lang
24.3.2. Built In Classes From java.math
24.3.3. Built In Classes From java.net
24.3.4. Built In Classes From java.util
24.4. Built In Interfaces
24.5. Built In Stereotypes
Glossary
A. Supplementary Material for the Case Study
A.1. Introduction
A.2. Requirements Documents (To be written)
A.2.1. Vision Document (To be written)
A.2.2. Use Case Specifications (To be written)
A.2.3. Supplementary Requirements Specification (To be written)
B. UML resources
B.1. The UML specs (To be written)
B.2. UML related papers (To be written)
B.2.1. UML action specifications (To be written)
B.3. UML related websites (To be written)
C. UML Conforming CASE Tools
C.1. Other Open Source Projects (To be written)
C.2. Commercial Tools (To be written)
D. The C++ Module
D.1. Modeling for C++
D.1.1. Class tagged values
D.1.2. Attribute tagged values
D.1.3. Parameters
D.1.4. Preserved sections
E. Limits and Shortcomings
E.1. Diagram Canvas Size
E.2. Missing functions
F. Open Publication License
F.1. Requirements On Both Unmodified And Modified Versions
F.2. Copyright
F.3. Scope Of License
F.4. Requirements On Modified Works
F.5. Good-Practice Recommendations
F.6. License Options
F.7. Open Publication Policy Appendix:
G. The CRC Card Methodology
G.1. The Card
G.2. The Group
G.3. The Session
G.4. The Process
Stichwortverzeichnis

Vorwort

Softwaredesign ist eine kognitiv herausfordernde T??tigkeit. Designer m??ssen die Entw??rfe manuell eingeben, aber die prim??re Schwierigkeit ist Entscheidungen zu treffen weniger Daten einzugeben. Wenn Designer ihre F??higkeiten Entscheidungen zu treffen verbesserten, w??rden bessere Entw??rfe dabei herauskommen.

Aktuelle CASE-Tools enthalten Automations- und grafische Anwender-Schnittstellen, welche die manuelle Arbeit der Designeingabe reduzieren und einen Entwurf in Programmcode transformieren. Sie unterst??tzen die Designer bei ihren Entscheidungen haupts??chlich durch die Visualisierung des Entwurfes und einfachen syntaktischen ??berpr??fungen. Dar??ber hinaus weisen viele CASE-Tools auch substantielle Vorteile im Bereich der Versionskontrolle und nebenl??ufiger Designmechanismen auf. Ein Bereich der Designunterst??tzung, der bisher noch nicht besonders gut unterst??tzt wurde, ist die Analyse von Designentscheidungen.

Aktuelle CASE-Tools haben eine Anwenderschnittstelle (GUI), die es den Designern erm??glicht, auf alle, durch das Tool angebotenen Funktionen zuzugreifen. Und sie unterst??tzen den Entwurfsprozess, indem sie es dem Designer erlauben, Diagramme im Stil popul??rer Design-Methoden einzugeben. ??blicherweise enthalten sie aber keine Prozessunterst??tzung, die den Designer durch die Designschritte f??hrt. Designer beginnen ??blicherweise mit einer leeren Seite und m??ssen jeden Aspekt des Entwurfes aus dem Kopf ableiten.

ArgoUML ist eine dom??nenorientierte Desginumgebung mit kognitiver Unterst??tzung des objektorientierten Entwurfes. ArgoUML enth??lt einige der gleichen Automatismen wie kommerzielle CASE-Tools. Sein Fokus liegt aber auf Funktionen, welche die kognitiven Bed??rfnisse von Designern befriedigen. Diese kognitiven Bed??rfnisse werden durch 3 kognitive Theorien beschrieben:

  1. Reflektion-w??hrend-Aktion;

  2. Opportunistisches Design; und

  3. Verst??ndnis und Probleml??sung.

ArgoUML basiert direkt auf der UML 1.4-Spezifikation. Das zentrale Modell-Repository ist eine Implementierung der Java Metadaten Schnittstelle (JMI=Java Metadata Interface), welche MOF direkt unterst??tzt und die maschinenlesbare Version der UML 1.4-Spezifikation der OMG verwendet.

Dar??ber hinaus ist es unser Ziel, eine verst??ndliche Unterst??tzung f??r OCL (die Object Constraint Language) und XMI (dem XML Model Interchange format) bereitzustellen.

ArgoUML wurde urspr??nglich durch eine kleine Gruppe als Forschungsprojekt entwickelt. ArgoUML hat viele Funktionen, die es sehr speziell machen. Aber es implementiert nicht all die Funktionen, die kommerzielle CASE-Tools enthalten.

Die aktuelle Version (${argo.core.version}) von ArgoUML implementiert alle Diagrammtypen des UML 1.4 Standard (ArgoUML-Versionen vor 0.20 implementierten den UML 1.3 Standard). Sie ist in Java geschrieben und l??uft auf jedem Rechner, der die Java 2-Plattform von Java 1.4 oder eine neuere Version aufweist. Es verwendet zum Speichern offene Dateiformate, wie XMI (XML Metadata Interchange Format) (f??r Modell- Informationen) und PGML (Precision Graphics Markup Language) (f??r grafische Informationen). Wenn ArgoUML UML 2.0 implementiert wird, wird PGML durch die UML Diagram Interchange Spezifikation ersetzt.

Dieses Handbuch ist die gesammelte Arbeit mehrerer Personen und entwickelte sich ??ber mehrere Jahre. Im Zusammenhang mit der ArgoUML-Release 0.10 schrieb Jeremy Bennett eine Menge neues Material, was dem in fr??heren Versionen von Alejandro Ramirez, Philippe Vanpeperstraete und Andreas Rueckert geschriebenen hinzugef??gt wurde. Er f??gte auch einige Dinge aus anderen Dokumenten ein, namentlich aus dem Entwickler-Cookbook von Markus Klink und Linus Tolke, der Kurzanleitung von Kunle Odutola sowie der FAQ von Denny Daniels. Im Zusammenhang mit der Version 0.14 wurden ??nderungen durch Linus Tolke und Michiel van der Wulp vorgenommen. Diese ??nderungen passten das Handbuch an die neuen Funktionen und das neue Erscheinungsbild von ArgoUML, Version 1.4 an und f??hrten einen Index ein. Es sind zu viele Anwender und Entwickler, die diese Arbeit durch Ihre Mitarbeit, wie Review-Kommentare oder Beobachtungen w??hrend des Lesens und der Anwendung des Handbuchs unterst??tzten, um sie alle namentlich benennen zu k??nnen.

ArgoUML ist frei verf??gbar und kann im kommerziellen Umfeld genutzt werden. Wenn Sie ArgoUML herunterladen, entnehmen Sie bitte die Nutzungsbedingungen den beigef??gten Lizenzbedingungen. Wir bieten Ihnen den Sourcecode von ArgoUML an, damit Sie sich diesen ansehen, an Ihre Bed??rfnisse anpassen und verbessern k??nnen. Wir hoffen, dass sich ArgoUML nach und nach zu einem leistungsf??higen und n??tzlichen Tool f??r jedermann entwickelt.

Dieses Anwenderhandbuch ist f??r den Designer gedacht, der seine Entw??rfe mit Hilfe von ArgoUML erstellen m??chte. Das Handbuch setzt voraus, dass Sie mit UML vertraut sind. Eventuell unterst??tzt es aber auch diejenigen, f??r die UML neu ist.

Das Handbuch ist in DocBook/XML geschrieben und sowohl als HTML als auch als PDF verf??gbar.

Das ArgoUML-Projekt heisst alle willkommen, die sich beteiligen wollen. Mehr finden Sie unter der Projekt-Webseite.

Teilen Sie uns bitte mit, was Sie ??ber das Anwenderhandbuch denken! Ihre Kommentare helfen uns, Dinge zu verbessern. Siehe Abschnitt 1.3.3, „Anwender-Feedback“ .

Kapitel 1. Einleitung

1.1. Die Anf??nge und der ??berblick ??ber ArgoUML

1.1.1. Objektorientierte Analyse und Design

Im letzten Jahrzehnt wurde die objektorientierte Analyse und Design (OOA&D) zu dem dominanten Softwareparadigma. Damit einhergehend fand ein Umdenken in allen, an dem Softwarelebenzyklus beteiligten Prozessen statt.

Die Unterst??tzung f??r Objekte begann mit der Programmiersprache Simula 67— aber es war das Erscheinen der Hybridsprachen wie C++, Ada und Objekt Pascal in den 1980'ern, die das durchstarten der OOA&D erm??glichten. Diese Sprachen enthielten eine Unterst??tzung f??r Beides, der OO- und der prozeduralen Programmierung. Die objektorientierte Programmierung wurde zur Hauptentwicklungsrichtung.

Ein OO-System wird als Simulation der realen Welt mit Hilfe von Softwarebausteinen entworfen und implementiert. Diese Pr??misse ist so leistungsf??hig wie einfach. Durch die Anwendung des OO-Design-Ansatzes kann ein System entworfen und getestet (oder korrekter: simuliert) werden, ohne dass es vorher gebaut werden muss.

Es ist die Entwicklung von Tools w??hrend der 1990'er, welche die objektorientierte Analyse und Design unterst??tzen, die diesen Ansatz vorantrieben. Gekoppelt mit der F??higkeit, Systeme auf einer sehr hohen Abstraktionsebene zu entwerfen, erm??glichte der toolbasierte OOA&D-Ansatz die Implementierung sehr viel komplexerer Systeme als sie fr??her m??glich gewesen w??ren.

Das letzte Element, das die OOA&D vorantrieb, war seine Eignung, grafische Anwenderschnittstellen zu modellieren. Die Popularit??t der objektbasierten und objektorientierten grafischen Sprachen, wie Visual Basic und Java reflektieren die Effizienz dieses Ansatzes.

1.1.2. Die Entwicklung von ArgoUML

W??hrend der 1980'er wurden eine Anzahl von OOA&D- Vorgehensmethoden und -Notationen durch unterschiedliche Forscherteams entwickelt. Es wurde klar, dass es viele gemeinsame Themenbereiche gibt und so wurde w??hrend der 1990'er ein vereinheitlichter Ansatz f??r die OOA&D-Notation unter der Schirmherrschaft der Object Management Group entwickelt. Dieser Standard wurde als Unified Modeling Language (UML) bekannt, und ist heute die Standardsprache f??r die Kommunikation von OO-Konzepten.

ArgoUML war als Tool und Umgebung f??r Analyse und Design objektorientierter Softwaresysteme gedacht. In diesem Sinne ist es vergleichbar mit vielen kommerziellen CASE-Tools, die als Tools f??r die Modellierung von Softwaresystemen verkauft werden. ArgoUML weist aber gegen??ber diesen Tools sehr viele wichtige Unterscheidungsmerkmale auf.

  1. Es ist frei.

  2. ArgoUML zeichnet sich durch die Erforschung kognitiver Psychologie aus, um ungew??hnliche Funktionen anbieten zu k??nnen. Diese erh??hen die Produktivit??t durch die Unterst??tzung kognitiver Bed??rfnisse von objektorientiert arbeitenden Softwaredesignern und -Architekten.

  3. ArgoUML nutzt sehr stark offene Standards - UML, XMI, SVG, OCL und andere.

  4. ArgoUML ist eine 100%ige Java-Anwendung. Dadurch kann ArgoUML auf allen Plattformen laufen, auf denen die Laufzeitumgebung der Java2-Plattform verf??gbar ist.

  5. ArgoUML ist ein Open-Source-Projekt. Die Verf??gbarkeit des Quellcodes stellt sicher, dass eine neue Generation von Softwaredesignern und -forschern jetzt ein bew??hrtes Framework haben, von dem aus, sie die Entwicklung und Evolution von CASE-Tooltechnologien vorantreiben k??nnen.

UML ist die am h??ufigsten bevorzugte OO-Modellierungssprache und Java eine der produktivsten OO-Entwicklungsplattformen. Jason Robbins und der Rest seines Forscherteams an der Universit??t Kalifornien vereinten diese Vorteile w??hrend der Entwicklung von ArgoUML. Das Ergebnis ist ein solides Entwicklungstool und eine Umgebung f??r das OO-Systemdesign. Dar??ber hinaus bildet es eine Testumgebung f??r die Evolution der objektorientierten CASE-Tool-Entwicklung und -Forschung.

Eine erste Release von ArgoUML war 1998 verf??gbar. Mehr als 100.000 Downloads bis Mitte 2001 zeigte, dass dieses Projektes in Bildungs- und kommerziellen Bereichen popul??r wurde.

1.1.3. Mehr ??ber das ArgoUML-Projekt

1.1.3.1. Wie wurde ArgoUML entwickelt

Jason Elliot Robbins gr??ndete das Argo-Projekt und erhielt fr??h die Projektleitung. Solange Jason im Projekt aktiv war, hatte er alle H??nde voll mit der Projektleitung zu tun.Das Projekt entwickelte sich kontinuierlich und sehr stark weiter. Es gab mehr als 300 Mitglieder in der Entwickler-Mailliste (siehe http://argouml.tigris.org/servlets/ProjectMailingListList). Mehrere Dutzend von Ihnen bildeten die Kern-Entwicklergruppe.

Die Entwickler-Mailliste ist der Ort, in dem alle Diskussionen ??ber die letzten Aktivit??ten stattfinden und Entwickler die Richtung diskutieren, die das Projektes nehmen sollte. Obwohl manchmal sehr kontrovers, blieben diese Diskussionen immer nett und freundlich (keine "flammenden Kriege" oder ??hnliches), so dass neue Entwickler nicht z??gern und einfach daran teilnehmen sollten. Sie werden immer willkommen sein.

Wenn Sie lernen wollen, wie das Projekt arbeitet und wie Sie sich einbringen k??nnen, rufen Sie die ArgoUML Web Seite "Developer Zone" auf und lesen sich die Dokumentation durch. Das Entwicklerkochbuch wurde speziell f??r diesem Zweck geschrieben.

1.1.3.2. Mehr ??ber die Infrastruktur

Neben der Entwickler-Mailliste gibt es auch eine Mailliste f??r Anwender (siehe The ArgoUML Mailing List List ), in der wir Probleme aus der Anwendersicht diskutieren k??nnen. Entwickler lesen diese Liste auch, so dass grunds??tzlich hoch qualifizierte Hilfe verf??gbar ist.

Bevor Sie eine Frage in eine dieser Listen einstellen, sollten Sie einen Blick auf die von Ewan R. Grantham verwaltete Anwender-FAQ werfen.

Weitere Informationen ??ber ArgoUML und andere UML-bezogene Themen sind unter der von Linus Tolke verwalteten ArgoUML Webseite verf??gbar.

1.2. Der Anwendungsbereich dieses Anwenderhandbuches

1.2.1. Der Leserkreis

Die aktuelle Fassung dieses Dokumentes ist f??r erfahrende Anwender der UML in OOA&D (vielleicht auch mit anderen Tools) gedacht, die zu ArgoUML wechseln m??chten.

K??nftige Fassungen werden Designer unterst??tzen, welche die OOA&D kennen und die UML-Notation in Ihren Entwicklungsprozess einbinden m??chten.

Ein langfristiges Ziel ist es, diejenigen zu unterst??tzen,

  1. die das Design erlernen und mit einem OOA&D-Prozess beginnen wollen, der die UML-Notation unterst??tzt und

  2. Personen, die an einem modularisiertem Design mit Hilfe einer GUI interessiert sind.

1.2.2. Anwendungsbereich

Die Absicht dieses Dokument ist es, eine verst??ndliche Einf??hrung zu geben, die Designer in Lage versetzt, ArgoUML vollst??ndig zu nutzen. Es ist in zwei Teile untergliedert.

  • Ein ??bungshandbuch, das zeigt, wie man mit ArgoUML arbeitet.

  • Ein vollst??ndiges Referenzhandbuch, das alles beschreibt, was Sie mit ArgoUML tun k??nnen.

Die Version 0.22 des Dokumentes bezieht sich auf den zweiten Teil.

In dieser Anleitung gibt es einige Dinge, die Sie nicht finden werden, weil sie an anderen Stellen beschrieben sind.

  • Beschreibungen, wie ArgoUML intern arbeitet.

  • Wie ArgoUML mit neuen Eigenschaften und Funktionen erweitert wird.

  • Eine Anleitung zur Fehlerbehebung.

  • Eine zusammenfassende Kurzanleitung f??r ArgoUML.

Diese Themen werden in Das Entwicklerkochbuch, Die FAQ, und Die Kurzanleitung beschrieben.

1.3. ??berblick ??ber das Anwenderhandbuch

1.3.1. Die Struktur des ??bungshandbuches

Das Kapitel 2, Einleitung enth??lt einen ??berblick ??ber UML-basierte OOA&D einschliesslich einer Anleitung, wie man ArgoUML installiert und startet.

Kapitel 4, Erfassen der Anforderungen bis Kapitel 7, Codegenerierung, Reverse Engineering und Round Trip Engineering geht dann durch alle Teile des Designprozesses. Von der ersten Anforderung bis zum abschliessenden Projekt-Build und der Verteilung.

F??r jedes auftretende UML-Konzept wird dessen Anwendung erl??utert. Anschliessend wird dessen Einsatz innerhalb von ArgoUML beschrieben. Zum Schluss wird eine Fallstudie benutzt, um Beispiele f??r diese Konzepte zu geben.

1.3.2. Die Struktur des Referenzhandbuches

Kapitel 8, Einleitung ist ein ??berblick ??ber die Anwenderschnittstelle und enth??lt eine Zusammenfassung der verschiedenen UML-Diagrammtypen von ArgoUML. Kapitel 10, Die Men??zeile und Kapitel 11, Der Explorer beschreiben die Men??zeile und jedes Fenster der Anwenderschnittstelle.

Kapitel 15, Die Kritiken beschreibt Details aller im System vorhandenen kognitiven Kritiken. Unter Umst??nden wird ArgoUML direkt auf dieses Handbuch verweisen, wenn es die Hilfestellung zu einer Kritik gibt.

Kapitel 16, Modellreferenz auf h??chster Ebene ist ein ??berblick ??ber die Modellelemente (z.B. die UML-Elemente, die in den Diagrammen verwendet werden k??nnen) von ArgoUML. Die folgenden Kapitel ( Kapitel 17, Referenz der Modellelemente f??r Anwendungsfalldiagramme bis Kapitel 24, Built In DataTypes, Classes, Interfaces and Stereotypes) beschreiben die Modellelemente, die in jedem ArgoUML-Diagramm erzeugt werden k??nnen, deren Eigenschaften, sowie einige Standard-Modellelemente die im System enthalten sind.

Es ist ein vollst??ndiges Glossary vorhanden. Anhang A, Supplementary Material for the Case Study enth??lt Material, um die im Dokument durchgehend benutzte Fallstudie zu unterst??tz