UML zur Laufzeit ändern

Salva

Mitglied
Hallo allerseits,

ich hänge im moment an einem Problem mit Java und bin auf der Suche nach einer Lösung auf dieses Forum gestoßen.
Da ich bsiher nur kleinere Java Programme geschrieben habe, habe ich noch nie wirklich mit UML gearbeitet. Kennen die Theorie aber aus zig Vorlesungsstunden.

Ich habe jetzt das Problem, dass wir (Firma) hier ein größeres Projekt haben mit vielen Modulen. Zur Übersicht und zum einfacheren Debuggen wurde ich dazu auserwählt, eine Art GUI zu schreiben, bei der sich die Module an- bzw. abmelden können. Die GUI soll dann darstellen, ob das Modul zurzeit aktiv ist oder nicht. Das Projekt steckt noch in den Kinderschuhen und hängt sich gerne nach 30 min auf. Durch die GUI soll man dann erkennen können, welches Modul gerade aktiv ist und welches nicht.
Das An- und Abmelden wollte ich über einen Observer steuern, da sehe ich auch nicht das Problem.

Mein Problem ist im moment viel eher, wie ich ein UML Diagramm erstelle, welches ich über den Quellcode ändern kann (dabei reicht es, wenn ich die Farbe eines Teils des Diagramms änder, um damit Aktivität oder Passivität zu zeigen).

Natürlich habe ich auch daran gedacht eine eigene GUI zu schreiben die das UML-Diagramm darstellt. Da aber mit Zeit weitere Module hinzukommen dürfte es natürlich nicht "in Stein gemeißelt" sein und leicht änderbar sein. Da wüsste ich aber garnicht wie ich das bewerkstellige. Daher versuche ich es erstmal über ein UML Programm, bei dem ich evtl. das UML Diagramm zu Code auslese, die Variablen des UML Diagramms ändere und dann ein neues UML Diagramm speicher. Das sollte alles automatisch erfolgen und keinen Benutzer der die ganze Zeit davor sitzt und "speichern als..." klickt o.ä.


Vielen Dank für eure Zeit, für alternative Lösungsmöglichkeiten bin ich selbstverständlich offen, da ich gerade noch in der Planung stecke.

Mit freundlichen Grüßen
Salva
 

antrox

Mitglied
uff, etwas viel was du da so auftischst ^^

wie weit biste denn schon, was haste dir fuer ideen ausgedacht?

arbeitest du viel mit listen oder wie willst du das bewerkstelligen?

zu der aenderung der aktivitaet empfehle ich einfach einen timer der alle 200 ms alle farben aktualisiert. dadurch kannst du auch ganz einfach bei inaktivitaet die farbe in dem objekt aendern und der timer erledigt den rest.

die darstellung selber muss ja nicht unbedingt eine klassische "UML-Sicht" sein oder? einfache felder, die eine "Hierarchie" darstellen, sollten es auch machen?

andere vorschlaege?

antrox
 

Salva

Mitglied
Ja, wurde mehr als ich dachte ^^

Ich bin gerade noch ganz am Anfang. Weil ich mir erstmal ein Konzept überlegen wollte wie ich die Sache angehe. Habe mich mal ein wenig in Umlet eingearbeitet und festgestellt, dass es nicht das kann was ich wollte :D.

Ja, die Grafik kann auch ganz anders aussehen. Es sollte halt nur sehr flexibel sein, da immer wieder Module hinzu kommen etc.
Bei der Java-GUI habe ich bisher nur JFrame, JButton, JPanel, JTextField etc. verwendet, also nicht wirklich was grafisches. Kann Java da was in der Form? Wenn ja gibt es da Tutorials zum einarbeiten?

LG
Salva
 

FArt

Top Contributor
Nur so als Tipp: du beschreibst, was wie die evtl. Lösung aussehen soll. Beschreibe doch mal (fachliche Anforderungen) was ihr mit dem Tool erreichen wollt... vielleicht geht da noch was...
 

Salva

Mitglied
Man soll an einer Grafik sehen können, welches Programm gerade aktiv ist und welches nicht. D.h. die Progamme melden sich bei der GUI an (wenn sie aktiv werden) und nach einer Zeit wieder ab (wenn sie fertig sind). Es soll dann nur dargestellt werden, was aktiv und was passiv ist. Es sollte aber alles sehr leicht zu warten sein, da auch andere Programme noch hinzukommen. Diese muss ich dann natürlich per Hand einfügen, aber am besten ohne einen komplett neuen Code zu schreiben.
 

FArt

Top Contributor
Man soll an einer Grafik sehen können, welches Programm gerade aktiv ist und welches nicht. D.h. die Progamme melden sich bei der GUI an (wenn sie aktiv werden) und nach einer Zeit wieder ab (wenn sie fertig sind). Es soll dann nur dargestellt werden, was aktiv und was passiv ist. Es sollte aber alles sehr leicht zu warten sein, da auch andere Programme noch hinzukommen. Diese muss ich dann natürlich per Hand einfügen, aber am besten ohne einen komplett neuen Code zu schreiben.

Nun, da sähe ich eine kleine Webanwendung mit einer Ampel (rot-grün) für jedes Projekt und einer Webschnittstelle zum aktivieren und passivieren.

Mein Problem ist im moment viel eher, wie ich ein UML Diagramm erstelle, welches ich über den Quellcode ändern kann (dabei reicht es, wenn ich die Farbe eines Teils des Diagramms änder, um damit Aktivität oder Passivität zu zeigen).

Natürlich habe ich auch daran gedacht eine eigene GUI zu schreiben die das UML-Diagramm darstellt. Da aber mit Zeit weitere Module hinzukommen dürfte es natürlich nicht "in Stein gemeißelt" sein und leicht änderbar sein. Da wüsste ich aber garnicht wie ich das bewerkstellige. Daher versuche ich es erstmal über ein UML Programm, bei dem ich evtl. das UML Diagramm zu Code auslese, die Variablen des UML Diagramms ändere und dann ein neues UML Diagramm speicher. Das sollte alles automatisch erfolgen und keinen Benutzer der die ganze Zeit davor sitzt und "speichern als..." klickt o.ä.
Aber was soll das hier?
 

Salva

Mitglied
Genau das sollte es darstellen. Ich dachte halt nur dass ich die Hintergrundfarbe ändere anstatt eine kleine Ampel einzubauen.

Nun sollen auch in der Übersicht die Beziehungen der Programme untereinander nicht flöten gehen. Die Beziehungen der Programme liegen mit hier in einem Flussdiagramm vor. Allerdings sollte man später auch leicht Programme hinzufügen können, natürlich mit dementsprechenden Pfeilen zu anderen Programmen etc.

Mein erster Lösungsgedanke war da, ein UML-Diagramm zu erstellen und dort die Hintergrundfarbe der Elemente zu ändern und das UML-Diagramm dann neu abzuspeichern. Aber das wird wohl nichts. Im moment suche ich da noch nach einer Lösung, wie ich das bewerkstelligen kann (vorallem grafisch gesehen).
 

FArt

Top Contributor
Wenn du dir kein UML Diagramm erstellst (als File) dann musst du das auch nicht warten. Erstelle dynamisch eine UML View (zur Laufzeit) anhander der Daten die über die Projekte vorliegen, gepaart mit einem Zustand, den du extra speichern musst. Dann ist es auch kein Problem, wenn neue Module hinzukommen usw.
 

Salva

Mitglied
Wie erstelle ich denn eine UML-View in Java?


Ich hatte mir jetzt als Lösung folgendes gedacht:
Ich nehme das Bild des vorliegenden UML-Diagramms als Hintergrundbild für ein JFrame. Dann klicke ich auf die Stellen wo ich eine kleine "Ampel" haben möchte. Dort wo geklickt wird, wird die Ampel inklusive Namen und Schnittstelle erstellt. Einmal konfiguriert kann man dann die Positionen, Namen, etc. in einer Config speichern.

Kommt dann ein Programm hinzu mache ich mir ein neues Hintergrundbild mit einem beliebigen UML Programm und konfiguriere die Ampeln neu.

Aber vielleicht geht es ja mit der UML-View viel einfacher. Habe damit nur leider noch nie gearbeitet.
Vielen Dank für die Hilfe und Vorschläge.
 

Salva

Mitglied
Es ist mehr eine Art Flussdiagramm. Es sieht also so aus wie ein Klassendiagramm, nur ohne genauere Infos zu den Klassen (Attributen und Funktionen). Es soll darstellen, welches Modul von welchem aktiviert wird.


EDIT: Habe jetzt für mich einen Lösungsweg gefunden, indem ich das gegebene Bild als Background nehme und mir "Ampeln" setze, wenn ich mit dem Mauszeiger dahin klicke.

Jetzt habe ich allerdings das Problem, dass ich nicht weiß wie ich ein Image auf mein Backgroundimage mache.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Jasper Reports - Subreport zur Laufzeit ändern Allgemeine Java-Themen 6
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
P Wie bei log4j den Dateipfad der Logdatei zur Laufzeit ändern? Allgemeine Java-Themen 3
G Jar File zur Laufzeit ändern. Allgemeine Java-Themen 4
A log4j 1.3 und ändern der log Konfiguration zur Laufzeit Allgemeine Java-Themen 4
I Sprache zur Laufzeit des Programms ändern Allgemeine Java-Themen 3
S Build-Zeitpunt (Datum und Uhrzeit) irgendwie während der Laufzeit zugänglich machen..? Allgemeine Java-Themen 4
M Laufzeit des Prim Algorithmus Allgemeine Java-Themen 3
M Laufzeit LinkedList Allgemeine Java-Themen 9
M verbesserte Laufzeit bei LinkedList Allgemeine Java-Themen 7
K Verbesserung der Laufzeit beim Sortieren von Einwohnern nach ihrem Geburtsjahr Allgemeine Java-Themen 0
H was ist den dieses zur Kompilierzeit und zur Laufzeit in Java? Allgemeine Java-Themen 3
L Classpath Zur Laufzeit bestimmte Klassen in Classloader hinzufügen? Allgemeine Java-Themen 4
L Compiler-Fehler Google Guice Module zur Laufzeit zusammenstellen und binden Allgemeine Java-Themen 4
O jar und EXE Dateien, Pfade zur Laufzeit Allgemeine Java-Themen 1
T Externe Java Klasen zur Laufzeit einbinden Allgemeine Java-Themen 10
X Collections Gibt es eine Klasse welche die Vorteile von List und HashMap vereint, aber konstante Laufzeit (O(1)) hat in Java? Allgemeine Java-Themen 4
N Generic Type einer Generischen Klasse während der Laufzeit bekommen Allgemeine Java-Themen 2
J .java-Dateitext Compile zur Laufzeit ohne File Allgemeine Java-Themen 15
kodela Daten während Laufzeit zugriffsbereit Allgemeine Java-Themen 15
Neumi5694 Interpreter-Fehler final Eigenschaft während Laufzeit geändert Allgemeine Java-Themen 2
A Java Klasse auf Tomcat während der Laufzeit austauschen Allgemeine Java-Themen 1
M Sinn von Kompilierung zur Laufzeit Allgemeine Java-Themen 3
T Java Class Intrumentation mit Annotations in Laufzeit Allgemeine Java-Themen 1
S Byte Array welches in Laufzeit aufgelöst wird // Objekt Array Allgemeine Java-Themen 3
T Dateien zur Laufzeit in Java-Programm packen? Allgemeine Java-Themen 3
S Laufzeit Primzahlgenerator Allgemeine Java-Themen 18
S Zur Laufzeit Klasse mit einer anzahl von X Objekten erstellen Allgemeine Java-Themen 5
F Classpath Programmteile zur Laufzeit nachladen Allgemeine Java-Themen 6
D Variablen zur Laufzeit global speichern (Registry Pattern?) Allgemeine Java-Themen 6
H ResourceBundle während Laufzeit bearbeiten Allgemeine Java-Themen 3
J Input/Output Jar-Datei zur Laufzeit erweitern Allgemeine Java-Themen 13
P Generic zur Laufzeit Allgemeine Java-Themen 4
A ar während der Laufzeit überschreiben Allgemeine Java-Themen 20
X MergeSort Laufzeit Problem Allgemeine Java-Themen 4
J Resourcen waehrend der Laufzeit aendern? Allgemeine Java-Themen 9
X Update einer Jar während der Laufzeit Allgemeine Java-Themen 8
T Klassen Fabrik (Factory) zur Laufzeit erweitern Allgemeine Java-Themen 5
E Wert von enum zur Laufzeit festlegen. Allgemeine Java-Themen 5
L Methode in Thread mit langer Laufzeit unterbrechen (ANT executeTarget) Allgemeine Java-Themen 4
O Problem bei Darstellung der Laufzeit eines Programms Allgemeine Java-Themen 3
hdi Ressourcen dynamisch zur Laufzeit laden Allgemeine Java-Themen 15
A Wie zur Laufzeit auf Objekte zugreifen Allgemeine Java-Themen 7
N variable Anzahl von Objektinstanzen zur Laufzeit erstellen Allgemeine Java-Themen 4
P Java Konsole zur Laufzeit einblenden Allgemeine Java-Themen 4
P Klassenwahl zur Laufzeit Allgemeine Java-Themen 5
R Objekt zur Laufzeit zerstören? Allgemeine Java-Themen 12
E formartierte Ausgabe zur Laufzeit Allgemeine Java-Themen 2
Sonecc Zugriff auf Class File einer anderen Jar während der Laufzeit Allgemeine Java-Themen 2
F Wie zur Laufzeit ganz neue Objekte erzeugen? Allgemeine Java-Themen 5
T Class-files zur Laufzeit zu Reflection-Zwecken laden Allgemeine Java-Themen 18
DamienX Debug Modus zur Laufzeit erkennen Allgemeine Java-Themen 3
Stillmatic Debuggen/ Laufzeit von Methoden Allgemeine Java-Themen 2
Dragonfire Generic Typ zur Laufzeit Allgemeine Java-Themen 9
M Klasse zur Laufzeit ersetzen Allgemeine Java-Themen 10
S Wie gross ist die Laufzeit für diese Schleife?? Allgemeine Java-Themen 8
G File zur Laufzeit erzeugen Allgemeine Java-Themen 4
T Java - Compilieren während Laufzeit Allgemeine Java-Themen 3
Y JARs austauschen zur Laufzeit Allgemeine Java-Themen 11
G Datenbank zur laufzeit wechseln Allgemeine Java-Themen 11
C Innere Klassen zur Laufzeit Instanzieren Allgemeine Java-Themen 4
T Zur Laufzeit erben? Allgemeine Java-Themen 22
L HashMap / Objekte auf Festplatte zur Laufzeit auf HD swappen Allgemeine Java-Themen 7
L Zur Laufzeit eine Klasse laden, die auf jar-File zugreift Allgemeine Java-Themen 15
V Java-Programm weiss zur Laufzeit wie es gestartet wurde? Allgemeine Java-Themen 6
N Endlosschleifen automatisiert erkennen (Code oder Laufzeit)? Allgemeine Java-Themen 6
G Eindeutiges Identifizieren einer JTable/Component z.laufzeit Allgemeine Java-Themen 2
G Datei durchsuchen, lange Laufzeit! Allgemeine Java-Themen 2
Apo Zur Laufzeit Klassen mit Packages laden? Allgemeine Java-Themen 2
G genauen Typ einer generischen Klasse zur Laufzeit ermitteln Allgemeine Java-Themen 2
F Typ eines Objekts zur Laufzeit bestimmen? Allgemeine Java-Themen 8
T xverify-parameter : Workaround zur Laufzeit? Allgemeine Java-Themen 8
M Bibliotheksname zur Laufzeit ermitteln (Classloader) Allgemeine Java-Themen 7
G Klasse wird zur Laufzeit nicht gefunden? Allgemeine Java-Themen 3
@ zur Laufzeit Interface aus jar implementieren? Allgemeine Java-Themen 5
MQue Laufzeit Allgemeine Java-Themen 4
D Lautstärke einzelner AudioClips zur Laufzeit verändern Allgemeine Java-Themen 4
C Mathefunktion zur Laufzeit einlesen und dann verarbeiten Allgemeine Java-Themen 13
G Klassen zur Laufzeit einbinden Allgemeine Java-Themen 3
J Bibliotheken erst zur Laufzeit laden Allgemeine Java-Themen 5
R Drag und Drop - Fehler während Laufzeit Allgemeine Java-Themen 14
byte Generic Type einer List zur Laufzeit rausfinden? Allgemeine Java-Themen 4
A Class File zur Laufzeit laden ohne den Binary Name zu kennen Allgemeine Java-Themen 11
M Überprüfen einer zur Laufzeit geladenen Klasse Allgemeine Java-Themen 3
H Klassen aus einem Ordner zur Laufzeit laden. Allgemeine Java-Themen 6
S Laufzeit und Compilefehler Allgemeine Java-Themen 6
S JPanel zur Laufzeit verbergen bzw. wieder anzeigen lassen Allgemeine Java-Themen 4
F Objektname zur Laufzeit festlegen? Allgemeine Java-Themen 12
G Laufzeit eines aus Java gestarteten Programms beobachten Allgemeine Java-Themen 3
S Log4J: Logdatei zur Laufzeit ermitteln. Allgemeine Java-Themen 2
I Zur Laufzeit ermitteln, ob Klasse in JAR-Datei Allgemeine Java-Themen 2
R iText.jar wird zur Laufzeit nicht gefunden Allgemeine Java-Themen 4
J ResourceBundle / properties-datei während der Laufzeit verän Allgemeine Java-Themen 6
H Methode einer zur Laufzeit generierten Instanz aufrufen Allgemeine Java-Themen 2
M Formel in einem String während Laufzeit berechnen. Allgemeine Java-Themen 4
torresbig Klasse mit extends Calendar über Methoden ändern (Hirnblockade) Allgemeine Java-Themen 7
B Liste ändern während Iteration über Diese? Allgemeine Java-Themen 16
N Fahrtrichtung eines selbstfahrenden Auto ändern Allgemeine Java-Themen 3
Z Java Testklassenvariable ändern im Hauptprogramm Allgemeine Java-Themen 5
L Uhrzeit von 24-Uhr zu 12-Uhr ändern Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben