Done!
vom 14. July 2010
11 Kommentare,
del.icio.us,

Von Wasserfällen und scharfer Munition
vom 8. March 2008
(Bild von @t.)
Im Laufe meines Studiums habe ich einige Vorgehensmodelle zur Softwareentwicklung kennengelernt. Besonders ausführlich wurde das Wasserfallmodell behandelt. Wer es (noch) nicht kennt: Der Softwareentwicklungsprozess ist in 5 Phasen eingeteilt, welche linear durchlaufen werden. Zuerst wird die Software geplant, sprich ein Lasten und Pflichtenheft erstellt welches beschreibt was die Software können muss. Daraus wird der Entwurf der Software (meist mit UML) erstellt. Dieser Entwurf wird in Software umgesetzt und anschließend getestet. Am Ende wird die Software ausgeliefert, Installiert und gewartet. Die einzelnen Phasen sind wie bei einem Wasserfall angeordnet und strikt getrennt. Wenn bei der Implementierung Designfehler entdeckt werden wird wieder bis zur Entwurfsphase gesprungen, der Fehler behoben und dann wieder die Kette nach unten geklettert.
Irgend wie konnte ich mich mit diesem Modell nie richtig anfreunden und habe auch nie wirklich geglaubt das ein solches Konzept erfolgreich angewandt werden kann. In dem Buch Ship it! von Richardson und Gwaltney bin ich hier auf meine lang ersehnte Bestätigung gestoßen:
Ein Vorgehensmodell, das Sie vermeiden sollten, ist das berüchtigte Wasserfallmodell. Es wurde in fortschrittlicheren Entwicklerkreisen allgemein verworfen, trotzdem ist es erstaunlich, in wie vielen Unternehmen es immer noch angewendet wird. [...] Ahnungslose Manager, die in Zeitpläne vernarrt sind, sind schon seit vielen Jahren Anhänger dieses Vorgehensmodells.
Als pragmatische Alternative zu den eingerosteten Vorgehensweisen stellt das Buch das von Thomas und Hunt entwickelte Tracer Bullet Development (TBD) vor. Ziel ist es hier, die Anwendung so schnell wie nur möglich lauffähig/ausführbar zu machen. Anfangs wird die Anwendung in Bereiche eingeteilt und Schnittstellen spezifiziert. Die einzelnen Klassen mit Methoden werden als stubs angelegt und geben bestenfalls statische dummy-Werte zurück. Wenn dieses Grundgerüst steht, werden die einzelnen Methoden ausprogrammiert und mit der Zeit verfollständigt.
Ein interessantes Konzept wird auch bei den Schnittstellen angewendet: Alle Schnittstellen kommunizieren über das Netzwerk, auch wenn beide Teile auf einem Prozessor laufen. Das hat den Vorteil, das eine Loose Kopplung erzwungen wird und die Software am Ende viel besser skaliert werden kann.
Doch eines hat dieses Konzept mit dem Wasserfallmodell gemeinsam. Es geht davon aus, das das Konzept der Software entgültig ist und das von Anfang an feststeht wie die Software am Ende auszusehen hat. Es ist zwar viel leichtgewichtiger als die "großen", aber nicht so Agil wie XP und Co. Martin Fowler unterscheidet hier zwischen geplantem und wachsendem Design.
Ich denke es kommt immer darauf an, was für Software man entwickelt. Wenn es eine Neuimplementierung einer alten Steuersoftware ist, spricht eigentlich nichts gegen TBD, doch wenn beim umzusetzenden Programm ganz neue Technologien verwendet werden, Features implementiert werden sollen die es zuvor noch nicht gegeben hat und anfangs noch garnicht klar ist, wie das Endergebnis aussehen soll (oder der Kunde nicht weiß was er will), sind agilere Vorgehensweisen angebrachter.
4 Kommentare,
del.icio.us,

*(Bild von [@t.](http://flickr.com/photos/_at/485400809/))*
Im Laufe meines Studiums habe ich einige Vorgehensmodelle zur Softwareentwicklung kennengelernt. Besonders ausführl
SYNTAX ERROR Reis
vom 14. January 2008
Und ich dachte jetzt hat die Hochschule endlich mal Geld und kann sich einen neuen Monitor für die Anzeige der Speisekarte vor der Mensa leisten. (Oder läuft das über das Studentenwerk?) Seit ca. zwei Semestern tut der alte Flimmerkasten schon nicht mehr richtig. An manchen Tagen klebt nur ein handgeschriebener Fresszettel (vorsicht doppeldeutig :)) auf dem Monitor und oft muss man die Gerichte zwischen kryptischen Zeichen suchen. Neulich hat wohl der C64, der für die hochkomplexe Ausgabe zuständig ist, einen netten Syntax-Error in die Speisekarte eingeflochten. Da kommen alte Zeiten auf!
5 Kommentare,
del.icio.us,

Und ich dachte jetzt hat die Hochschule endlich mal Geld und kann sich einen neuen Monitor für die Anzeige der Speisekarte vor der Mensa leisten. (Oder läuft das über das
CMC - die erste Chat-Session
vom 8. October 2007Wie einigen versprochen, berichtet ich etwas über das Fach CMC (Computer-Mediated Communication), denn heute war Kick Off der Veranstaltung. Zuerst einmal ist es toll, wenn man von zuhause aus mit einer heißen Tasse Tee und ausgewählter Musik die Vorlesung besuchen kann :) Allerdings hat dies auch Nachteile ...

Die Iren nehmen es mit der Zeit nicht so genau. Nach über einer halben Stunde verspätung trudelt die irische Dozentin im Chat ein und verkündet "Hi, the irish students loging in now". Von den Rumänen tauchte eine Stunde nach Meetingsbeginn einer auf, aber verschwand gleich wieder, von den anderen hat niemand was gehört. Ich bin mal gespannt ob das nächsten Montag besser klappt.
Alle Teilnehmer wurden zufällig in Teams aufgeteilt. Ich bin zusammen mit 4 Iren und 3 Rumänen in einem Team, allerdings sind wir momentan effektiv 5 Personen (incl. mir). Wir machten das übliche Vorstellungs-Spielchen, welches eine Person mitprotokollieren musste. Kurz vor Sessionende stürtzte anscheinend der Computer der Protokollantin ab und wir mussten in Rekordzeit alles wieder rekonstruieren, das klappte zum Glück bis auf ein paar Außnahmen recht gut :)
Auch wenn wir einen ziemlich knappen Releaseplan haben wird es denke ich viel Spaß machen. Mehr demnächst.
2 Kommentare,
del.icio.us,
Wie einigen versprochen, berichtet ich etwas über das Fach [CMC][1] (Computer-Mediated Communication), denn heute war Kick Off der Veranstaltung. Zuerst einmal ist es toll, wenn man von zuhause aus mit einer heißen Tasse Tee und ausgewählter Musik die
Startschuss zum 4.7ten Semester
vom 7. October 2007Seit Freitag hat für mich das neue Semester begonnen. Eigentlich müsste ich jetzt im Praxissemester sein, ich beschloss aber, zuerst die offenen Fächer, sowie die Ergänzungsfächer abzuschließen, bevor ich mich dem Praxissemester zuwende. Aus diesem Grunde auch 4.7; eigentlich bin ich nun um fünften Semester, doch mir Fehlen noch zwei Mathe/Theorie-Fächer die ich etwas vor mir hergeschoben habe.
Dieses "Aufholsemester" gibt mir jetzt auch die Möglichkeit, ein paar weitere Ergänzungsfächer zu belegen. So habe ich - wenn ich alle Prüfungen schreibe - am Ende 10 ETCS Credits statt der benötigten 6 ETCS mit Ergänzungsfächern "errungen". Ich hatte letztes Semester schon das Fach UNIX (2 ETCS) belegt und eine 1.3 geschrieben (kein Wunder werden jetzt manche sagen :). Dieses Semester habe ich mir "CMC" (Computer-Mediated Communication), "Grafik und Webdesign" und "MSWA" (Modellierung von Software-Architekturen) ausgesucht. An Pflichtfächern habe ich mir LA&C (Lineare Algebra und Computergrafik), Theoretische Informatik und Moderne verteilte Systeme vorgenommen.
Freitags ging es dann auch schon mit MSWA bei Prof. Dr. Herzberg los. Seine Vorlesungen sind immer sehr spannend, da er nie das gleiche unterrichtet und oft aktuelle Ereignisse und Themen mit in die Vorlesung einbaut. So hatte er es zum Anlass genommen das am selbigen Tag veröffentlichte Lively von den Sun Labs als Aufgabe zu Stellen. Bis in zwei Wochen müssen sich alle Teilnehmer durch den 10k Zeilen kleinen Lively-Kernel durcharbeiten, analysieren und am ende berichten. Eine spannende Aufgabe! Schade nur, das das SVG-Rendering des Kernels auf meinem Rechner (1.6GHz Duron, 512MB Ram, Linux, Firefox 3.x Alpha) nicht mal annäherend flüssig läuft.
Ansonsten sind erstaunlich viele nicht ins Praxissemester gegangen. Ein paar Kommilitonen die ich die letzten Tage getroffen habe, haben den Studiengang gewechselt oder haben ganz aufgehört. So langsam lichten sich die Reihen :(
3 Kommentare,
del.icio.us,
Seit Freitag hat für mich das neue Semester begonnen. Eigentlich müsste ich jetzt im Praxissemester sein, ich beschloss aber, zuerst die offenen Fächer, sowie die Ergänzungsfächer abzuschließen, bevor ich mich dem Praxissemester zuwende. Aus diesem
1