Navigationssystem Bearbeitung



  • Schönen guten Tag an alle!

    Und zwar möchte ich hier eines meiner letzten Projekte an der Uni vorstellen.
    Dabei handelt es sich um ein "Navigationssystem".
    Dieses ist auch "Funktionsfähig". Also es gibt eine Laufende version, die ein Straßennetz visualisiert, mit Suchalgorithmen einen kürzesten Weg sucht, und ein paar Messungen an einer selbst geschriebenen PriorityQueue (FibonacciHeap) und der Java eigenen PriorityQueue vornimmt. Der FibnoacciHeap kann zur Laufzeit verfolgt werden. Die Pfandsuche auch. Außerdem werden alle Messergebnisse tabellarisch festgehalten.

    Das Projekt ist in Java geschrieben und noch nicht vollständig, aber da es alle aufgaben erfüllte bereits abgenommen.
    Ich möchte hier um Mithilfe bitten, nicht bei der Fertigstellung, sondern beim verbessern der fertigen Codes.

    Folgendes war die aufgabenstellung:
    http://www.software-quality.fh-koeln.de/algorithmik/images/3/39/ALGO_WS_2010_2011_Aufgabenstellung.pdf
    Heißt ihr könnt vergleichen. Im bereich Projekte kommt es badauerlicher weise häufiger zu der Annahme, das man Hausaufgaben erledigt haben möchte. Dem möchte ich hier vorbäugen.

    Hier veröffentlichen werde ich alle Quellcodes und eine Lauffähige Version als -jar-File.

    Was ich mir erhoffe:
    Zur Zeit ist der geschriebene Code ein Graus. Da wir quasi ohne Vorkenntnisse an die Projekte gesetzt wurden, wissen wir leider auch nicht, wie wir die Sache angehen müssen, damit es besser wird, und wie vllt eine Optimale version aussieht.
    Nun erhoffen wir uns, das wir in zusammenarbeit mit euch, den bereits geschriebenen Code aufarbeiten können, tipps und beispiele bekommen wie soetwas richtig auszusehen hat (beispielsweise die Actionlistener sehen grausam aus, jedenfalls mein gefühl. Aber nicht nur die).
    Anwenden auf unsere Aufgabe möchten wir das erlangte wissen dann selber.

    Änderungen werden dann immer hier eineditiert. Alte versionen werden auch zugänglich bleiben.
    Eine Homepage ist in bau, um die länge dieses Postings auf Dauer zu entlasten. Hier werden dann mit fertigstellung nurnoch die letzten zwei versionen stehen, und der rest dann denk ich mal auf der HP verlinkt sein. Dort wird dann zu jeder erneuerung auch immer ein kleiner text stehen, was sich verändert hat.

    Was wir uns im ersten Schritt erhoffen:
    Eine Mängelliste die wohl Recht lang sein wird, und vllt schon mal eine Idee wo anzusetzen ist.

    Source-Code: http://uploaded.to/file/pgxcpc
    JAR-File: http://uploaded.to/file/eecqcm

    Ich hoffe auf einige hilfreiche Antworten und viele Antworten, auf das man bei meinen/unseren Programmen von Code sprechen darf!

    Danke schon mal

    Sqwan



  • Algorithmen sind niemals abhänig von GUI Komponenten.



  • Wie meinst du das? Codetechnisch?
    oder aufgabentechnisch?

    Also die GUI ist bei uns nur Mittel zum zweck.
    a) Um den FibonacciHeap verfolgen zu können
    b) Dijkstra verfolgen zu können...

    Das Augenmerkt liegt auf den Algorithmen.

    Wenn du meinst das alle algorithemn mit teilen der GUI gespickt sind, dann sind wir schon beim Problem. Wir wissen nicht wie man das vernünftig trennt. Überhaupt sind häufig algorithmen mit Daten vermischt...

    Wie gesagt, den Dijkstra bzw Pathfinding-Algorithmen, und die Sache mit den Bäumen habe ich verstanden. Ich möchte hier nicht meine Aufgaben gemacht bekommen, sondern meine Lösungen so verbessern, das sie irgendwie gut werden...



  • Omg, ich frage, wieso sind deine Algorithmen abhängig von Objekte, die zur GUI gehören?



  • Ich weiß nicht ob es ander Zeit oder am Satz liegt. Aber ich versteh ihn nicht 😕



  • Habe den SourceCode nicht gelesen (und meine Java Kenntnisse sind auch eher bescheiden) aber ich gehe einfach mal davon aus dass da bestimmte Algorithmus Objekte von GUI Objekten abhängen. (Wurde ja auch ziemlich genau so geschrieben)
    Das soll wohl nicht so sein.. was gibts daran nicht zu verstehen? 😃



  • Ja, Sie schreiben in JLabel Werte rein.



  • Sqwan schrieb:

    Ja, Sie schreiben in JLabel Werte rein.

    Die Kritik (als Aussage oder Frageform) war niemals gemeint, als etwas wo du Gegenargumentieren solltest :p



  • Die übliche Trennung von Logik und GUI passiert mittels des http://en.wikipedia.org/wiki/Observer_pattern , d.h. implementiere die Interfaces Observable und Observer.



  • @Zeus
    Das sollte kein gegenargument sein, sondern eine Situationsbeschreibung / Klarstellung. Ich wollte wissen ob wir beide das gleiche meinen mit "abhängig" von der gui...

    Ich wills ja auch raus haben.

    @Th69
    Ich werd mich in die Observer mal einlesen...


Anmelden zum Antworten