Coldstorm Geschrieben 7. Mai 2009 Geschrieben 7. Mai 2009 Hi, ich bin relativ neu bei Java, nun wartet in meiner Schule das erste größere Gruppenprojekt auf mich. Die Klasse besteht aus etwa 20 Schülern, wo immer ca. 3 in einer Gruppe sind und für ihr Unterprojekt verantwortlich sind. Ich bin in der Gruppe, der dafür verantwortlich ist, eine zentrale Schnittstelle zu designen. Ich muss ein Klassendiagramm für das Framework designen (implementieren muss es dann jemand anders, damit der Lerneffekt höher ist, wenn man was falsch gemacht hat...). Die Projekte der anderen sind z.B. 4 Gewinnt, Schach, Teamspeak, ICQ, Schiffe versenken und so weiter. Die einzelnen Benutzer können sich am Framework anmelden und dann gegeneinander spielen. Einer kann immer nur ein Spiel oder halt Fenster öffnen!! Noch ein paar wichtige Sachen: Es ist eine Client-Server-Anwendung. Es muss festgestellt werden, welche IP-Adressen/Benutzer angemeldet sind und wer mit wem kommuniziert. Das Framework gibt die Schnittstelle vor für die Kommunikation mit dem Server. Bei Datenbankzugriff wird Query übergeben von den anderen Projekten, man bekommt dann was zurück. Methoden können/müssen teilweise überladen werden. Es wird ein Framework programmiert, das für ALLE Unterprojekte funktioniert. Der Spielstand muss irgendwie gespeichert werden... Das bildet eine Schnittstelle zu den einzelnen Unterprojekten. Ihm wird ein JPanel übergeben. Das wird dann anschließend in ein InternalFrame geladen. Ich will also ein Programmiergerüst für die anderen designen(implementieren NICHT), das sie dann verwenden. Außerdem benötige ich eine Datenbank(z.B. für den Login, Online-Status, aktuelle Verbindung zwischen den Usern usw, Server-Routine, die jede Minute schaut, wer online ist). So hier mal der Entwurf für das Gerüst Ich hoffe ihr versteht alles, was gemeint ist: Es gibt einen Login am Anfang(Logins etc. in Datenbank gespeichert), dann erscheint ein Hauptfenster, wo bestimmte User drin sind, die online User werden angezeigt. Klickt auf den User mit Rechtsklick kann man auswählen, ob man mit ihm Schach, 4 Gewinnt, SchiffeVersenken, Chatten, Teamspeak oder sonst was machen möchte... Die ganzen Spiele erben dann vom Interface Plugin, designen muss ich das nicht, das machen die Gruppen dann selber. Interface Plugin hat Methode , um einen anderen User aufzufordern und eine Methode um Spielstand in Datenbank zu speichern. Außerdem ist im Entwurf rechts der Server aufgelistet, da werden zwischen Klasse Server und NetworkConnection Binärdaten ausgetauscht. Die Klasse NetworkConnection schickt und empfängt diverse Anfragen. Irgendwo brauche ich noch eine Methode setQuery(String query), wo am besten? Bei NetworkConnection? Meine Fragen hierzu : Welche Methoden brauche ich noch, stimmt der Entwurf so weit? Von Beziehungen und so... Hier der Datenbankentwurf und Bemerkung und Fragen... Ich hoffe ihr könnt mir weiterhelfen, es ist wichtig für mich. Dann schon mal vielen Dank. Zitieren
flashpixx Geschrieben 7. Mai 2009 Geschrieben 7. Mai 2009 Mache einmal ein vollständiges ERD, ein UML Diagramm und ggf ein Sequenzdiagramm. Die aktuellen Bilder sind nicht vollständig und benutze bitte die Uploadfunktion des Forums, den manche Seiten sind firmenintern gesperrt. Im Moment ist es unvollständig und damit kann man nicht viel bewerten Phil Zitieren
Coldstorm Geschrieben 7. Mai 2009 Autor Geschrieben 7. Mai 2009 Ja, das UML Diagramm ist noch nicht vollständig und das ER-Diagramm auch nicht, das sind meine Fragen, was ich noch brauche oder ob da schon was falsch ist... Und als Anhang dann nochmal das Programmiergerüst als Klassendiagramm, der Entwurf, wie die Oberfläche ungefähr ausschaut und das Datenbankmodell Zitieren
AndiE Geschrieben 7. Mai 2009 Geschrieben 7. Mai 2009 Hallo, bis jetzt finde ich das Ganze noch etwas undurchsichtig. Was macht der Client und wo setzen die anderen Anwendungen an. Wo wird entschieden, welche Anwendung gestartet wird? Zitieren
Coldstorm Geschrieben 7. Mai 2009 Autor Geschrieben 7. Mai 2009 Die anderen Anwendungen implementieren das "Plugin", so kann jeder ein Spiel oder Aktion wählen und das JPanel wird dann geöffnet. Der Benutzer wählt das Spiel aus, wenn er im Hauptfenster auf einen User klickt, der online ist. Zitieren
flashpixx Geschrieben 7. Mai 2009 Geschrieben 7. Mai 2009 Mache doch bitte zunächst einmal ein vollständiges Konzept. Es macht keinen Sinn Rätselraten zu spielen. Im Moment finde ich das Konzept ebenfalls noch nicht klar Phil Zitieren
Coldstorm Geschrieben 7. Mai 2009 Autor Geschrieben 7. Mai 2009 ich hab es schon versucht...ich komme leider nicht weiter...das Frameworkmodell sollte allerdings schon passen von den Klassen her und so, aber es schaut noch irgendwie leer aus, gehen wir noch Methoden ab? Weiß nicht, ob das schon reicht...das is mein Problem Zitieren
AndiE Geschrieben 9. Mai 2009 Geschrieben 9. Mai 2009 Hallo, mach doch erst mal ein Use-Case-Diagramm. 1. Nutzer registriert sich 2. Erster Spieler meldet sich an 3. Zweiter Spieler meldet sich an 4. Zweiter Spieler macht mit erstem Spieler ein Spiel Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.