Im Rahmen einer Forschungsarbeit haben Fabian Schmengler und Dr. Nikolai Krambrock typische Probleme bei der Entwicklung von Magento-Modulen analysiert. Zu der Forschungsarbeit gibt es eine Übersicht und Erklärung. Die Ergebnisse wurden unter anderem auf der Meet Magento 2013 vorgestellt. Nun gibt es die komplette Forschungsarbeit mit dem Titel „Ein Konstruktionsansatz zur Anwendungsentwicklung mit unstabilen PHP-Frameworks“ zum Download. Die Arbeit geht weit über den Vortrag hinaus und liefert konkrete Best Practices für die Entwicklung mit Magento.

Hier noch das erste Kapitel als HTML, um einen Überblick zu vermitteln:

1.1 Motivation

Die Entwicklung und Anpassung von Web-Applikationen mit Anwendungsframeworks stellt andere Aufgaben an den Entwicklungsprozess, insbesondere an die Qualitätssicherung, als klassische Software-Entwicklung. Dies trifft umso mehr auf unstabile PHP-Frameworks wie Magento, einem mehr als 1 Million Zeilen PHP umfassenden E-Commerce Framework, zu.

Obwohl Magento in professionellem Rahmen eingesetzt wird, gibt es wenige gemeinhin anerkannte Richtlinien für den Entwicklungsprozess. Die Verwendung von in anderen Bereichen etablierten Prozessmodellen scheitert in der Praxis. Dieser Missstand soll in der vorliegenden Arbeit analysiert und –soweit möglich– verbessert werden.

1.2 Kontext

Der Kontext der Untersuchung hat folgende charakteristische Aspekte, die in Kapitel 3 näher erläutert werden:

PHP Frameworks PHP Frameworks erben die Unzulänglichkeiten der Sprache selbst und kaschieren sie im besten Fall. Häufig kommt noch mangelhafte Architektur hinzu. Wir werden hier Ursachen für typische Probleme ausfindig machen und Möglichkeiten suchen, diese zu umgehen.

Modulare Anpassung Bei der Arbeit mit Domain-spezifischen Anwendungs-Frameworks spielt die Hot Spot basierte Entwicklung (Hooks, Events, …) eine zentrale Rolle, mit der die Anwendung modular erweitert oder angepasst wird. Der Entwicklungsprozess unterscheidet sich hier von der Entwicklung einer Anwendung von Grund auf. Die sich daraus neu ergebenden Aufgaben an Entwurf und Implementierung sind Schwerpunkte dieser Arbeit.

E-Commerce Der E-Commerce Bereich ist besonders sensibel in Hinblick auf Softwarequalität, da Ausfälle und Fehlfunktionen sich direkt spürbar auf den Umsatz des Betreibers auswirken können. Die Ergebnisse dieser Arbeit sollen zwar unabhängig von der Anwendungsdomäne verwendet werden können, da die Untersuchung sich aber auf Magento beschränkt, muss darauf geachtet werden, dass entsprechende Besonderheiten hervorgehoben und bei der Generalisierung berücksichtigt werden.

1.3 Ziel der Arbeit

Es soll zunächst gezeigt werden, dass es in diesem Kontext verbreitete Probleme beim Entwicklungsprozess gibt, deren Ursache in Produkt und Technologie selbst liegen und dass klassische Prozessmodelle und Methoden der Softwaretechnik ohne Anpassung nicht sinnvoll anwendbar sind. Typische Projekte auf der Grundlage solcher Frameworks beinhalten viele kleine Anpassungen an der Basis-Anwendung sowie die Integration von verschiedenen Drittanbieter-Modulen. So ist ein Design mit UML-Klassendiagrammen für einzelne Klassen wenig sinnvoll und für das ganze System, inklusive Framework-Klassen, unverhältnismäßig im Aufwand.

Ziel dieser Arbeit ist es, verbreitete Probleme herauszuarbeiten und die Anwendbarkeit, sowie Aufwand/Nutzen von bekannten Methoden und Tools zu untersuchen. Aus der Auswertung soll eine Empfehlung von Prozessen, Methoden, Techniken und Werkzeugen (im Folgenden Best Practice Katalog) erarbeitet und in der Praxis getestet werden. Dabei sollen Elemente von etablierten Prozessmodellen genutzt und ggf. angepasst werden. Es wird kein neues Prozessmodell entworfen, sondern nur einzelne Empfehlungen ausgesprochen, die jedoch als Basis für ein angepasstes Prozessmodell dienen können.