Diplomarbeit: MVC Framework für PHP

Enigma

Captain Pro
Registriert
Apr. 2004
Beiträge
4.007
Das Studium geht in die letzten Züge und ich bin gerade daran, ein Thema für die Dilomarbeit auszuarbeiten.
Mir schwebt vor ein MVC-Framework für PHP zu entwickeln, welches angelehnt an Ruby dem Programmierer möglichst viel 0815-Arbeit abnimmt, aber gleichzeitig das klassische Spaghetti-Programmieren mit einer sauberen Anwendungsstruktur verhindert.

Zusätzlich soll das Framework eher für den Business-Bereich entwickelt werden und weniger für private Homepages. Also z.B. XML-Schnittstellen für sämtliche Business-Objekte mit Fokus auf verteilte Anwendungen oder zentrale Benutzerauthentifikation stehen bei der Entwicklung im Vordergrund.

Da ich das Projekt kaum alleine stämmen kann, möchte ich einfach mal fragen: Wer hat Zeit und Lust so ein Projekt zu stämmen?
Als Voraussetzung würde ich mindestens 2 Jahre Praxiserfahrung mit PHP mit gewachsenen Anwendungen erwarten, um einfach abschätzen zu können was in diesem Projekt angestrebt wird.
 
Was studierst Du denn, dass Du im Team Deine Diplomarbeit machen darfst?
Eigentlich brauchst Du doch auch erstmal ein paar wesentliche Dinge, die Deine Diplomarbeit rechtfertigen.
Also der typische Gang ist doch:
Was? - "Ich habe ... gemacht".
Warum? - "Weil es das so noch nicht gab."
Was ist daran neu? - "..."
Ich weiß nicht, wie Deine Arbeit gewichtet ist, aber für gewöhnlich brauchst Du ja einen ordentlichen Theorieteil.
Selbst bei einer Softwarearbeit, die viel Gewicht auf die Implementierung legt,
musst Du im Bereich Analyse und Konzept einiges bieten.
Ein MVC Framework scheint mir als Aufgabe viel zu groß für eine Diplomarbeit.
Man sucht sich doch eher spezielle Inhalte raus, und konzentriert sich auf besondere Sachen,
die dann z.B. in ein bestehendes Framework integriert werden.
Die Analyse und das Aufbauen auf vorhandenen Technologien ist ja auch ein essentieller
Bestandteil der Diplomarbeit und des Wissenschaftlichen Arbeitens.
Du scheinst nicht von vornherein auf irgendwas sehr stark fixiert zu sein.
Die Freiheit solltest Du nutzen. DA mit einem Thema, dass einem selbst sehr "am Herzen liegt" bedeutet wesentlich mehr Stress.
Wenn man etwas distanzierter rangeht, fällt es wesentlich leichter sich auf die Arbeit zu konzentrieren.
Klar sollte man am Thema Interesse haben (hat man aber eh, da einem sonst meist die Kompetenz fehlt), aber es ineressiert später keine Sau, wie viel Spaß Dir das Thema
gemacht hat und ob das genau Deine Sache war.
Eine gewisse "professionelle Distanz" kann sehr hilfreich sein.
(Hab die DA grad hinter mir, da sind die Eindrücke noch recht frisch)

mfG

-- -- muckelzwerg
 
Was studierst Du denn, dass Du im Team Deine Diplomarbeit machen darfst?
Angewandte Informatik. Auf die Idee gekommen bin ich auch erst, als ich sah dass viele Abschlussarbeiten für 2 oder sogar 4 Personen ausgeschrieben sind.

Ich weis, dass das Projekt für mich alleine viel zu groß ist - darum auch der Ansatz es im Team zu machen. Des weiteren soll es auch kein Projekt für die Tonne sein, sondern ein Projekt mit dem ich jeden Tag weiterarbeiten werde. Da ich Jahrelang sehr zufrieden mit PHP gearbeitet hab, will ich nicht gleich auf den Ruby-Zug aufspringen.

Das Framework soll als Basis für weitere PHP Applikationen in der Firma dienen. Also kommen viele PHP-MVC-Projekte (die eventuell nur eintagsfliegen sind) für mich nicht in Frage. Vor allem im Bezug auf Dokumentation lassen viele MVC sehr zu wünschen übrig.
Am ehesten kommt CakePHP in Frage (trotz der scheiss Doku), jedoch ist das Projekt noch nicht weit genug. Viele essentielle Features sind erst in einer Alpha-Version verfügbar.

Ich muss mir PHP on TRAX nochmal ankucken was sich da das letzte halbe Jahr getan hat, aber so weit ich weis gibt es sonst kaum Frameworks die als Lightwight zu bezeichnen sind.
Molloche wie Symphony will ich nicht, trotzdem sollen sie viele Must-Have-Features (wie z.B: helper, caching, i18n, pagination, hooks, ...) sauber im Konzept integriert haben.


Die restlichen Punkte (Was, Warum und Wieso) muss ich mir nochmal durch den Kopf gehen lassen, ob das Thema doch nicht zu ... allgemein ist. Ich habe das Innovative eher im Zusammenspiel der Komponenten gesehen. Viele Bekannten sachen so Kombiniert, dass sie als ein großes Werkzeug funktionieren und zusammenspielen. Lass mich nochmal ne Nacht drüber schlafen ;) Denn der Post war eventuell nur der Erste Hirnfurz in einer etwas längeren Prozesskette.


Edit: http://znf.zeronotice.com/
 
Zuletzt bearbeitet:
Wenn da eine Firma dahintersteht ist das auf jeden Fall gut.
Egal ob da viel Unterstützung kommt, oder nicht.
Ein Freund hat gerade seine DA gemacht, und "lediglich" einen Leveleditor für eine
Spielefirma gebaut.
Das Teil wurde dann aber gleich Produktiv eingesetzt, und es enthält einige Neuerungen,
die es so noch nicht gab.
Das reicht vollkommen um die Arbeit zu "rechtfertigen".
Du machst es Dir nur sehr schwer, wenn Du ein Projekt verfolgst, dass Du für Dich unbedungt
haben willst.
Du bist gebundener, hängst mehr vom Erfolg ab, machst zu viel "uninteressante Fingerübungen", und bist u.U. nicht kritisch genug oder zu parteiisch.
Deine DA beginnt typischerweise mit einer Einleitung, da erklärst Du worum es geht.

"Im Bereich ... ist heute ... entscheidend, ...
dabei ist ... eine wichtige Komponente ...
überwiegend eingesetzt ... viel verwendet für ...
Dabei auftretendes Problem ... Lösungen sind ... diese Mangeln an ...
Mit dieser Arbeit soll eine Lösung in Form einer einer ...-Software entwickelt werden.
Das System soll ... bieten und als ... arbeiten.
Gewinn gegenüber bisherigen Lösungen sollte sein ...
... blablabla ... Zielgruppe/Einsatzbereich ... blablabla

Das war die Motivation. Also warum da Bedarf besteht, und was Du verbesserst, wenn
Dein Projekt funktioniert.
Das sollte nachzuvollziehen sein. Es sollten potentielle Anwender und/oder Einsatzbereiche existieren.
Deine Prognosen, welchen Einfluss das Projekt haben kann, wenn es erfolgreich ist,
müssen auch verständlich sein.
Danach kommt typischerweise eine Ausrichtung der Arbeit, wo Du beschreibst auf was Du Dich
konzentrieren willst.
Hier ist wichtig, dass Du genug ausschließt. Sonst wird die Arbeit zu allgemein, und Du nimmst Dir zu viel vor.
Du sollst ja keine Softwarefirma ersetzen, sondern qualitative Arbeit liefern.
Im Anschluss kommt dann meist eine Zielsetzung. Also was genau in den 6(?) Monaten erreicht werden soll.
Wenn Du durch die Einleitung gut durchkommst, dann ist alles Weitere nur noch "Arbeit".
Grundlagen finden sich eigentlich immer, Analysieren kannst Du als Informatiker,
und Proggen kannst Du das Teil eh, (hast Du Dir ja ausgesucht).
Dann kommt nochmal son Abriss bei der Evaluation und der Zusammenfassung, und
Du hast es hinter Dir.

Vielleicht hilft Dir das ein Wenig bei der Themensuche.

Gruß

-- -- muckelzwerg
 
Zurück
Oben