Homepage
» Artikel mit Tag diplom
- Sonntag, 17. September 2006, 12:50
- Der Bart ist ab!
- Oder andersrum. Ich habe es hinter mir. Meine Diplomarbeit ist abgegeben. Eine wirklich intensive Zeit. Es kam mir vor wie ein Jahr, dabei waren es nur 4 Monate. Ich glaube, nur wenn man mal eine Diplomarbeit geschrieben hat, kann man erst schätzen, was bereits andere Leute vollbracht hatten. Bisher war das Prefix Diplom- für mich nichts anderes als eine hohle Phrase. jetzt ist mir klar, was es bedeutet.
Jetzt versuche ich mich wieder in die Gesellschaft einzugliedern. Am Freitag war ich mit ein paar Freunden feiern. Ich kann mich leider nicht mehr an so wahnsinnig viel erinnern. Ich war anscheinend so angeheitert, dass ich jeden in den Arm genommen habe. Sieht wohl so aus, als wäre da so unterbewusst eine Riesenlast von mir abgefallen. Jetzt erst mal ausspannen und das Leben genießen.
Zudem kann ich mich ja jetzt auch wieder um mein Blog kümmern, dass ja in seiner Aktualität gerade die letzten 4 Wochen äußerst gelitten hat. Prioritäten eben.
Weiterhin ist der Bart ab, ich hatte mir am Anfang der Diplomarbeit geschworen, mich nicht zu rasieren, bis ich die Arbeit abgebe. Das sah zwar total bescheuert aus, aber es hatte auch Vorteile. Ich hatte immer einen ganzen U-Bahn-Wagon für mich alleine, wenn ich mit einer Tasche in der Hand eingestiegen bin.
So, jetzt gehts erst mal zum Brunchen und dann - wir werden sehen.
- Dienstag, 22. August 2006, 19:57
- Ereignisreich
- Heute war ein Tag, an dem sich für mich und meine Diplomarbeit so einiges geändert hat. Ich hatte heute ein Treffen mit meiner Professorin, die, schlecht für mich, aber gut für sie, die letzten 4 Wochen ihren wohlverdienten Urlaub angetreten hat.
Wie dem Ein oder Anderen bekannt sein dürfte, entwickle ich eine Web 2.0 Anwendung. Diplomarbeiten in der Informatik laufen ziemlich häufig nach Schema F ab. Nach einer Einleitung und dem Teil, der die Grundlagen für das weitere Verständnis der Arbeit schafft, setzt sich der Rest der Arbeit aus den Kapiteln
- Anforderungsanalyse
- Applikationsdesign
- Implmentierung
- Tests
zusammen. Dem versierten Leser sollte diese Vorgehensweise auch bekannt sein als Wasserfallmodell
.
In der Anforderungsanalyse werden alle Funktionalitäten bestimmt, die eine zu entwickelnde Applikation später aufweisen muss (Kunden-seitig durch das Lastenheft, Programmierer-seitig durch das Pflichtenheft). Im wahren Leben, abseits vom Diplomwahnsinn, zeichnet der Kunde dann das Pflichtenheft ab und die nächste Phase wird eingeleitet. So habe ich 55 Seiten Anforderungsanalyse geschrieben, mit dem Ergebnis, dass ein Design solch einer Applikation den Rahmen meiner Diplomarbeit definitv sprengen würde, da ich nur max. 90 Seiten abgeben darf und mein Grundlagenteil bereits 35 Seiten umfasst.
Die Frage war also, was tun? Ein befreundeter Programmierer riet mir mich doch einmal mit XP (Extreme Programming
) auseinander zu setzen und vorallem mit YAGNI
, was für You aren't gonna need it steht. Im Einzelnen die Besonderheiten von XP zu besprechen, würde den Rahmnen dieses Artikels sprengen (Anm.: Gern genommener Satz in Diplomarbeiten), jedoch, um auf die wesentliche Erkenntnis einzugehen, werden im XP keine Funktionalitäten beschrieben, sondern User Stories, wie z.B. 'Der Benutzer kann sich einloggen'. Diese User Stories werden dann nach Wichtigkeit bewertet und so genannten Iterationen
zugewiesen. Am Ende einer Iteration steht ein Produkt, dass je nach Anforderungen der User Stories bestimmte Funktionalitäten aufweist. Der Clou an der Sache ist, dass der Teil mit dem Applikationsdesign als Ganzes vor der Programmierung wegfällt, da man jede User Story für sich abarbeitet und dafür ein kleinen, aber feinen Entwurf (Design) macht, der dann implementiert wird.
Dies hat zum Vorteil, dass bei Änderungen nicht das Gesamtmodell geändert wird, sondern nur der jenige Teil der Applikation, der dies betrifft. YAGNI, um das noch einmal aufzugreifen, bedeutet, dass man daher auch nicht Sachen vorbereitend programmiert, die in der Applikation vielleicht irgendwann mal gebraucht werden sollten. Wenn ich zum Beispiel ein Skript für eine Upload-Funktionalität habe und die User Story heisst 'Der Benutzer kann Files auf den Server laden', stelle ich dies als Funktionalität bereit und kümmere mich jetzt noch nicht darum, dass der Benutzer vielleicht einmal einen Batch-Upload (mehrer Files auf einmal) machen können soll. Keep it simple, keep it clear ist die Devise.
Es wurde mir klar, dass dieses Programmiermodell meiner Web 2.0-Entwicklung durchaus entgegen kommt. In O'Reilly's Essay "What is Web 2.0
" stehen folgenschwere Sätze über deren Bedeutung ich mir vor der Auseinandersetzung mit XP nicht im Klaren war: "We put up two or three new features on some part of the site every day, and if users don't adopt them, we take them down. If they like them, we roll them out to the entire site." Cal Henderson, the lead developer of Flickr, recently revealed that they deploy new builds up to every half hour. Wäre ich mir vorher über die Existenz und Bedeutung des XP bewusst gewesen, hätte mir auffallen müssen, dass diese Sätze genau mein Problem beschreiben. Das Wasserfallmodell ist für die Entwicklung von Web 2.0-Applikationen nicht geeignet.
Nun habe ich aber nun mal bereits 55 Seiten an Hand des Wasserfallmodells geschrieben. Soll ich die nun wegschmeissen? Meine Professorin sagte mir, dass es genau diese Erkenntnis ist, die ich in meine Arbeit einpflegen kann. Die Konzeptionsphase ist damit erledigt. Ich kann nach diesem Teil direkt im Sinne des XP dazu übergehen, meine Anforderungen Stück für Stück zu designen und zu implementieren.
Mein Problem ist natürlich, dass ich nur noch eine Woche Zeit hätte, um meine Arbeit abzugeben, daher hatte sie mir vorgeschlagen mein Thema zu ändern und aus 'Design und Entwicklung eines Web-basierten Anotationswerkzeuges' (mit diesem Titel war ich eigentlich nie richtig zufrieden) die Entwicklung heraus zu streichen und mich nur auf die Konzeption zu spezialisieren. Dies wurde jedoch meinen Ansprüchen nicht gerecht, da ich nicht wollte, dass ich eine Anforderungsanalyse abgebe, bei der ich hinterher im Endeffekt sage: "Schön, dass Sie's gelesen haben, aber eigentlich war's für'n Arsch. Vielen Dank für Ihre Aufmerksamkeit."
So habe ich erst einmal zwei Wochen Verlängerung erwirkt. Ich gebe also jetzt in der zweiten Septemberwoche ab. Ich habe ja auch schon einige Sachen programmiert. So habe ich z.B. das Framework
fertig, welches die Requests auf dem Server dynamisch abhandelt. Einzelne Module, wie das Einbinden von flickr und YouTube über WebServices sind programmiert und zu 65% die Einbindung von Google Maps. Anotieren kann man jedoch noch nicht. Daher wurde jetzt auch noch kurzer Hand der Titel meiner Diplomarbeit geändert. Er heißt jetzt: "Konzeption und prototypische Entwicklung einer Mixed-Media-Platform". Klingt funky, oder? Klingt auch mehr nach Web 2.0, irgendwie.
Ich bin also guter Dinge, die Diplomarbeit zu einem, für mich, zufriedenstellenden Ende zu bringen. Ich mache diese Arbeit, im Gegensatz zur allgemeinen Meinung über Diplomarbeiten, nicht nur für meine beiden Professoren, die die Arbeit bewerten sollen, sondern für mich als Grundlage einer Web 2.0-Seite, die irgendwann, wenn sie dem Alpha-Stadium entlassen wird, auch auf die Menschheit losgelassen wird. Mit XP habe ich jetzt ein Vorgehensmodell gefunden, mit dem ich entspannter, viel entspannter, an die Sache rangehen kann. Ich habe nicht mehr den Klotz am Bein ein Applikationsdesign im Sinne des Wasserfallmodells zu erstellen und daher auch nicht mehr so ein Brett vor'm Kopf.
Die Diplomarbeit ist allerdings und bleibt viel Arbeit. Minimum 7 Stunden, meistens aber 12 Stunden am Tag wende ich zur Zeit dafür auf. Daher glaube ich auch nicht, dass Jürgen, der eine Diplomarbeit über Web 2.0 schreibt, seinen Fulltime-Job nebenher aufrecht erhalten kann (und den dazu gehörigen Artikel anscheinend gelöscht hat und damit gegen eine der goldenen Regeln des Web 2.0 verstößt, daher trackbacke ich auf einen anderen Artikel
, schade). Ich habe ja auch am Anfang nebenher gearbeitet und habe festgestellt, dass dies für mich nichts bringt. Respekt, wenn man's trotzdem hinkriegt.
Und für alle, die es geschafft haben sich hier mal wieder durch meine geistigen Ergüsse zu lesen, herzlichen Glückwunsch, Du hast es geschafft. Für heute bin ich fertig.
- Dienstag, 25. Juli 2006, 00:45
- Funktionalitäten
Momentan bin ich zum größten Teil gar nicht mehr gesellschaftsfähig. Gerde eben bemerkte ich, dass mein Handy den ganzen Tag nicht eingeschaltet war. Ich grübele immer noch über die Funktionalitäten meiner Applikation, die ich für meine Diplomarbeit erstelle. Eine Funktionalitäten-Abbildung, die ich erstellt habe, seht ihr hier als Bild eingefügt.
Von denen gibt es mittlerweile bereits 12 Stück und 4-5 fehlen noch. Zu all diesen Dingern gibt es mittlerweile ausgearbeitete Texte. Irgendwie habe ich langsam das Gefühl, dass die 80 Seiten, die wir schreiben dürfen ziemlich knapp bemessen sind. Muss halt einiges in den Anhang und ich kann ja noch auf 10 Punkt Schriftgröße runtergehen. Momentan hat meine Anforderungsdefinition bei 11 Punkt knapp 40 Seiten, aber es kommt schon noch gut was dazu, soviel ist sicher. Da bleibt für das Design und die Umsetzung sowie den Grundlagenteil und das Fazit nicht soviel übrig. Mal sehen.
Wenn ich mir das Bild da oben so ansehe, wird das ja ein lustiges Abarbeiten beim Design der Applikation. Aber es geht voran, das ist das Wichtigste. Habe mich letzthin mit einem Freund aus München unterhalten, der auch kurz vor dem Diplom steht. Der Trick ist irgendwann einmal die Kurve zu kriegen und, wie er das so schön beschrieben hat, der Featureitis ein Ende zu bereiten. Ich hoffe jetzt endlich bald mit der Anforderungsdefinition fertig zu sein.
Am Mittwoch treffe ich mit Fabi, er soll die Icons designen. Alex hat jetzt wahrscheinlich schon einen Horror davor mit mir eine Datenbank durchzudenken. Irgendwie kann ich im Moment total schlecht einschlafen, dauend gehen mir Funktionalitäten hier und Funktionalitäten dort durch den Kopf. Dann stehe ich wieder auf, setze mich an den Rechner und schreibe sie auf. Dann versuche ich wieder zu schlafen. Das ist mehr ein Kampf als Entspannung. Und dazu noch diese Hitze. Ich beschwer mich ja nicht über die schönen Tage. Ich hab zwar nichts davon, aber was solls. Ich will mal an nen See.
- Mittwoch, 19. Juli 2006, 09:55
- Mehr Diplomanden - Versuch einer Web 2.0 Diskussion im Sinne des Web 2.0
- Durch meinen Artikel zu "Was ist Web 2.0?
" komme ich mit immer mehr Leidensgenossen in Kontakt, die dieses Thema auch auf die ein oder andere Art und Weise in ihrer Diplomarbeit behandeln. Noch mehr freut es mich natürlich, wenn sie meinem Beispiel folgen und ihre Sichtweisen in ihren Blogs verfolgen. So auch z. B. Jürgen aus der Nähe von Frankfurt, der eine Diplomarbeit mit dem Titel "Enterprise 2.0" schreibt. Zunächst war sich Jürgen nicht sicher, ob er seine Recherchen oder geistigen Werke auch veröffentlichen soll, aber mittlerweile gibt es schon einige Einträge wie seine Gliederung und erste Kerngedanken, den er in seinem Artikel "Die drei Phänomene des Web 2.0
" veröffentlicht hat.
Ich nutze mein Blog mal um seinen letzten Artikel zu kommentieren. Ich wollte schon immer mal eine Dikussion über mein Blog zu einem Anderen führen. That's Web 2.0, man.
Jürgen schreibt:
Ich sitze gerade an der Gliederung meiner Diplomarbeit und überlege, wie ich in einen roten Faden durch das Web 2.0 ziehen kann. Durch meine Recherche bin ich auch folgende Thesen gekommen:
Die technische Sichtweise: AJAX und Rich Web Application
Die gesellschaftliche Sichtweise: Kollaboration und Selbstdarstellung
* Die wirtschaftliche Sichtweise: Neue Goldgräberstimmung und Aufbau des Medium „Internet“ durch die Medien zum Comeback
Meiner Meinung nach muss AJAX nicht wirklich etwas mit Web 2.0 zu tun haben. Es wird zwar oft in einem Atemzug genannt, jedoch ist es kein unbedingtes Muss. Es bleibt dem Entwickler und Konzepter selbst überlassen, ob AJAX eingesetzt wird. Es gibt durchaus auch Web 2.0 Seiten die gänzlich auf AJAX verzichten. YouTube ist da ein Beispiel oder fro.rtio.us kommt auch gänzlich ohne AJAX aus. flickr war schon eine Web 2.0 Anwendung als all die kleinen Gimmicks noch aus Flash-Bestandteilen gestrickt waren. Erst vor Kurzem ist flickr auf AJAX umgestiegen (mit dem Gamma Release).
Andererseits fordert O'Reilly
Rich Internet Applications, die den Benutzer vom Look & Feel an Desktop-Applikationen erinnern. Dies wird zunächst einmal mit DHTML erreicht. Der asynchrone Request, der dann einzelne Komponenten aktualisiert muss aber nicht unbedingt mit AJAX erfolgen. Es gibt auch Techniken wie FJAX, wo die Requests über eine Flash Engine gehandelt werden. Wenn man sich AJAX-Bücher ansieht, werden sogar iFrames noch als gängige Praxis angesehen. Davon würde ich aber Abstand nehmen.
Bei Rich Internet Applications stimme ich allerdings zu. Sie sollen Benutzern die Arbeit mit der Seite so angenehm wie möglich gestalten. Drag & Drop, Sortierung, im nur 2 Beispiele zu nennen. Was mir jedoch noch fehlt ist die Erweiterbarkeit durch API's. Das sollte unbedingt rein. Es ist der Motor des Web 2.0 aus technischer Sicht. Applikationen wie uploadr sind zum Beispiel ein Beispiel für diese Erweiterbarkeit.
Mit der gesellschaftlichen Darstellung stimme ich überein. Vielleicht kann man ja noch die Weisheit der Vielen erwähnen.
Wirtschaftlich gibt's ein paar Ansätze im neuen Spiegel.
Also lieber Jürgen, verstehe es bitte nicht als Kritik. Dies soll nur meine Sichtweise auf die Dinge sein. Sie sind natürlich in keinster Weise verbindlich. Ich habe nur rausgefunden, je mehr man sich mit Anderen über das Thema unterhält, desto klarer wird es einem selbst. Deswegen kann ich Dich nur zu Deinem Schritt beglückwünschen Deine Überlegungen zu veröffentlichen.
- Montag, 17. Juli 2006, 19:27
- Diplomandenwahnsinn
- So ein Satz kommt dann raus, wenn man den ganzen Tag an der Ausformulierung seiner Anforderungsanalyse
sitzt:
Löscht der Benutzer einen Kontakt wird auch er als Kontakt bei dem Kontakt gelöscht, den er als Kontakt gelöscht hat.
Lol. Vielleicht kann ich's noch besser umschreiben.





