Projekte 2011

Archiv: 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | 2017 | 2018

Der Verein betreut Projekte, um praktische Erfahrungen im Bereich Freier Software zu vermitteln. Diese Projekte müssen einen definierten Aufgabenbereich besitzen und im Vorfeld diskutiert werden. Sie sollen a) ein umzusetzendes Ergebnis beinhalten und b) einen Erfahrungsbericht bzw. eine Fallstudie hervorbringen.

2011 wurden die nachfolgenden Projekte durchgeführt. Projekte umfassen in der Regel Inhalte von mehreren Studienmodulen. Sie sind nachfolgend unter ihrem Hauptmodul gelistet.

Übersicht

  • Modul Projektmanagement
    • Wiki-Refactoring
    • Marketing von Freier Software
  • Modul Software-Design
    • Anforderungsanalyse einer Webseite für den Verein
    • Konzepterstellung Sichere Softwareupdates
    • Analyse "New User Issues"
  • Modul Game-Design
    • Konzepterstellung für eine Bestenliste
    • Konzepterstellung für Achievements
  • Modul Programmierung
    • Portierung eines Client/Server-Frameworks in Webtechnologie (HTML 5)
    • Programmierung einer Webseite für den Verein
    • Farbfilter für Avatar-Outfits und Tag/Nacht-Zyklus
    • Entwicklung eines Event-Systems
    • Performance Optimierung in einem Client/Server-Framework
    • Implementierung sicherer Softwareupdates
  • Modul System-Verwaltung
    • Migration des Stendhal-Servers
    • Unterstützung für IPv6

Auf einige Projekte werden wir im folgenden genauer eingehen:

Modul: Projektmanagement

Das Projektmanagement in Open Source Projekten beinhaltet eine Reihe von Herausforderungen und unterscheidet sich in einigen Bereichen deutlich vom Management kommerzieller Projekte, die von Mitarbeitern einer Firma entwickelt werden.

Projekt: Wiki-Refactoring

Ein Wiki ist eine Sammlung verlinkter Artikel, die versionsgesichert bearbeitet werden können. Refactoring ist ein Begriff des Software-Engineering, der eine Umstrukturierung eines Programms zur besseren Wartbarkeit oder Erweiterbarkeit beschreibt.

Faiumoni e. V. ist aus dem Freie-Software-Projekt Arianne hervorgegangen und kooperiert eng mit ihm. Arianne hat über die letzten Jahre eine Artikelsammlung mit Schwerpunkten auf den Themen Software-Entwicklung und Datenbankdesign aufgebaut. Im Rahmen dieses Projekts wurde die Artikelsammlung als Studienmaterial aufbereitet.

Dazu wurden die vorhandenen Artikel im ersten Schritt auf ihre Aktualität geprüft, sinnvoll strukturiert, kategorisiert und Querbeziehungen hergestellt. Basierend auf dieser Arbeit wurden interessante Themenbereiche ausgewählt, vertieft und gemäß unseres Bildungskonzepts als Studienmaterial aufbereitet.

Modul: Software-Design

Projekt: Vereinswebseite

Der iterative, inkrementelle Softwareentwicklungsprozess wurde praktisch angewendet, um eine Webseite für den Verein zu erstellen.

Zunächst wurden in der Analyse die Anwendungsfälle und Zielgruppen beschrieben: Gäste, die die Seite eher zufällig gefunden haben, Interessierte, Bearbeiter und Mitglieder.

Danach wurden fachliche Anforderungen wie beispielsweise Mehrsprachigkeit und Ausdruckbarkeit gesammelt. Daraus ergab sich, dass drei Bereiche benötigt werden: Der größte Bereich stellt das Studienmaterial dar und ist auch für Nichtmitglieder bearbeitbar. Daneben gibt es einen kleinen Bereich mit offiziellen Informationen wie dem Impressum, die zwar öffentlich sind, aber nur von ausgewählten Personen bearbeitet werden dürfen. Schließlich gibt es einige Funktionen wie die Abfrage des Kontostandes und das Ansehen von Rechnungen, die nur für Mitglieder zugänglich sein.

In der Entwurfsphase haben wir uns zur technische Realisierung für das Stendhal-Webframework entschieden und weitere Open Source Komponenten wie den CKEditor und LightOpenid hinzugenommen.

Die Programmierung erfolgte in kleinen Schritten, die wie für Freie Software Programme üblich, bereits frühzeitig zur Diskussion gestellt wurden. Dabei hat sich unter anderem gezeigt, dass eine Trennung der Rollen Mitglieder und vertrauensvolle Bearbeiter sinnvoll ist, weil auch Nicht-Mitglieder erheblich zur Pflege des offiziellen Teils beigetragen haben.

Nach jedem Programmierschritt wurde der aktuelle Zwischenstand getestet. Dadurch konnten Fehler im Programm und ungenaue oder ungeschickte Anforderungen bereits sehr früh identifiziert und korrigiert werden.

Modul: Game-Design

Das Modul Spieldesign unterscheidet sich vom Modul Software-Design darin, dass es einen besonderen Schwerpunkt auf die Konzepte hinter Computerspielen legt.

Projekt: Konzepterstellung für eine Bestenliste

Das Projekt definiert einen Ranking-Algorithmus für die besten Spieler in einem Rollenspiel. Es ist in Rollenspielen üblich, dass es ein Maximallevel gibt. Daraus ergibt sich, dass das Level für ein Ranking ungeeignet ist, da alle Spieler, die das Maximallevel erreicht haben, die gleiche Punktzahl hätten. Ziel dieses Projekts war es daher, alternative Bewertungssysteme zu analysieren und zu spezifizieren. Als Ergebnis wurden die hier angeprochenen Änderungen beschrieben und in mathematische Formeln umgesetzt.

Drei Monate später, im Juni 2011, wurde die Auswirkung der neuen Formeln evaluiert, wobei ein schweres Problem auftrat. Das Problem wurde behoben, in dem die Formel um eine Logarithmus-Operation erweitert wurde.

Neben den konzeptionellen und mathematischen Fähigkeiten übte dieses Projekt die Kommunikation mit Anwendern. So ist es beispielsweise naheliegend, dass Spieler, die im Zuge dieser Entwicklungen schlechter platziert wurden, darüber nicht glücklich waren. Durch gezielte Diskussionen wurde der Kontakt zwischen Entwicklern und Spielern hergestellt.

Modul: Programmierung

Programmierprojekte stellen in der Regel die Umsetzung der in den Modulen Software-Design und Game-Design entwickelten Konzepte dar. Sie sollen neben dem Computercode eine Dokumentation und ggf. Anleitungen erstellen.

Projekt: Portierung eines Client/Server-Frameworks in Webtechnologie (HTML 5)

JavaScript ist eine Programmiersprache für clientseitig interaktive Webseiten. Obwohl JavaScript eine relativ alte Programmiersprache ist, unterstützen die gängigen Webbrowser erst seit 2010 die Übersetzung von JavaScript in Maschinencode. Dadurch ergibt sich eine deutliche Performance-Steigerung, die es erlaubt, auch komplexe Anwendungen in JavaScript zu realisieren. Insbesondere mit Blick auf mobile Geräte - Smartphones und Tablets - gewinnt JavaScript an Bedeutung und Kenntnisse dieser Programmiersprache an Wichtigkeit.

In diesem Projekt wurde ein Framework zur bandbreitenoptimierten Client-Server-Kommunikation nach JavaScript portiert. Eine wichtige Anforderung des Projekts war, dass Webclients und klassische Clients über den gleichen Server miteinander kommunizieren können.

Die Ergebnisse des Projekts befinden sich im Branch perception_json des Marauroa-Repositories. Um den Erfolg des Projekts zu beurteilen und eventuelle Probleme aufzudecken, wurde ein einfacher Stendhal-Client implementiert.

Modul: System-Verwaltung

Wenn der Betrieb eines Software-Systems mit vielen realen Benutzern 24 Stunden pro Tag und 7 Tage die Woche garantiert werden soll, ist Know-How im Bereich System-Wartung und die Organisation eines Supports erforderlich. Natürlich ist das kein realistisches Ziel für einen kleinen Verein, allerdings streben wir an, diesem Ideal möglichst Nahe zu kommen.

Projekt: Unterstützung IPv6

IPv6 ist die nächste Version des Internet Protokolls. Es zeichnet sich neben einer Reihe von kleineren Neuerungen vor allem durch einen deutlich größeren Adresspool aus. Anfang 2011 wurden die letzten Adressblöcke des aktuellen Protokolls von der obersten Internetverwaltung ICANN an die regionalen Verwaltungen vergeben.

Im Rahmen dieses Projekts haben wir den Server des Vereins an das IPv6-Internet angeschlossen. Dabei wird ein "Dual Stack"-Modus verwendet, so dass der Server seine alte IP-Adresse behält. Er ist somit über beide Protokoll-Versionen erreichbar.

Aus unseren Erfahrungen ist ein Vortrag entstanden.

Zuletzt geändert am 2018-05-12 14:27:26 durch Benutzer 6316 Π  
© 2011-2018 Faiumoni e. V.
Sprache