Montag, 8. Dezember 2008

P5: The Big Easy

Leider war ich beim letzten Plenum nicht dabei, weswegen ich die Neudefinierung der Aufgabenstellung (bzw. die konkrete Erklärung) leider nicht mitgekriegt habe.
Allerdings ist meine Gruppenkollegin Theresa nach dem Plenum bei mir vorbeigekommen und wir haben die Aufgabe kurz und schmerzlos gelöst. Ob wir sie richtig gelöst haben ist mir allerdings noch nicht ganz klar.

Mehr in Kürze...

Dienstag, 2. Dezember 2008

A4: Burned Beyond Recognition ("id")

Habe gestern bis spät in die Nacht an der XPath-Aufgabe gearbeitet und bin jetzt schon wieder dahinter (und zugleich auch noch mit ein paar anderen Abgaben beschäftigt). Obwohl von einigen Kollegen bereits Verlautbarungen gemacht wurden, dass XPath so toll und einfach ist (z.B. im Vergleich zu SQL), muss ich gestehen, dass ich doch mit massiven Problemen zu kämpfen hatte.

Besonders mit ID-Referenzen hatte ich meine Schwierigkeiten. Seltsamerweise gelingt es mir noch immer nicht, von der ID auf den IDREF zu linken, obwohl das eigentlich auch möglich sein müsste. An dieser Problemstellung arbeite ich augenblicklich noch.

Ergänzung: dieser Rückschluss hat inzwischen funktioniert, ohne dass ich aber an der Vorgehensweise etwas geändert habe. Wo das Problem lag (oder zukünftig wieder liegen wird) kann ich im Augenblick noch nicht sagen, da ich in der Zwischenzeit nicht einmal den Browser-Cache geleert habe.

Die id-Funktion klappt im Moment auch noch nicht. Inzwischen habe ich sie schon in sehr vielen Varianten versucht, doch bislang hat noch keine funktioniert. Verwirrender Weise funktioniert es nicht einmal in einer "Solo"-Einstellung - also wenn nur die id-Funktion angeführt wird. Doch es wird als gültig validiert, was darauf schließen lässt, dass ich es falsch anwende.

Ergänzung: die id-Funktion ist in der Abgabe-Umgebung nicht möglich. Siehe den Comment zu diesem Blog von Michael Derntl.

Sonstiges

Ein Hoch den XML-Technologies! So etwas nenne ich eine wirklich ausgezeichnete E-Learning-Applikation.

Die generische Erweiterbarkeit seitens der User sowie das Step-by-Step-Try-and-Learn-Prinzip ist schlicht als genial zu bezeichnen. Selbst wenn ich, seitdem ich dieses Tool verwende, den Browser-Cache bereits mehrmals leeren musste, damit die korrekt eingegeben Daten auch tatsächlich funktionierten -

5 Sterne für diese Applikation

Freitag, 28. November 2008

Ein Kreis... oder doch lieber ein Schälchen?

Aus irgendeinem Grund habe ich immer wieder das Problem nicht ganz sicher zu wissen, ob jetzt ein required interface nun eigentlich der Teil der Schnittstelle ist, der die Schnittstelle benötigt oder doch eigentlich anbietet.
Selbes Problem gilt natürlich vice versa für die provided interfaces.
Natürlich, die Benennung scheint klare Bände zu sprechen, aber ist dem wirklich so?!

Zwar dachte ich (so wie vermutlich alle anderen) das Prinzip verstanden zu haben, doch trotzdem tauchen immer wieder gewisse Zweifel auf.
Deswegen werde ich in diesem Blogeintrag versuchen, dieser Frage auf die Spur zu kommen um dem Mysterium endlich ein Ende zu setzen.

Zweifel 1

Hier einmal das Modell, welches maßgeblich an dem ganzen Problem beteiligt ist:


Und jetzt meine Frage: macht das Sinn, dass der ShockwavePlayer eine Komponente anbietet, auf die sich der Browser einlassen muss?!
Oder verfeinern wir die Frage: wenn es wirklich so wäre, dass der Player eine Komponente anbietet, auf die sich die Browser einstellen müssen, wieso gibt es dann verschiedene Player-Implementationen für verschiedene Browser?

Fortsetzung folgt...

Vorlesung vorbei, Skriptum komplett (ausgedruckt) !!

Die Vorlesung ist vorbei und das Skriptum steht nun zum vollständigen Download bereit. Aber es gibt noch immer Leute (so wie mich), die nicht gerne vom Bildschirm lernen, sondern es lieber auf Papier haben.

Habe also das Skriptum komplett ausgedruckt, 2 Folien pro Seite, vorne und hinten bedruckt (gut leserlich und platzsparend).

Wer will, kann sich das komplette Ding (oder auch nur Teile daraus) kopieren. Einfach eine Mail an mich schreiben oder auf diesen Post antworten.

Bis dann,
lg
Fred

Donnerstag, 27. November 2008

P4: Dawning

Vorweg eine persönliche Bemerkung:

STRESS


Wo man hinsieht, überall gibt es Stress! Morgen Vormittag eine Prüfung, am Abend diese Abgabe und die Abgabe eines Zwischenberichts für die LV "Netzwerktechnologien".
Morgen während des Tages dann die Fahrt nach Hause, da ich in Oberösterreich als Fahrschullehrer tätig bin und am Samstag unschuldige Fahrschüler gequält werden wollen.
Samstag Abend Ankunft meiner in Salzburg studierenden Freundin amerikanischer Herkunft, welche die Tradition des feierlichen Thanksgiving über den Ozean zu retten versucht und mich dafür Sonntag um 6.00 Uhr morgens als Truthahn-Koch benötigt, da sie, trotz ihrer Vorliebe fürs Kochen, eine geradezu ungesunde Abneigung gegen die Arbeit mit rohem Fleisch hat.
Sonntag Abend dann, in einem voraussichtlich überfüllten Zug, die Rückreise nach Wien, um am Montag wieder den Pflichten eines Tutors nachzukommen. Am Dienstag dann die Abgabe von A4, sowie die Aufgabe aus der LV "Datenbanksysteme", sowohl von dieser Woche als auch für die versäumte Aufgabe der vergangenen (also dieser) Woche (versäumt aufgrund der morgigen Prüfung), am Mittwoch dann der nächste Meilenstein in derselben LV und am Freitag ein 20- bis 30-seitiger (!, aber Hallo ?!) Bericht für "Netzwerktechnologien" zum Thema VoIP, mit dem ich bisher wirklich noch nie auf technischer Ebene in Berührung gekommen bin.

Das kann ja spaßig werden, zumal ich am Donnerstag zuvor als Nikolaus bei einem Krampus-Club aktiv bin, wo meine beiden Krampus-Helfer dieses Jahr zum ersten Mal gegen ledertragende Dominas ausgetauscht werden =;-)

Sicher eine schlechte Kombination mit dem 30-Seiten-Bericht am Freitag =-(

So, genug gejammert!

P4: Review

Wir haben die große Freude, Team 3 reviewen zu dürfen, welches im Unterricht schon (zu Recht) in vorzüglichem Maße für ihre Abgabe gelobt wurde. Auch wenn ich bislang (aufgrund der morgigen Prüfung) noch nicht die Zeit gefunden habe, mir die Abgabe genauer anzusehen, so gehe ich im Moment doch davon aus, dass ich mich übermäßig positiv dazu äußern werde (keine Sorge, ich werde schon ein paar konstruktive Kritikpunkte einbringen).

Aus Zeitgründen haben ich und meine Kollegin Theresa uns entschieden, diese Aufgabe strikt zweigeteilt zu erledigen. Sie schreibt in einem Google-Doc unabhängig von mir ihre Meinung zur Abgabe. Ich werde mir diese dann runterladen und zusammen mit meiner eigenen Meinung (im Zug auf dem nachhause Weg nach OÖ) in LaTeX verfassen.

Weitere Infos dann morgen...

Dienstag, 25. November 2008

A3: Bericht

Da die Abgabefrist nun vorbei ist: mein Abschlussbericht zur A3: XML/DTD steht zum Download über den Almighty bereit.

Für die Interessierten: hier das entsprechende TeX-File als ZIP-Download. Eine etwas ausführlichere Erläuterung zur Abgabe folgt in Kürze.

Erweiterung

Habe in der Übung gesehen, dass ich beim Erstellen des Abgabedokuments wohl ein wenig über das Ziel hinausgeschossen bin. So haben die Kollegen ein PDF-File ihres UML-Klassendiagramms abgegeben und evtl. noch eine "natürlichsprachliche" Beschreibung dazugehängt.

In meinen Dokument wurde diese Beschreibung ausgespart. Dafür findet man darin eine Analyse des Diagramms sowie eine zeilenweise Erläuterung der DTD. Für das XML-File war ebenfalls eine solche ausgiebige Beschreibung geplant, ließ sich jedoch mit dem Abgabedatum nicht mehr vereinbaren.

Nichst desto trotz hat diese Fleißaufgabe nicht geschadet, da es für mich das erste Mal, Listings in LaTeX zu erstellen bzw. einzubinden. Wie ich feststellen musste, eine sehr interesssante Erfahrung, die ohne größere Komplikationen verlaufen ist und mit einem optisch anspruchsvollen Ergebnis auffährt.

Sonntag, 23. November 2008

A3: UML-Diagramm

Nachdem so viele meiner Kollegen es schon so prima vorgemacht haben (David Selig, Martin Graf, Florian Schwarz) - hier nun mein Klassendiagramm.



Das Diagramm wurde mit OmniGraffle erstellt (Vielen Dank an Werner Robitza für diesen Tipp!)

Dieses Diagramm weist eine 1:1 Beziehung zwischen den beiden Klassen Benutzer und Profile auf. Gemäß der Spezifikation kann eine Kardinalität der Größe 1 ausgelassen werden bzw. wird eine nicht gekennzeichnete Kante implizit mit 1 belegt.

Die Unterscheidung der Inhalte von Benutzer und Profile: Benutzer enthält lediglich Daten, die für das System von Interesse sind. Profile enthält hingegen Daten, die für andere Personen von Interesse sind. Die 1:1 Beziehung drückt aus, dass ein Benutzer genau ein Profil hat und ein Profil genau zu einem Benutzer gehört.
Nicht modelliert wurde in diesem Zusammenhang, dass Benutzer die Profile anderer Teilnehmer betrachten können.

Benutzer lässt sich weiter unterteilen in Content_Ersteller und Content_Manager. Diese beiden Entitäten wurden mit keinen weiteren Attributen ausgezeichnet, da der einzige wesentliche Unterschied in der Erlaubnis des Content_Managers liegt, bereits erstellte Inhalte zu editieren.

Ein Problem, welches sich hieraus ergibt: dieser Umstand lässt sich nicht als DTD abbilden. Wie bereits in einem Forumseintrag diskutiert ist es in einer DTD leider nicht möglich, IDREF(S) nur auf bestimmte IDs hin abzufragen. Die Abfrage erfolgt automatisch dokumentweit. Folglich muss dieser Teil der Modellierung in einem anderen Arbeitsschritt implementiert werden.

Protocol wird hier nur als der Grundeintrag betrachtet, ausreichend für die gegenwärtige Aufgabenstellung. Für die Weitermodellierung empfiehlt es sich, Protocol als eigenes Paket darzustellen und die Inhalte in einem eigenen Diagramm zu beschreiben.

Vermutlich fällt auch noch die dargestellte 1 an der Kante zwischen Benutzer und Protocol auf. Wie zuvor gesagt, eine leere Kante impliziert 1, was zum anderen jedoch nicht, dass die 1 nicht explizit aufgeführt sein darf. Der Grund, wieso ich hier die 1 modelliert habe: das verwendete Programm bot eine vorgefertigte 1:n Kante an und diese wurde einfach übernommen ;-)

Notizen an mich selbst
Bei einer Überarbeitung des Modells darauf achten, Sprachkonsistenz beizubehalten (bezieht sich hier auf die Ausdrücke Benutzer und Content_Erzeuger)