Programmierprojekt HT11 (Modul 1136)

Leitung: Peter Lachenmaier, M.Sc.

 


 

Der technische Rahmen

 


 

 

Zu Frameworks im Allgemeinen

 

In schöner Regelmäßigkeit wird jedes Jahr während des Programmierprojekts die Frage gestellt, warum das Framework SalesPoint verbindlich vorgegeben wird. Dies hat mehrere Gründe, u.a. ergeben sich so bei Verwendung des Frameworks folgende Vorteile:

  • Durch das Framework ist eine Grundarchitektur vorgegeben. Das erleichtert den für Unerfahrene schwierigen OO Entwurf.
  • Einarbeitung in bestehende Programmsysteme gehört zum Arbeitsalltag des Software-Entwicklers. Das Framework ist durch die ausführliche Beschreibung und die flexible Anpassungsschnittstelle vergleichsweise gut zugänglich.
  • Es soll Wiederverwendung bewusst eingeübt werden. Unerfahrene Entwickler neigen dazu, laufend das Rad neu zu erfinden. Auf diese Weise entstehen unkontrollierte Code-Doubletten, die - weil nicht zusammenhängend - nicht systematisch gewartet (verbessert oder an neue Gegebenheiten angepaßt) werden können. Im Gegensatz dazu erfordert die Wiederverwendung von Bausteinen deren laufende Anpassung und führt dadurch zu immer flexibleren und verlässlicheren Komponenten: die Qualität steigt, die investierte Mühe lohnt sich mittel- und langfristig.

Neben dem zweckgemäßen Einsatz des Frameworks werden daher auch Beiträge zu dessen Verbesserung (neue, universell einsetzbare Bausteine, oder überarbeitete alte) besonders positiv gewertet.

Um Wildwuchs zu vermeiden, werden die Frameworks den Anwendungsentwicklern zudem nicht im Quelltext zur Verfügung gestellt. Es werden nur die übersetzten Bibliotheken bereitgestellt.


 

 

Zu SalesPoint im Speziellen

 

Sämtliche Informationen zum SalesPoint-2010-Framework finden sich im zugehörigen [SalesPoint Wiki]. Die einander ergänzenden Beschreibungen sollen Ihnen den Einstieg in die Materie und in seine Verwendung erleichtern. Im Hinblick auf die empfohlene Vorgehensweise bei der Einarbeitung, beachten Sie bitte die Hinweise zur [Einarbeitungsphase] des Projektes.

Bitte bedenken Sie auch: Alle Beschreibungen enthalten technische Anteile, die möglicherweise erst beim wiederholten Lesen oder aufgrund eigener Erfahrungen verständlich werden, daher gilt: öfter mal wieder zur Hand nehmen - das ist sehr nützlich! Während die Übersicht und das Tutorial fortlaufend gelesen werden sollten, wird man z.B. die JavaDoc-Beschreibung wohl eher zum Nachschlagen und zur Klärung von Zweifelsfällen verwenden.


 

 

Die Entwicklungswerkzeuge

 

Um dem Projekt einen einheitlichen Rahmen zu geben und zusätzlich die Handhabung der programmtechnischen Artefakte deutlich zu vereinfachen, ist die Verwendung der im Folgenden beschriebenen Entwicklungswerkzeuge vorgeschrieben. Es sollte auf Versionskompatibilität der Werkzeuge innerhalb der Gruppe geachtet werden.

  • Das [Java JDK 6.0] als Sprachplattform.
  • Eclipse als IDE
  • Subversion als Versionsverwaltung
  • Ant als Build-Tool
  • JavaDoc zur Code Dokumentation

Genauere Informationen erhalten Sie in den Einführungsvorträgen


 

 

Die Dokumentationswerkzeuge

 

Die Wiki-Seiten der Teams sind das primäre Dokumentationsmedium für das Programmierprojekt, sie sind demzufolge auch die hauptsächliche Informationsquelle für den Praktikumsleiter. Wichtig ist also, dass Sie diese regelmässig aktualisieren und selbigen eine einfach zugängliche und übersichtliche Struktur geben. Der Fokus der Wiki-Seiten liegt hierbei eindeutig auf dem Inhalt und nicht in additiven, technischen Spielereien! Halten Sie sich beim Aufbau ihrer Seiten an die in der vorgegebene Struktur und integrieren Sie alle notwendigen Artefakte.

Hinweise:

  • Die geforderten GUI-Skizzen (auch die Papier bzw. Whiteboard-Variante!), welche aus dem Storyboarding hervorgehen, sind ebenfalls in eingescannter Form (bitte auch hier in moderater Auflösung!) abzulegen.
  • Alle UML-Diagramme sind nicht nur als Screenshot abzulegen, sondern auch per zusätzlichem Text zu erläutern (nur die Diagramme für sich sind in den allermeisten Fällen noch nicht sehr aussagekräftig). Die Nutzung der vorhandenen Export-Funktionalität des jeweiligen Werkzeuges kann hier Zeit und Mühen in erheblichem Umfang ersparen - selbige sei deswegen dringend empfohlen!

 

zurück