Liebe Community
Ich habe eine Aufgabe aus meinem Informatikstudium, einen Grapheneditor programmiert, der schon die wichtigsten rudimentären Fähigkeiten hat. Man kann ihn im Anhang laden und ausprobieren. Mich hat dieses Projekt schon nur auf Grund des Zeitaufwands, den ich bereits betrieben habe nun ein bißchen gekitzelt, daß Progrämmchen mit mehr Fähigkeiten auszustatten.
Kurze Beschreibung des Programms:
Auf einer graphischen Oberfläche kann man Knotenpunkte setzen, verschieben oder löschen. Dazu gibt ein ein Menü, mit der man die unterschiedlichen Aktionen Aufrufen kann. Außerdem vefügt das Programm die Fähigkeit die im Speicher abgelegten Daten in einer Datei abzulegen. Ziel ist es e-NFA bzw. DFA zu erstellen. Einschließlich der Möglichkeit ECLOSURE Hüllen (ACHTUNG: DOC Datei) zu berechnen bzw. selbst festzulegen. Somit kann man dann am Ende einen NFA in einen DFA umwandeln und den Automaten optimieren.
Nun sieht die Speicherung der Daten so aus, daß die Knotenpunkte in eine ArrayList gespeichert, die wiederum in eine Datei abgelegt wird. Jetzt stellt sich mir die Frage, ob es nicht vielleicht besser ist die Daten in eine Datenbank zu packen. Möglicherweise könnte man dann interessante Operationen damit anstellen.
Eine Operation wäre es zu jedem Knotenpunkt ein bestimmtes Set an Informationen mitzugeben. Beispielsweise müssen Übergänge bei der Umsetzung eines Automaten grafisch dargestellt werden können, inklusive eines Labels mit der Info, was den Übergang auslöst, z.B. wenn eine 1 oder 0 auftritt.
Da schließen sich noch ein Haufen anderer Fragen mit an. Wenn ich die Daten in einer DB ablege, gibt es da etwas was so schön klein und fein ist, wie eine stand-alone MS-Access DB, die man wie in .NET mit an die Software anhängen kann, jedoch das Office Paket nicht als Installationsgrundlage anfordert? Hat man da für Java auch solche Möglichkeiten? Was ich gern vermeiden möchte ist, daß der User dann gefordert ist, MySQL Datenbanken zu erstellen und zu installieren. Die DB soll ja nur für den Betrieb der Software ausgelegt sein. Vielleicht kennt einer von Euch so etwas? Etwas Einfaches und Erpobtes wäre wünschenswert.
Das ist denke ich für den Anfang schon eine Menge an Infos. Ich freue mich auf eine rege Diskussion.
Viele Grüße,
Semo
Ich habe eine Aufgabe aus meinem Informatikstudium, einen Grapheneditor programmiert, der schon die wichtigsten rudimentären Fähigkeiten hat. Man kann ihn im Anhang laden und ausprobieren. Mich hat dieses Projekt schon nur auf Grund des Zeitaufwands, den ich bereits betrieben habe nun ein bißchen gekitzelt, daß Progrämmchen mit mehr Fähigkeiten auszustatten.
Kurze Beschreibung des Programms:
Auf einer graphischen Oberfläche kann man Knotenpunkte setzen, verschieben oder löschen. Dazu gibt ein ein Menü, mit der man die unterschiedlichen Aktionen Aufrufen kann. Außerdem vefügt das Programm die Fähigkeit die im Speicher abgelegten Daten in einer Datei abzulegen. Ziel ist es e-NFA bzw. DFA zu erstellen. Einschließlich der Möglichkeit ECLOSURE Hüllen (ACHTUNG: DOC Datei) zu berechnen bzw. selbst festzulegen. Somit kann man dann am Ende einen NFA in einen DFA umwandeln und den Automaten optimieren.
Nun sieht die Speicherung der Daten so aus, daß die Knotenpunkte in eine ArrayList gespeichert, die wiederum in eine Datei abgelegt wird. Jetzt stellt sich mir die Frage, ob es nicht vielleicht besser ist die Daten in eine Datenbank zu packen. Möglicherweise könnte man dann interessante Operationen damit anstellen.
Eine Operation wäre es zu jedem Knotenpunkt ein bestimmtes Set an Informationen mitzugeben. Beispielsweise müssen Übergänge bei der Umsetzung eines Automaten grafisch dargestellt werden können, inklusive eines Labels mit der Info, was den Übergang auslöst, z.B. wenn eine 1 oder 0 auftritt.
Da schließen sich noch ein Haufen anderer Fragen mit an. Wenn ich die Daten in einer DB ablege, gibt es da etwas was so schön klein und fein ist, wie eine stand-alone MS-Access DB, die man wie in .NET mit an die Software anhängen kann, jedoch das Office Paket nicht als Installationsgrundlage anfordert? Hat man da für Java auch solche Möglichkeiten? Was ich gern vermeiden möchte ist, daß der User dann gefordert ist, MySQL Datenbanken zu erstellen und zu installieren. Die DB soll ja nur für den Betrieb der Software ausgelegt sein. Vielleicht kennt einer von Euch so etwas? Etwas Einfaches und Erpobtes wäre wünschenswert.
Das ist denke ich für den Anfang schon eine Menge an Infos. Ich freue mich auf eine rege Diskussion.
Viele Grüße,
Semo