Werkzeuge für die Umsetzung von Projekten Teil 1

Bei der Umsetzung von Software Projekten spielt das dafür verwendete System eine wichtige Rolle. Neben der Planung der Programmierung ist ein System mit hilfreichen Werkzeugen ein Vorteil und Unterstützer für Qualität und Übersicht. Im folgendem werde ich einige Werkzeuge zu verschiedenen Bereichen vorstellen. Alle erwähnten Werkzeuge sind OpenSource und ihre Nutzung daher kostenlos. Versionierungssystem Um Änderungen leicht und schnell zu verfolgen, sowie diese wiederherzustellen ist die Verwendung eines Programms zur Versionsverwaltung unabdingbar. Dafür möchte ich zwei Programme näher erwähnen, GIT und SVN (Subversion). Für ein freies OpenSource Projekt würde ich GIT aufgrund Flexibilität und der einfachen Verwendung von Arbeitskopien verwenden, für Projekte mit Benutzerrechten ist SVN besser geeignet. Eine Hilfreiche Einführungen für GIT ist https://git.wiki.kernel.org/index.php/GitDocumentation und für Subversion http://tortoisesvn.net/docs/release/TortoiseSVN_de/index.html.

Dokumentation Dokumentation ist wichtig und das dokumentieren auch. Während einer Entwicklung gibt es immer wieder Änderungen und andere wichtige Dinge die dokumentiert werden müssen aber im Code am falschen Platz sind. Dafür sind Wikis mit ihrer History Funktion und den Datei-Anhängen ideal. Zwei Wikis, DokuWiki mit PHP und JSPWiki mit JSP finde ich durch ihre Features und einfachen Installationen dafür sehr praktisch. Es ist ein zentraler Zugriff möglich, Änderungen sind sichtbar und es können Anhänge hinzugefügt werden. Beide haben den Vorteil das Sie ohne Datenbanken auskommen.

UML Werkzeuge UML ermöglicht die Darstellung von komplexen Abläufen und zur Planung von Lösungen für Aufgaben. Um UML nicht mit der Hand zu Zeichen oder einem Grafikprogramm gibt es verschiedene Werkzeuge. Für Eclipse sind einige Plugins vorhanden, ein anderes Programm ist AgroUml. Aufgrund der verwendete Entwicklungsumgebung lohnt es sich, ein bestimmtes UML Tool zu verwenden um die Anzahl der Anwendungen zu reduzieren. Auf der Seite von pc.de findet ihr eine Auflistung von weiteren UML Tools. Entwicklungsumgebung Aufgrund ihrer vielen Tools und Unterstützung vieler Programmiersprachen sind hier Eclipse und Netbeans sehr gute Werkzeuge. Von Eclipse gibt es viele unterschiedliche Versionen, z.B. die STS (SpringToolSuite) . Diese Entwicklungsumgebung hat als Basis Eclipse mit einer Anpassung an das Springsource Spring Eclipse Plugin. Wenn für viele Projekte immer nur eine Programmiersprache verwendet wird, lohnt sich auch eine sepzielle Entiwcklungsumgebung wie z.B. den SharpDeveloper für C#.

Android API 11 (honeycomb) für SDK verfügbar

Als ich heute meinen Android SDK Manager aufgerufen habe, gab es einige neue Pakete zum downloaden. Darunter die erste Version der API 11 (Honeycomb / Andorid 3.0). Bisher war diese API nur als Preview erhältlich, nun ist sie mit der Veröffentlichung von Android 3 auch im SDK vorhanden. Mein erster Versuch zeigt das der Emulator von API 11 deutlich besser ist, als der vom Preview dieser API. Die Veröffentlichung des SDK hat wahrscheinlich mit dem heutigen Verakufsstart in der USA zu tun. Dort wird ab heute das Xoom verkauft und damit das erste Tablet mit Android 3. Andere Hersteller, wie Samsung, haben schon Tablets mit Android 3 angekündigt aber noch keine genauen Termine veröffentlicht.

Wordpress 3.1 Django veröffentlicht

Die neue Version von Wordpress wurde veröffentlicht und nach dem Jazz-Gitarristen Django Reinhardt benannt. Neben der Englischen Version ist auch inzwischen die DE Version von Wordpress 3.1 fertig. Die Änderungen in der neuen Version sind:

  • einfacheres Verlinkten von Seiten und Artikel innerhalb eines Artikels oder einer Seite
  • neues Aussehen der Link Funktion im Editor
  • Das Design des Adminbereichs wurde durch Konturen verbessert
  • Neue Admin Bar
  • weitere Features

Bei mir hat das Update von 3.4 auf 3.1 mit dem Auto-Installer fehlerfrei funktioniert. Jetzt darf man auf die nächste Version gespannt sein und kann die neuen Funktionen testen.

Git

Immer öfters findet man bei Projekten im Open Source Bereich die Versionsverwaltungssoftware Git. Was ist Git eigentlich und wie ist es im Vergleich zu SVN (Subversion). Git wurde 2005 von Linus Torvalds entwickelt um das bis dahin verwendete System BitKeeper zur Versionsverwaltung des Linux Kernels zu ersetzen, dabei wurden einige Ideen von Monotone verwendet. Git läuft auf den UNIX bekannten Systemen und auch auf Windows. Der Hauptunterschied zwischen SVN, CVS etc. und Git ist, das bei Git nicht ein zentraler Server vorhanden ist, sondern jeder Entwickler eine lokale Kopie inklusive der Versions-History besitzt. Dadurch können Aktionen auch ohne Internet bzw. Verbindung zum Server ausgeführt werden. Der große Vorteil von Git ist das jeder sich eine Kopie ziehen kann und diese erweitern kann ohne das dafür ein eigener Branche notwendig ist. Der offizielle Entwicklungszweig ist meistens der Entwicklungszweig, welcher von den Entwicklern des Projektes verwaltet wird. Sie können dann, wenn gewünscht die Verbesserung von einer beliebigen Person mit ihrem Entwicklungszweig verschmelzen. Git bietet daher mit seiner Einfachheit und Effizientes das ideale Versionsveraltungsprogramm für Open Source. Denn jeder kann sich beteiligen, aber es muss nicht die Entwicklung von jedem berücksichtigt werden und im offiziellen Entwicklungszweig wie bei Subversion statt finden.

This is my only real conceptual gripe with “monotone”. I like the model, but they make it much harder than it should be to have throw-away trees due to the fact that they seem to be working on the assumption of “one database per developer” rather than “one database per tree”. You don’t have to follow that model, but it seems to be what the setup is geared for, and together with their “branches” it means that I think a monotone database easily gets very cruddy. The other problem with monotone is just performance right now, but that’s hopefully not _too_ fundamental. Linus Torvalds

Linus Torvalds bei Tech Talk zum Thema Git : Nützliche Links zu GIT: