Hilfe_JAVA-Datenbank & E-Mail

otti_75

Grünschnabel
Sorry hab den gleichen Beitrag schonmal geschrieben, ich denke hier ist er aber besser aufgehoben (Daher habe ich ihn einfach nochmal hierher kopiert--> Sorry)
Hallo zusammen.
Ich habe folgendes Problem. Im Rahmen meines Praxissemester muss ich ein Java-Programm schreiben. Das Problem ist, das ich mit Java noch nie gearbeitet habe. habe mir zwar versucht die Grundkenntnisse in den letzten 2 Wochen anzueignen, was sich aber als schwierig herausstellt, da mir das überhaupt nicht liegt. Alleine die Sprache von den Programmierern ist nicht so mein Ding. Ich hoffe hier nun auf Hilfe.
Also folgende Ausgangssituation.
Ein Java - Programm soll so einmal am Tag auf eine vorhandene Datenbank zugreifen können. In dieser Datenbank stehen alle Mitarbeiter der Firma. Das Programm soll dort unter anderem von jedem Mitarbeiter die Unterweisungsdaten mit dem heutigem Datum vergleichen und wenn dieses Datum übereinstimmt, soll an diesen Mitarbeiter und einen Vorgesetzten eine E-Mail rausgeschickt werden, dass er wieder eine Unterweisung benötigt. Desweiteren muss die Sekretärin eine E-Mail bekommen, dass sie das neue Datum für die nächste Unterweisung einträgt(also z.B. 1 Jahr später).
Das ganze soll/will ich so aufbauen, dass die einzelnen Interfaces/klassen separat geschrieben werden, so dass das Programm schnell veränderbar/erweiterbar usw. ist.
Kann mir jemand dazu ein paar Tipps geben.
Wie gesagt habe Null Ahnung wie ich vorgehen soll.
Danke im Voraus
 
Hallo,

du musst dir mal nach folgende Begriffe schauen:

1.Lesson:
JDBC(Datenbankzugriff)
Java Mail Api(Mail versand)

Und dann melde dich wieder, und wir schauen weiter?

Gruß
 
Das habe ich mir schon angeschaut. Mein Problem ist die ganze Struktur, wie ich das alles aufteile. Ich weiß schon wie die Befehle sind um auf die Datenbank zuzugreifen usw. Aber wie das mit dem Vergleichen geht hab ich auch noch nicht so kapiert.
 
Na ich habe halt überhaupt kein Plan wie ich das ganze aufteilen soll (in die einzelnen Klassen/interfaces). Wie gesagt ich habe bisher gar nix mit JAVA zu tun gehabt.

Mir fehlt es schon daran wie ich anfangen soll meine Hauptklasse zu schreiben. Da ich es eigentlich "richtig" machen wollte und es übersichtlich gestalten will, tuhe ich mich da schwer einen Anfang zu bekommen.
 
Hi,

teile alle mal deine Aufgaben in Schritten bzw. was willst du nacheinander machen?

Einfach die Schritte aufschreiben. Warum machst du ein Praxissemester wo du davon keine Ahnung hast?

Gruß
 
Hallo Otti,

zunächst möchte ich anmerken, dass ein Semester für einen Java-Neuling sehr kurz ist
Wenn Du mehr Zeit hättest, könntest Du Werkzeuge (sogn. Tools) wie Torque (Suchmaschinenbegriff: Apache Torque) verwenden, und etwas Schönes basteln.
Ich würde Dir empfehlen - bin selber in Java noch nicht so fit und habe leidliche Erfahrungen gemacht - Buttom-Up zu arbeiten: Also die Klassen und Methoden, welche Ergebnisse liefern, die sich überprüfen lassen, zuerst zu schreiben. Wenn Du dann noch Zeit hast, dann kannst Du ruhig luxuriöse Erweiterungen schreiben. Benutzt Du die Entwicklungsumgebung Eclipse? Damit könntest Du später die bestehenden Klassen einfach weiterbearbeiten, was relativ schnell geht.

An Deiner Stelle würde ich mit 3 Packages arbeiten:
- databaselayer
Die Abfragen der Datenbank (kennst Du Dich mit SQL aus?) können meiner Meinung nach ruhig statisch sein. Vielleicht solltest Du einfach pro Spalte eine Methode schreiben, welche den Primärschlüssel übergeben bekommt, und dann jeweils in der Zeile die entsprechende Spalte liefert.
- steuerung bzw. haupt
Lade Dir doch mal das Buch "Java ist auch eine Insel" herunter, bzw. besser - ich nehme an, Du bekommst keine Asche für die Arbeit - lass Die ein paar Bücher sponsorn
Im o.g. Buch findest Du alles über Datums/Zeitformate.
- message
Davon habe ich leider keine Ahnung, aber, wie gesagt: Schau Dir doch mal bei Amazon um: Dein Chef kann die Bücher ja prima steuerlich absetzen!
 
Hi!
Software-Design ist eine Wissenschaft für sich: Auch wenn dein Programm nur ein sehr kleines ist, kannst du dir damit sehr viele Steine in den Weg legen - oder sie aus dem Weg räumen!

Du hast mit dem Klassen/Interfaces-Konzept die Möglichkeit, dein Problem in kleinere Teil-Probleme zu zerlegen. Zum Beispiel könntest du dir ein Interface "Communicator" anlegen, dass eine Funktion
Code:
message(String receiver, String message)
fordert.
Dann schreibst du eine Klasse "MailCommunication", die dieses Interface implementiert und bei Aufruf der message Funktion eine Mail mit entsprechendem Text an den Empfänger "receiver" schickt.
Der Vorteil von diesem Interface-Getue: Falls die Firma irgendwann mal statt Mails lieber mit ICQ (oder was auch immer) kommunizieren möchte, kann man dieser Forderung ganz einfach nachkommen - wenn du gut dokumentiert hast, welches Interface wofür genutzt wird usw.
Ein weiteres Interface könntest du für die Datenbank-Anwendung definieren - da kommt es aber ziemlich darauf an, was dein Programm genau können muss und wie es eventuell später mal erweitert werden soll.
Die beschriebenen Klassen (die die Interfaces implementieren) kannst du separat testen - ein riesengroßer Vorteil. Z.B. kannst du einen kleinen Test schreiben, der dir mit der "MailCommunicaton" Klasse eine Mail schickt - wenn diese Testmail ankommt dann weißt du, dass der Mail-Part funktioniert. Bei der Datenbank kannst du ähnlich verfahren. und wenn beide Parts einwandfrei laufen, dann programmierst du eine Hauzptapplikation, die beide Teile nutzt!

Darf ich fragen, was du studierst?
Für jmd fach-fremden fände ich diese Aufgabe ganz schön heftig - Informatiker sollten / müssen aber in der Lage sein, sich schnell in neue Programmiersprachen einzuarbeiten - und vom Programm-Design sollten sie sowieso sehr viel verstehen...

Gute nacht
 
Also erstmal Danke für die Fachgerechten Tipps!

Ich möchte mal sagen, das da Java-"Projekt" nicht meine Hauptaufgabe darstellt in dem Praxissemetser und auf dumme Sprüche kann ich gut verzichten.

Ich studiere Umwelt- und Sicherheitstechnik und meine Aufgaben liegen in einem ganz anderen Bereich.

Ich denke aber, das ich der Aufgabe gewachsen bin. Ich habe mir die Bücher Java ist eine Insel und das Buch von Guido Krüger heruntergeladen und schon gut durchgearbeitet.
Dennoch fällt es mir wie gesagt schwer die Sprache zu verstehen.
 
Dumme Sprüche habe ich hier keine gelesen, aber du fragst halt nach Sachen, die in keinem Javabuch stehen, weil sie erstmal nichts mit der Sprache Java zu tun haben, sondern eher der objektorientierten Entwicklung bzw. Softwareentwicklung an ich zuzordnen sind.

Und gerade diese Thematik lernt sich nicht aus einem Buch heraus, sondern durch "machen" und Erfahrungen sammeln.

Als Student solltest du ausserdem wissen, dass es auf Fragen der Sorte: "Ich muss das und das machen, wie geht das?" eigentlich nur wolkige Antworten gibt. Von daher fällt es auch mir schwer, dir eine konkrete Antwort zu geben, da man mit der Antwort auf die Frage Bücher füllen könnte...

Hast du denn schon konkrete Probleme?

Gruß
Ollie
 
Zurück