Donnerstag, 27. November 2008

das gute alte relationale Schema

Soda, hab meine DTD nach dem letzten Post noch einmal ordentlich überarbeitet und sämtliche 1:n und 1:1 Beziehungen mithilfe von Kindelementen ausgedrückt, so wie das auch von der Leitung empfohlen wurde.. kam auf die Idee, da wir eigentlich in DBS genau das gleiche mit E/R Diagrammen und relationalen Schemata gemacht haben und es war offensichtlich auch genau so erwünscht :) Gut gemacht hab ich das wiedermal *selbstSchulterklopf*

Nur die m:n Beziehung habe ich vermutlich nicht optimal, also als eigenes Element mit den zwei passenden IDREFs gemacht, aber dafür bin ich jetzt um das klüger und mach's beim nächsten Mal besser, oder bessere es vielleicht hier auch noch aus, falls ich die Zeit und Lust dazu finde - was ich momentan aber leider nicht vermute :/

Wie auch immer, habe glaub ich verstanden, worum's geht und die Aufgabe ganz okay gelöst, aber das werde ich vermutlich erst erfahren, wenn ich den Kommentar dazu bekommen habe ;)

Weiter geht's :)

Sonntag, 23. November 2008

Hmja.. es gibt halt schon wieder ein erstes Mal :D

Nachdem wir also bei der dritten Projektabgabe ein weiteres Mal präsentieren durften und uns offensichtlich ganz souverän geschlagen hatten (zumindest hörte es sich in der Einheit so an und der vorläufige Kommentar ging auch in die Richtung :)), bin ich immer besserer Laune im Bezug auf unser Projekt und dementsprechend steigt die Motivation natürlich auch laufend.. wenn ich auch noch immer keinen blassen Schimmer habe, wie wir die eigentliche Implementation angehen sollen, aber ich denke, dafür ist die Lehrveranstaltung ja da :)

Wie auch immer, heute habe ich mich mal drangesetzt, mit der XML/DTD Aufgabe zu beginnen. Soweit war die größte Hürde eigentlich das Überlegen eines passenden Szenarios. Wie es mir schon andere Kollegen wie zum Beispiel der Herr Selig vorgemacht haben, werde auch ich hier mein Klassendiagramm zur Verfügung stellen, sowie die dazugehörige Beschreibung (damit es hier nicht auch noch zu Missverständnissen kommt :D).


Dann habe ich mich mal daran gemacht, die Folien zu DTD zu lesen, weil ich mir diesmal eigentlich ziemlich war, dass es am vernünftigsten sein wird, damit zu beginnen :D
Un dann hab ich eigentlich auch schon losgelegt und meine erste DTD Datei erstellt. Ich frage mich zwar, ob das auch nur annähernd korrekt ist, so wie ich's gemacht habe, aber ich wüsste nicht, wie ich es großartig anders machen sollte. Vielleicht schließe ich mich morgen mit ein paar Kollegen zusammen, wenn sich die Gelegenheit bietet, und werde auf Unzulänglichkeiten hingewiesen oder eben nicht ;)

Jetzt fehlt also eigentlich nur mehr die dazugehörige XML Datei, an die ich mich morgen setzen werde. Und auch diese wird die erste ganz allein von mir geschrieben sein :)

Achja, und ich füge auch sofort noch Links zu unseren/meinen Abgaben zu A2 und P3 in der Sidebar hinzu :)

Sonntag, 16. November 2008

...und gleich noch eine Premiere

Eingeschlossen in mein Kämmerlein, abgeschottet von der Außenwelt, habe ich heute meine ersten php-Dateien gecodet. Nach den typischen Anlaufschwierigkeiten, die wohl auch mit leichter Programmierverrostung meinerseits sehr stark zu tun hatten, kam ich schön langsam wieder in Übung und konnte wirklich jede Stunde Fortschritte bemerken.

Zu Beginn fühlte ich mich etwas überfordert, weil ich nicht so recht wusste, wo ich anfangen sollte. Zum Glück kam mir dann natürlich als erstes gleich mal eine Klassendefinitionsdatei in den Sinn. Aber als diese fertig war, wusste ich auch nicht so recht, wo weiter, weil ich mir noch nicht ganz im Klaren darüber war, wie das ganze an sich aufgebaut sein sollte, mit Eingabemaske, Logik, etc. Im Endeffekt hab ich dann einfach mal mit dem Formular weitergemacht und danach war ich dann schon etwas in Fahr, sodass mir die restlichen Dinge auch schneller von der Hand gingen.
Die Serialisierung habe ich gleich in die Formulardatei miteingebunden und ich war im Endeffekt ziemlich überrascht davon, dass eigentlich fast alles auf Anhieb so geklappt hat, wie ich mir das gewünscht habe, selbst die lässlichen Syntaxfehler hielten sich ziemlich in Grenzen.
Ich wollte ursprünglich ja auch ein ganz neues HTML und CSS Gerüst basteln, aber habe das vorerst unterlassen..

Soweit bin ich ganz zufrieden mit dem, woran ich die letzten 10 Stunden gearbeitet habe, denn das steht mal soweit. Ich habe zwar noch keine speziellen Features eingebaut, aber ja, vielleicht geht sich das noch aus.
So würde ich zum Beispiel lieber die Ausgabe durch eine Schleife machen, sodass ich nicht jeden Track hardcoden brauche und vor allem die Tracklist nur so viele Einträge hat, wie eingegeben wurden. Momentan ist das bei mir noch etwas statisch.

[edit]
Huiuiui, und wie ich gerade beim Chef gesehen habe, könnte ich die übergebenen Tracks statt mit einer for-Schleife vermutlich auch viel einfacher und vor allem sauberer mit einem foreach zum Album hinzufügen. Ich hatte es zuvor schon kurz in Erwägung gezogen, allerdings dann nicht eingängig damit beschäftigt..
[/edit]

Aufgefallen ist mir auf alle Fälle, dass PHP um Welten netter ist als C++ und ich das ziemlich schnell bemerkt habe und deshalb nicht so defensiv programmieren musste, wie ich das bisher meistens tat. Wie auch immer habe ich eigentlich noch quasi keine möglichen Fehlerquellen bei der Eingabe versucht zu korrigieren, so kann man meinem Formular eigentlich alles übergeben, was man will und es wird einfach stupide ausgegeben, ohne zu überprüfen, ob bspw. bei der Tracklänge auch wirklich eine Zeitangabe in (hh:)mm:ss angegeben wird, was ich bisher eigentlich bei allen meinen Programmen immer sehr sorgfältig machte.

Wie auch immer, ich denke, für's erste Mal ist es soweit ganz okay, ich bin zumindest mehr oder weniger zufrieden mit meiner Leistung, allerdings habe ich wohl auch nicht so hohe Maßstäbe gesetzt, wie mein geschätzter Kollege auf der anderen Seite des Donaukanals :D


Achja, wer mein bescheidenes Werk betrachten will, kann das natürlich hier tun :)


*edited: Sun, 16 Nov 2008, 23:47

mein erstes Mal =)

Am Dienstag ist wieder ein großer Abgabetermin. Abgesehen von der PHP Aufgabe, mit der ich noch etwas überfordert bin, steht nämlich auch eine weitere Projektabgabe an, nämlich ein Architekturmodell.
Dieses sollten wir als Komponentenmodell bzw. mehreren Komponentendiagrammen darstellen, was für die meisten von uns vermutlich Neuland war oder immer noch ist ;) Bei uns war es zumindest so..

Wie auch immer, im Endeffekt hatte ich dann das Gefühl, dass wir es eigentlich den Umständen entsprechend ganz gut umsetzen konnten, auch wenn es immer noch ein paar kleine Unklarheiten gab. Wir einigten uns dann aber darauf, dass diese spätestens in den Reengineering-Prozessen der nächsten Arbeitsschritte vermutlich eliminiert würden :D

Auch hier trat teilweise wieder das Problem auf, wie schon bei den Use Cases, dass wir uns etwas schwer taten, das Abstraktionslevel richtig zu wählen und dementsprechend weder zu simpel, noch zu komplex zu werden.
Verwendet haben wir wieder Omnigraffle, das ich jetzt zum ersten mal selbst so wirklich ausführlich in action erlebt habe und das uns die Arbeit ziemlich erleichtert hat, und obendrein noch hübsche Diagramme erzeugt :D

Ein weiteres Mal verbleibe ich also in Spannung auf die Abgabe und darauffolgende Kommentare und Verbesserungsvorschläge :)

Freitag, 7. November 2008

Was bisher geschah (seit 2.Nov, 21:20 :p)...

Zuallererst gibt's natürlich wieder Neuigkeiten, über das, was auch schon in den letzten Beiträgen angesprochen wurde: der Name :D.. und zwar gibt es da eine gute und eine schlechte Nachricht.
Der Tradition aus allen möglichen Filmen, Büchern und Serien folgend, beginne ich natürlich mit der guten Nachricht:
Uns wurde zugesichert, dass wir den Namen unseres Projektes selbstverständlich jederzeit ändern können, was uns sehr zu gute kommt, nicht zuletzt aufgrund dessen, was Inhalt der schlechten Nachricht ist:
Wie Philipp aufmerksamerweise bemerkte, gibt es leider auch schon ein Programm, das auf den von uns so geliebten Namen TaskBuddy hört :/ Deshalb werden wir wohl ein weiteres Mal den Namen ändern und auf TaskCompanion zurückgreifen müssen. Das Logo wurde natürlich auch schon dahingehend verändert, aber sieht jetzt natürlich aufgrund des durch die plötzlich doppelt so große Wortlänge des zweiten Teils entstandenen Ungleichgewichts bei weitem nicht mehr so genial aus, wie zuvor :P
Mal sehen, ob sich da noch etwas ändern wird ;)

Wie auch immer, in der letzten Praktikumseinheit waren wir eines der zwei glücklichen Teams, die ihre Anforderungen präsentieren durften, worüber ich mich freute, da wir ja Arbeit hineingesteckt hatten und ich eigentlich auch sehr zufrieden mit dem, was wir erzeugt hatten, war. Leider war nicht mehr genügend Zeit, dass wir wirklich alles ausführlich hätten vorstellen können, aber ich glaube, wir konnten so in etwa einen Gesamteindruck unserer Vorstellungen vermitteln :)
Kommentar bzw Bewertung haben wir bis dato noch keine erhalten, aber ich bin mal gespannt :)

Als nächstes will ich mich aber PHP widmen, da ich mich damit noch nie wirklich beschäftigt habe. Ich bin allerdings positiv eingestellt, da ich eigentlich spätestens seit dem AlgoDat Praktikum letztes Semester sehr gerne objektorientiert programmiere und ja sowieso sehr motiviert bin, Webprogrammierspezifisches zu lernen =)
Bin also schon sehr gespannt, wie ich mit der laufenden Aufgabe zurechtkommen werde. Ich gehe aber nicht davon aus, dass es sowas wird, wie das, was Werner schon gemacht hat und noch vor hat :D Hab ja schon einige Nightly Builds der Beta-Version seines Tools gesehen und war wirklich sehr beeindruckt ;) Schon allein, weil auch das Interface so hübsch ist :D

... wo ich schon beim nächsten Punkt angelangt werde, der mich wohl noch ein wenig beschäftigen wird. Wie ich ja bereits im Post zur ersten Aufgabe geschrieben habe, hatte ich noch nicht wirklich viel Ahnung von HTML/CSS. Natürlich hatte ich aber schon hier und da gelesen, wie sich Leute darüber mokierten, wenn andere Tabellen zur Anordnung von Elementen bzw allgemeinen Gestaltung der Seite verwendeten. Ich fragte mich aber immer, was es denn für eine Alternative gäbe, da mir einfach nichts Anderes einfiel :P Wie auch immer, hat uns Kollege Klaffenboeck genau das gezeigt. Habe mich jetzt noch nicht wirklich damit auseinandergesetzt, aber die Anordnung mittels floating divs/spans wirkt so auf den ersten Blick eigentlich fast einfacher, als mit einer Tabelle, da das ganze Konstrukt eben nicht so statisch und viel flexibler ist.
Würde gerne, wenn es sich ausgeht, mich genauer damit beschäftigen, und meine Oberfläche für die zweite Abgabe dann so gestalten :)


Zuletzt erwähnter Kollege hat uns heute übrigens auch noch gebeten, unsere Use Case Diagramme von der Präsentation online zu stellen, da er sich dafür interessierte, was uns natürlich gleich mal sehr ehrte und mich daran erinnerte, dass ich ja sowieso sämtlichen Content, den wir im Rahmen unseres Praktikums bereits erzeugt haben und noch erzeugen werden, hier zu verlinken und so für Andere zugänglich zu machen.
Vielleicht folgt ja noch jemand dem Beispiel, ich bin mir sicher, dass es ein paar Leute gibt, die die Lösungen ihrer Kollegen auch interessieren ;)


There you go:

A1 - HTML/CSS

P1 - Projektidee
P1 - Präsentation

P2 - Anforderungen
P2 - Präsentation


Werde glaube ich außerdem noch ein Item in der Sidebar hinzufügen Habe außerdem noch ein Item in der Sidebar hinzugefügt, in dem ich diese Links sammle, damit man gleich eine Übersicht hat.
Vielleicht schaut's sich ja wirklich irgendwer an, hab am almighty ja leider keinen Download-Counter :D Würde mich auf alle Fälle freuen, wenn's wem hilft, und wenn nicht, dann hab ich's halt für mich gemacht, der Dokumentation und Übersicht wegen ;)

Und einen Poll hab ich auch, weil ich mir grad extrem unsicher bin, ob man die Artikel besser linksbündig oder in Blocksatz lesen kann :D Helft mir mal bitte!


*edited: Fri, 07 Nov 2008, 03:27

Sonntag, 2. November 2008

Phase 2 soweit fertig und ein tolles Logo :D

So, meine Bitten an Sun wurden offensichtlich erhört, auf alle Fälle ist die Präsentation jetzt fertig und hochgeladen. Natürlich musste ich aber auch hier in letzter Sekunde noch etwas ändern, Werner hat uns nämlich inzwischen ein Logo zu unserm (noch nichtmal bestätigten) Namen entworfen.. das pimpt die Präsentation natürlich auch gleich nochmal enorm :D
Um so mehr hoffen wir jetzt natürlich inständig, dass unsere Namensänderung abgesegnet wird.
*edit 3.11.08, 10:05: Dank des "beta" im Titel, fügen wir uns noch besser in die trendige web2.0 Brühe und so ein, wie dieser Artikel bestätigt - nun kann unserem Erfolg also nichts mehr im Wege stehen ;D*

Mittlerweile freu ich mich schon so richtig auf die Präsentation am Mittwoch und bin auf die Kommentare danach gespannt :)

weitere Anforderungen und der neue Name (tbc!)

Wie ich im letzten Post geschrieben hab, konnten wir ja zuerst nicht alle Use Cases und Anforderungen einbauen. Allerdings haben wir dann heute noch eine spontane mehrstündige Skype-Konferenz einberufen und sehr viele Ideen miteinander geteilt :D - und unsere Inboxes gegenseitig zugemüllt, da immer wieder irgendjemandem ein Tippfehler oder so hier oder da aufgefallen ist und das natürlich immer erst genau dann, nachdem die nächste Version schon verschickt war :D
So haben sich noch einige Anforderungen (sogar nichtfunktionale =)) finden können und sind uns dementsprechend auch allgemein etwas klarer darüber geworden, was wir eigentlich in etwa machen wollen ;)
Natürlich mussten dann auch die Use Case Diagramme verändert werden bzw. erstellte Werner gleich noch ein ganz neues.

Außerdem haben wir uns alle im Laufe des Tages heute zig Namen überlegt, inbesondere, nachdem mein kongenialer Vorschlag organizr schon von flickr gestohlen wurde und ich am Boden zerstört war. Auch bei unzähligen der weiteren unendlich vielen Namen, die uns einfielen und ganz gut gefielen war das Problem, dass sie oft schon vergeben waren - web2.0 w00tness!

Wie auch immer, im Endeffekt entschieden wir uns für Milenas Vorschlag TaskBuddy und warten und hoffen jetzt auf Absegnung der Namensänderung durch den LV-Leiter :)


So bleibt mir jetzt also für den restlichen Abend noch, die Präsentation, die ich gestern und heute erstellt habe, auf den aktuellsten Stand zu bringen, weshalb ich jetzt inständig darum bitte, dass Sun irgendetwas Tolles macht, damit mein Impress wieder läuft :/

Anforderungen an unser Projekt und was sonst noch geschah

Heute abend müssen wir bekanntgeben, welche Anforderungen wir (vorerst) mal für unsere Application gefunden haben. Dies stellte sich als gar nicht so leicht heraus, da man an bestimmte Use Cases oft gar nicht denkt, weil sie so trivial sind :D Besonders allerdings bei den nichtfunktionalen Anforderungen waren wir etwas verwirrt, da uns vorkam, dass es sich hierbei primär um auf Reengineering bezogene Aspekte geht bzw. um die Eigenschaften des Systems, insbesondere der Hardware, auf die wir ja allerdings bei unserm Projekt keinen Einfluss haben.

Wie auch immer, leider hatten wir nicht genügend Zeit, alle Vorschläge eingehend zu besprechen, weshalb wir jetzt nur die übernommen haben, bei denen wir zu einem (mehr oder weniger) eindeutigen Schluss gekommen sind. Ich hoffe allerdings, dass das eine oder andere im Laufe des Projektes nochmal zur Sprache kommt :)

Des weiteren habe ich mir auch immer weiter Gedanken über einen Namen für unsere WebApp gemacht. Bisher fiel uns leider noch nichts Passendes ein, auch der Web2.0 Name Generator hat bisher noch nichts Vernünftiges ausgespuckt :D
Ich wäre ja dafür, eben die Funktionen ein klein weing auszuweiten und ihm dann einen Namen wie organizr zu geben :D
Mal sehen, was noch kommt ;)