Kurz und knapp: Strukturelle Darstellung der Anforderungsanalyse

Ggf. erst speichern, da das Bild sehr groß ist

Die letzten Monate war ich beständig mit neuen Softwareprojekten und der zugehörigen Anforderungsanalyse beschäftigt. Zudem lief im Rahmen meines Studiums parallel dazu eine Vorlesung mit eben diesem Thema. Nun ist eine Mischung aus Theorie und persönlicher Erfahrung eine gute Basis, leider geht mit der Zeit aber immer wieder gesammeltes Wissen verloren. Ich habe mich daher heute mal bemüht, die für mich wesentlichen Punkte zusammenzutragen. Die Übersichten dienen als Orientierung und können dementsprechend als grobe Richtlinie im Requirements-Engineering genutzt werden.

J-Query Mobile: Nicht nur fürs Smartphone

J-Query Mobile auf großen Bildschirmen

Ich möchte hier kurz über meine ersten Erfahrungen mit J-Query Mobile berichten. Zunächst war ich skeptisch: Für das Tweedback-Projekt benötigten wir eine Webgrundlage, die sowohl auf mobilen Geräten wie auch auf großen Rechnern brauchbar ist. Auf dem Smartphone sehen die Ergebnisse klasse aus – das war schon vorher klar. Für Geräte mit größeren Auflösungen kann man dann einfach modifizieren und so gute Ergebnisse erzielen.

Der kritische Punkt der nutzerorientierten Anforderungsanalyse

Während wir heute den ersten Prototypen unseres Tweedback-Projekts den Projektbetreuern und somit auch Endkunden den ersten Prototypen vorgestellt haben, ist mir ein interessantes Problem aufgefallen, das in der Anforderungsanalyse zwar immer betont, aber oft nicht beachtet wird: Das „Analysis-Synthesis-Bridge-Model“ beschreibt vier Punkte, die es zu beachten gilt, wenn man den Nutzer des Produktes in den Mittelpunkt stellen will. Während die ersten drei noch vergleichsweise intuitiv und selbstverständlich sind, hat man den vierten in Termin- und Fertigstellungsdruck schnell vergessen.

Factorys sinnvoll für kurzen Code nutzen

Heute möchte ich einmal eine andere Möglichkeit aufzeigen, wie man Factorys sinnvoll nutzen kann: Um schnell und mit geringem Code-Aufwand komplexe Objekte zu erzeugen und zu konfigurieren. Ich hoffe, dass ich keinem Anhänger der „Gang of Four“ auf die Füße trete, hat dieser Ansatz doch vergleichsweise wenig mit der „Factory Method“ oder „Abstract Factory“ zu tun.

PHP Coding-Guidelines im Vergleich

Eine wesentliche Sache, die mich an PHP stört, ist das stark zerklüftete Bild, welches die abertausenden Code-Schnipsel im Netz abgeben. Ich weiß nicht warum, leider aber konnte sich nie eine einheitliche Formatierung für PHP durchsetzen. Während es bei anderen Sprachen wir Java kaum eine Diskussion gibt und Editoren wie Eclipse sogar per Shortcut Strg+Shift+f alles uniformieren, wirkt PHP wie eine Mischung aus allem, was es so gibt: Als Defacto-Standard für Webserver hat jeder Entwickler dank der mangelnden Vorgaben die Schreibweisen seiner Lieblingssprache übernommen. Um zumindest für sich selbst eine einheitliche Lösung zu finden, habe hier mal drei populäre Beispiele zusammengetragen. Für eine Entscheidung sollte dies reichen, detailliertere Beschreibungen findet man anschließend in den Guidelines des jeweiligen Projektes.

Von Gettern, Settern und öffentlichen Attributen

Eine zentrale Eigenschaft der Objektorientierung ist die Unterscheidung zwischen public und private, öffentlich und privat. Diese Eigenschaften beschreiben die Sichtbarkeit von Attributen und Methoden einer Klasse. Insbesondere im Java-Umfeld wird diese Möglichkeit jedoch recht konsequent ignoriert: Öffentliche Attribute sind hier in aller Regel trotzdem privat. Dafür kann man mit einer Methode getAttribut auf ein Attribut… Von Gettern, Settern und öffentlichen Attributen weiterlesen

HTML-Editor in WordPress mit Zen-Coding verbessern

Eigentlich will ich gegen den WYSIWYG-Editor von WordPress gar nichts sagen: Auch Leute ohne Ahnung von HTML & Co. können so schnell und einfach ihre Blog-Einträge schreiben. Auch ich nutze ihn gern, solange es nur ums Fettmachen und Setzen von Überschriften geht. Wenn man aber ein paar Klassen, Definitionslisten oder Tabellen unterbringen will, ist der… HTML-Editor in WordPress mit Zen-Coding verbessern weiterlesen

Java-Script-Drag-and-Drop auf Geräten mit Touchscreen

Manchmal ist man eben doch zu voreilig: Für ein Uniprojekt planten und versprachen wir schnell und ohne weitere Recherche eine Web-Applikation, die mittels „Drag-and-Drop“ gesteuert werden kann. An sich keine große Herausforderung: Mit Frameworks wie J-Query UI ist der wesentliche Teil der Arbeit schon erledigt, bevor man anfängt. Dass das alles nebenbei auf einem Tablet-PC… Java-Script-Drag-and-Drop auf Geräten mit Touchscreen weiterlesen

User-Agent-Erkennungsdienst: Die nächste Stufe

In meinen Ausführungen über einen Web-Dienst zur Erkennung von Bots und Browsern fehlt noch ein wesentlicher Teil: Die Verarbeitung großer Anfragen. Will man etwa die Besucherzusammensetzung eines ganzen Monats untersuchen, kommen auch bei mittleren Webprojekten schnell deutlich mehr als 10 000 Anfragen zusammen. Wird jede davon einzeln über netzwerktransparent verschickt, muss man sich schnell von… User-Agent-Erkennungsdienst: Die nächste Stufe weiterlesen

Browser und Bots am User-Agent-String erkennen

Testergebnisse

Wir haben bei MGVmedia so einige Webprojekte angehäuft. Viele von denen versuchen herauszufinden, wer oder was ein Besucher ist: Bot oder Browser? Welcher genau? Welche Version? Welches Betriebssystem? Vor allem bei Besucherstatistiken muss man es genau wissen. Aus dem User-Agent-String des HTTP-Headers lässt sich das feststellen. Da aber jede Software selbst entscheidet, was genau dort… Browser und Bots am User-Agent-String erkennen weiterlesen