Warning: include_once(/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php): failed to open stream: No such file or directory in /var/www/html/fields/dbp09/local/config.php on line 4

Warning: include_once(): Failed opening '/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php' for inclusion (include_path='.:/opt/php/lib/php') in /var/www/html/fields/dbp09/local/config.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/fields/dbp09/local/config.php:4) in /var/www/html/pmwiki-2.2.86/pmwiki.php on line 1250
Datenbankpraktikum SS 2009 - Gruppe 1 - Team 4 Orga

Organisation der Gruppe Backend

Hier dokumentiert die Gruppe des Backends ihr Vorgehen während des Praktikums.

Gruppenmitglieder

Jan-Niklas Bartholomäus, Sebastian Bruns, Nils Haldenwang, Christian Linnemeyer

Milestones

Milestone 0.3 (fällig am 30.07.2009)

Usermodel, -controller, ER-Diagramm

Milestone 0.5 (fällig am 04.08.2009)

Galaxie füllen(Model, Controller für Planeten, Sternensystem)

Milestone 0.7 (fällig am 11.08.2009)

Ticker(Model, Controller für Gebäudebau, Ressourcenabbau, Schiffbau, Forschung)

Milestone 1.0 (fällig am 14.08.2009)

Kampf und Feintuning

Tagesplanung mit Reflexion der Gruppenteilnehmer

28.07.2009

Ziele

ER-Diagramm, Authlogic einrichten

Reflexion

ER-Diagramm in 1. Version erstellt, Authlogic teilweise installiert.

29.07.2009

Ziele

Modelklassen erstellen, grundsätzliche Controllerfunktionalität initialisieren

Reflexion

  • Alle Modelklassen erstellt und dokumentiert.
  • Controller für Galaxie-Erstellung geplant.
  • ER-Diagramm überarbeitet.
  • Authlogic zuende installiert und den anderen Gruppen zur Verfügung gestellt.
  • Kleines Tutorial für Dokumentation für andere Gruppen erstellt.

30.07.2009

Ziele

  • GalaxyController
    • Der GalaxyController füllt die Galaxie mit 5.000 Sonnensystemen, die inhomogen im Raumwürfel der Ausmaße 100x100x100 verteilt sind. Dazu wird die Create Methode des SolarSystemController aufgerufen mit einer zufällig bestimmten Koordinate im Raumwürfel als Argument.
    • Jan-Niklas macht das
  • SolarSystemController
    • Implementieren einer Create Methode, die ein SolarSystem erstellt und die Variablen setzt. Dazu wird die Koordinate als Argument verarbeitet und für die Namensgebung eine Methode bemüht, welche einen zufälligen Namen erstellt und zuweißt.
    • Sebastian macht das
  • PlanetController
    • Implementieren einer Create Methode, welche die Variablen des Planeten setzt. Dabei wird die Anzahl der Felder und die Boni zufällig bestimmt.
    • Das macht Christian :)
  • Validierung der Models
    • Datenmodell auf Integrität prüfen, falsche Variablenbelegung abfangen und behandeln.
    • Nils ...

Notiz: Forschungsmodell, Building Name ändern, Schiff Name ändern, evtl. nochmal kurz über das Schiffsmodell nachdenken ( im ship-model Anzahl speichern ? )

Reflexion

  • Galaxycontroller
    • Galaxycontroller wurde erfolgreich von Jan-Niklas implementiert, sodass die Galaxie erzeugt und mit Sonnensystemen und Planeten gefüllt werden kann.
  • Planetencontroller
    • Planetencontroller wurde vorerst verworfen, da Funktionalität auf andere Controller verteilt.
  • Validierung der Models
    • Wurde verschoben, um besser Tests durchführen zu können, dafür hat Nils die Model-Struktur nochmal überarbeitet.
  • Buildingcontroller
    • Sebastian hat die Verifikationen der Bauerlaubnis für ein Gebäude implementiert und getestet. Läuft.
  • Spaceshipcontroller
    • Christian hat die Verfikationen der Bauerlaubnis für ein Gebäude implementiert und testet das morgen. Läuft. Hoffentlich.

31.07.2009

Notizen

  • Dokumentation SpaceShipBuildOrder und BuildOrder
  • Modul für Formeln und fixe Werte
  • Planetenzuweisung bei Usererstellung
  • BackendController evtl. nichtmehr mit dem Generator erstellen, damit die View-Ordner und Helper dazu nichtmehr angelegt werden
  • Methoden im Planet-Model evtl. von 0/1 auf true/false umstellen und ein Fragezeichen an den Namen anhängen

Ziele

  • Jan-Niklas:
    • Auslagerung aller Konstanten und Methoden für die Formeln in eine zentrale Datei zur Vereinfachung des späteren Balancings.
    • Beginn der Implementierung des Bauauftrags-Systems
  • Christian:
    • Beginn der Implementierung des Flottenbewegungssystems
  • Nils:
    • Implementierung des Nachrichtensystems
    • Beginn mit dem Ticker
  • Sebastian:
    • Implementierung des Allianzenmodels und der -verwaltung
    • Implementierung der Technologiemodel/-controller

Reflexion

  • Sebastian:
    • Technologiemodel mit Abfragen implementiert, aber Kosten für Forschungspunkte je Level müssen noch aus dem "RulesAndRegulations"-Model integriert werden
    • AllianzModel mit Methoden implementiert
  • Jan-Niklas:
    • Alle balacingrelevanten Konstanten wurden gemäß des Regelwerks in der Moduldatei "rules_and_regulation.rb" abgelegt und initial mit den entsprechenden Werten gesetzt
    • Methoden zur Berechung der Konstruktionsdauer von Schiffen und Gebäuden wurden implementiert
    • Methoden zur Berechnung der Erz/Kristallkosten von Schiffen und Gebäuden wurden implementiert
    • Methoden zur Berechnung der Produktionsraten von Rohstoffgebäuden und des Forschungszentrums wurden implementiert
    • Methoden wurden noch nicht getestet
    • Es fehlen noch weiter Methoden (Kampf/Spritverbrauch/Geschwindigkeit/etc.)
    • Bauauftragssystem muss noch mit Frontendgruppen besprochen und zu großen Teilen implementiert werden
  • Christian:
    • Flottenbewegungsmodell implementiert
    • Methode um Schiffe einer Flotte hinzuzufügen implementiert und getestet
  • Nils:
    • Nachrichtensystem implementiert und getestet
    • Datenbank durch setzen einiger Indizes auf häufig abgefragte Datenfelder optimiert
    • Beginn mit dem Ticker zur Berechnung der produzierten Rohstoffe

03.08.2009

Ziele

  • Christian:
    • Weitere Methoden zur Flottenbewegung implementieren
  • Sebastian
    • Fertigstellung und testen der Technologien
    • Fertigstellung und testen der Allianzen
  • Jan-Niklas
    • Testen der Methoden der RulesAndRegulation Methoden
    • Erweitern der RulesAndRegulation Datei
    • Impelementieren der Baufunktion von Gebäuden und Schiffen
  • Nils
    • Recherche zu Transaktionen und Nebenläufigkeit
    • Ticker zur Rohstoffberechnung vervollständigen

Reflexion

  • Sebastian
    • An Allianzen implementiert und getestet
    • Technologiemodel implementiert und getestet
  • Nils
    • In Transaktionen und Nebenläufige Task in der Applikations-Umgebung in Rails eingelesen.
    • Ticker implementiert und beim Testen als deutlich zu langsam befunden.
    • Alternativen für die Umsetzung und Optimierung des Rohstofftickers gesucht.
    • Kleinere Änderungen an den Models durchgeführt.
  • Jan-Niklas
    • Methoden größtenteils erfolgreich getestet
    • Baufunktionalität von Schiffen/Gebäuden bis auf Feinheiten vollendet
    • RulesAndRegulations ausgebaut
    • Herausgefunden, wie man Module verwedent, geilomat
  • Christian
    • Flugzeitberechnung implementiert und getestet
    • Schiffe können auf eigenen Planeten landen

04.08.09

Ziele

  • Nils
    • Testen der Performance des Tickers mit raw-SQL statt der Verwendung der ActiveRecord-Models und bei Erfolg endgültig implementieren.
    • Ticker für Gebäude und Schiffsbau zunächst mit ActiveRecord testen und ggf. auch auf raw-SQL umstellen.
    • Wenn dann noch Zeit ist evtl. weitere Validierungen in die Models einbauen, zur Sicherstellung der Datenintegrität ( dependencies/callbacks )
  • Jan-Niklas
    • Verfeinerung der Bau Controller
    • Anpassen der Models/Doku für die Building/Spaceship Categories
    • Resourcenmanagment beim Gebäudebau auf Korrektheit prüfen
  • Christian
    • weitere Methoden zur Flottenkontrolle implementieren und testen
  • Sebastian
    • weitere Methoden zur Forschung implementieren
    • Allianz erweitern

Reflexion

  • Jan-Niklas
    • Gebäudebau verfeinert
    • Models/Doku angepasst
    • Resourcenmanagment validiert
  • Sebastian
    • Forschung ist abgeschlossen und mit View getestet. Läuft
    • Allianz um Rundmail erweitert und Anführerrefferenz überarbeitet
    • Dokumentationen der Klassen und Methoden aktualisiert
  • Nils
    • Tests und Implementation des Rohstoff/Forschungstickers haben länger gedauert als erwartet. Läuft nun aber bei 50.000 Planeten in ca. 3 sekunden durch.
    • Ticker für Gebäudebau und Verbesserungen an der Sicherstellung der Datenintegrität auf morgen verschoben.
  • Christian
    • Ressourcen zur Flotte hinzufügen
    • Transport von Ressourcen zu anderen Planeten
    • Tests durchgeführt

05.08.2009

Ziele

  • Sebastian
    • Beginn der Implementation des Kampfsystems
  • Christian
    • weitere Methoden zur Flottenkontrolle implementieren und testen
  • Nils
    • Fehlende Ticker implementieren, weiter optimieren und testen

Reflexion

  • Christian
    • Besiedeln von unbewohnten Planeten
    • Verkaufen von Flotten an andere Spieler
    • Gasverbrauch von Schiffen hinzugefügt
  • Sebastian
    • Berechnung der Kampfstärke einer Flotte von Raumschiffen mit gleichem Level und Typ
    • Berechnung der Anzahl von Raumschiffen in einer Flotte mit gleichem Level und Typ
    • getestet
  • Nils
    • Fehlende Ticker implementiert und erfolgreich getestet.

06.08.2009

Ziele

  • Christian
    • weitere Methoden zur Flottenkontrolle implementieren und testen
  • Sebastian
    • weitere Methoden zum Kampfsystem
  • Jan-Niklas
    • Bau von Schiffen vollendenen
    • Produktionskette bei Schiffen implementieren
    • User Abmeldung implementieren
  • Nils
    • Weitere Funktionen zum Nachrichtensystem hinzufügen ( Nachrichten löschen, Postfach leeren )
    • Analyse der Datenbank-Zugriffe, optimierung der Geschwindigkeit durch Indizes, und Verbesserungsvorschläge für Performance an andere Gruppen weiterleiten.

Reflexion

  • Jan-Niklas
    • Schiffsbau fertiggestellt
    • Produktionskette implementiert
    • User Abmeldung begonnen, Planeten lüppen schon
  • Christian
    • Ausspionieren von Planeten
    • Feintuning
  • Sebastian
    • Bugfixing bei Allianzen
    • Kampfsystem weiter implementiert
  • Nils
    • Nachrichtenfunktionen erfolgreich implementiert
    • Einige Datenbank-Anfragen durch Indizes deutlich beschleunigt. Weiter Konsistenz-Bedingungen eingebaut und die ActiveRecord-Timestamp Felder teilweise beseitigt, wo sie nicht benötigt wurden.
    • Methode zur Mächtigkeitsberechnung einer Flotte gegen eine andere für das Kampfsystem mitimplementiert.

07.08.2009

Ziele

  • Christian
    • Flottenkontrolle Feintuning
  • Jan-Niklas
    • User Abmeldung
    • Kampfssystem
  • Sebastian
    • Bugfixing
  • Nils
    • Weiteres Feintuning am Ticker
    • Kleinere Änderungen an der Datenbank und den Models

Reflexion

  • Christian
    • Feintuning am Flottencontroller
  • Sebastian
    • Bugfixing
    • Allianz weiter entwickelt
  • Nils
    • Vorangekommen mit dem Ticker, gibt aber noch einiges zu tun
    • Einige kleinere Konsistenzbedingungen in der DB hinzugefügt und einige weitere Model-Methoden implementiert

10.08.2009

Ziele

  • Jan-Niklas
    • Kampfsystem
    • Adminbereich
  • Christian
    • Nachrichten über Flottenbewegungen
  • Sebastian
    • Überlegungen zum Kampfsystem und erste weitere Implementierung
  • Nils
    • Weiterentwicklung des Tickers
    • Beginn der Implementation des Performance-Tests

Reflexion

  • Jan-Niklas
    • Kampfsystem nicht angerührt
    • Kleinere Bugs gefixt
    • Adminbereich verworfen
  • Christian
    • Nachrichten über Flottenbewegungen
  • Sebastian
    • Weitere Entwicklung des Kampfsystems
    • Zu Allianzen eine Bewerberliste hinzugefügt
    • Bugfixing
  • Nils
    • Ticker fast fertig, ab und zu treten noch Deadlocks auf, welche behandelt werden müssen
    • Mit dem Performance-Test angefangen

11.08.2009

Ziele

  • Jan-Niklas
    • Doku von meinen Controllern überprüfen
    • Fehlerbehandlung überprüfen
    • Kampfsystem implementieren
  • Christian
    • Bugfixing am Flottencontroller
  • Sebastian
    • Kampfsystem weiterentwickeln
  • Nils
    • Fertigstellung des Tickers
    • Weiterentwicklung des Performance-Tests

Reflexion

  • Nils
    • Exceptionhandling in den Ticker und den Performancetest eingebaut, um die Deadlocks und fehlgeschlagenen Transaktionen abzufangen.
    • Flags für Ticker und Performance-Test beim Konsolenaufruf eingefügt zur besseren konfiguration.
    • Ticker in den Applikations-Server als Child-Prozess integriert, sodass dieser immer mitgestartet wird, wenn der Server startet, und auch beendet wird, wenn der Server-Prozess beendet wird.
    • 1300 TestUser mit dem Performance-Test erzeugt und dort zufällige Bau/Forsch/Schiffsbau-Aufträge sekündlich gespawnt. Fehlen noch Flottenbewegungen. Sieht aber eigentlich ganz gut aus.


Page last modified on August 11, 2009, at 04:57 PM