Zum Inhalt springen

Projektidee FIAE: Codegenerator


Saheeda

Empfohlene Beiträge

Hallo,

was haltet ihr von folgender Idee für ein Abschlussprojekt als FIAE?

(Es ist erstmal nur ne Idee, mit dem Antrag tu ich mich grad noch bisschen schwer, da meine IHK keine Details online hat, was alles in den Antrag hinein muss.)

------------------------------

In der xxx werden bei einigen Projekten die graphischen Benutzeroberflächen (GUIs) durch JSPs mithilfe von Java EE realisiert. Derzeit werden sowohl der Controller, als auch die zugehörigen Templates für die Operationen Create, Read, Update und Delete (CRUD) händisch erstellt.

Das initiale Erstellen eines CRUD-Controllers mit Templates für eine Entität gestaltet sich dabei als sehr repetitiv, da die Grundstruktur der Templates zwischen den einzelnen Entitäten nur geringfügig abweicht.

Ziel dieses Projektes ist, einen Generator zu entwickeln, welcher das initiale Erstellen der Templates und des Controllers für die einzelnen Entitäten eines Projektes übernimmt.

Dabei ist zu beachten:

-          Integration via Maven in bestehende Projekte muss möglich sein

-         Kompatibilität mit Spring VERSION XXX

-         Kompatibilität mit Java 7

-         Generator sollte selbstständig laufen / ohne manuelles Triggern

-         Änderungen der Entitäten in bisherigen Projekten, um sie generatorkompatibel zu machen, müssen so gering wie möglich sein.

-         Änderungen am Quellcode durch den Programmierer dürfen nicht überschrieben werden

-         Generator muss Möglichkeiten zur entitätsbezogenen Konfiguration durch den Programmierer bieten

------------------------

Was denkt ihr? Könnte ich daraus ein Abschlussprojekt machen, oder wird die IHK das ablehnen?

 

 

Bearbeitet von Saheeda
Link zu diesem Kommentar
Auf anderen Seiten teilen

Vom Anspruch her ist das auf jeden Fall ok. Ich würde allerdings den Umfang ein wenig einschränken, denn ich glaube - wie stefan auch -, dass das nicht in 70 Stunden komplett machbar ist. Von daher würde ich mich an deiner Stelle vielleicht auf ein Proof-of-Concept beschränken (vllt. nur ein Controller + Templates?).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich bin mir eben wegen des Umfangs eben nicht ganz sicher. Das Generieren von .jsp-Dateien dürfte nicht wesentlich anders funktionieren / komplizierter sein, als das von .java-Dateien. Ich denke, ich werde dort einiges wiederverwenden können. Nur der Controller oder nur die Templates kommen mir für rund eine Arbeitswoche irgendwie zu wenig vor. (Ich habe 70 Stunden, irgendwo hier im Forum habe ich gelesen, man sollte ungefähr die Hälfte der Zeit für Konzept + Doku rechnen, die andere Hälfte für die Implementierung).

Wenn ich den kompletten Antrag erstelle, muss ich ja eh eine grobe Zeitplanung mit ausarbeiten, spätestens dann merke ich denke ich, ob es funktionieren kann, oder nicht.

 

@arlegermi

Wie meinst du das? Ein Controller + 3 Templates (Create, Read und Update, für Delete gibts nur nen Button) je Entität ist ja der "volle" Umfang.

Ich würde das testweise für zwei-drei Entitäten einbauen, alles generieren lassen und über entsprechende Screenshots beweisen, dass es geht, bzw. was der Generator daraus macht.

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich denke vom Umfang her sollte das schon passen.
 
Ich habe damals etwas relativ ähnliches gemacht, allerdings als IT-Kaufmann Projekt mit 35 Stunden :D

Jedem PA dürfte klar sein, dass solche Projekte niemals in 35 oder auch 70 Stunden bewältigt werden können. Offensichtlich schaut man da aber gerne drüber hinweg, sofern die offiziellen Zahlen in der Planung stimmen und auch das Berichtsheft konsistent ist ;-)

Zudem müsste man dir ja auch erst einmal nachweisen, dass länger daran gearbeitet worden ist --> Faktisch unmöglich, solange dein Unternehmen hinter dir steht und du dich nicht verplapperst...

Du hast aus meiner Sicht ein gutes Projekt, was schon auf den ersten Blick einen echten Mehrwert hat und aus der Realität stammt. Aus meiner (sehr beschränkten) Erfahrung ist allein das schon viel wert und die Arbeit wird in einem anderen Licht betrachtet, als die 0815 Arbeit mit Server-Deployment / Installationsorgie / ... als Thema.


Bzgl. dem realen Zeitaufwand solltest du vor allem die letzten Punkte nicht unterschätzen:

"Änderungen der Entitäten in bisherigen Projekten, um sie generatorkompatibel zu machen, müssen so gering wie möglich sein" und "Änderungen am Quellcode durch den Programmierer dürfen nicht überschrieben werden".

Da werden intensive Tests nötig, um sicherzustellen, dass die Altprojekte weiterhin funktionieren - und zwar in allen erdenklichen Konstellationen und auch wenn Programmier an unerwarteten Stellen eigene Änderungen vorgenommen haben o.Ä.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Stunden schrieb Saheeda:

Wie meinst du das? Ein Controller + 3 Templates (Create, Read und Update, für Delete gibts nur nen Button) je Entität ist ja der "volle" Umfang.

Sorry, hatte dich missverstanden. In dem Fall würde ich mich u.U. auf eine Teilfunktionalität beschränken, sprich: Mach etwas, das prinzipiell funktioniert, aber für den Produktiveinsatz noch Arbeit benötigt. Spontan würde mir da dein Punkt "manuelle Änderungen dürfen nicht überschrieben werden" ein. Das halte ich für etwas, das im ersten Wurf nicht zwingend da sein muss. Wäre halt doof, wenn du am Ende die Zeit dafür verbrätst, aber die Kernfunktionalität noch nicht implementiert ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hatte damals auch ein Projekt, dass niemals in 70 Stunden zu bewältigen gewesen wäre. Habe damals mit einem Prüfer meiner IHK darüber gesprochen.

Das Projekt wurde dann intern auf mehrere Leute aufgeteilt. Am Ende haben glaube ich 5 Entwickler + fachliche Kollegen daran gearbeitet. Da der Teil den ich gemacht habe, aber am Ende auch alleine einen Mehrwert hat, haben wir uns überlegt, den Teil quasi abzukapseln. Das hat wunderbar funktioniert. In der Doku und der Präsentation bin ich dann ganz kurz auf das Gesamtprojekt eingegangen und dann auf den Teil, den ich gemacht habe.

Ob sowas bei dir in Frage kommen würde, kann ich nicht abschätzen, da ich mich in deiner Materie zu wenig auskenne.

Aber vielleicht gehst du mal alles Schritt für Schritt durch und überlegst wie lange ein Schritt ca. dauert. Für den Antrag brauchst du ja eh einen Zeitaufwand. Anhand dessen kannst du vielleicht abschätzen ob es passt.

Und beim schätzen bitte den Puffer nicht vergessen! In der Praxis wird das auch mit berücksichtigt. Und ich glaube je nach Prüfer erwarten die das. Wie oft läuft ein Projekt schon wirklich nach Plan. Ich hatte z. B. einen Tag für die Berechtigungsprüfung eingerechnet. Habe aber im Laufe des Projektes festgestellt, dass die hinfällig ist, weil schon an andrer Stelle so geprüft wird, dass man ohne Berechtigung gar nicht bis zu meinem Teil runter kam. Das kam mir aber zu gute, da ich für die Tests und die Übergabe länger Zeit benötigt habe, als am Anfang veranschlagt. So konnte ich dann am Ende tatsächlich real auf meine 70 Stunden kommen (+ noch feinarbeit, etc. an der Doku.. wobei ich mir da wirklich sehr viel Mühe gegeben habe... habe sehr oft was geändert. Hat sich dann am Ende aber bezüglich der Note auf jeden Fall gelohnt).

 

Ich habe manchmal auch das Gefühl dass es sehr vom Antrag abhängt, ob ein Projekt überhaupt genehmigt wird. Mein Antrag wurde damals nach 10 Minuten genehmigt. Ein Kollege, der gemeinsam mit mir gelernt hat, hat fast 3 Wochen gewartet und wurde nicht genehmigt. Und das obwohl sein Thema laut einem befreundeten IHK Prüfer geeignet gewesen wäre.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe bei dem Projekt grad auch noch Probleme, einen wirklichen kaufmännischen Teil bzw. wirtschaftliche Entscheidungen zu finden.

Kaufmännisch:

- Kostenvergleich / Zeitvergleich händische Erstellung vs. Automatisiert

- Amortisierung

 

Entscheidungen:

Einiges ist allein schon dadurch vorgegeben, dass der Generator in die bisherigen Projekte integrierbar sein muss (Maven, Spring Version x, Java 7).

Ansonsten: Ich brauch ne geeignete Templatingsprache/Format, um den Code nicht per Hand / per StringBuilder zusammenzubauen.

Der Rest ist dann schon sehr konzeptionell: Wie baue ich den Generator auf? Wo/wie schaffe ich Konfigurationsmöglichkeiten für den Programmierer? Wie komme ich zur Compilezeit an die notwendigen Daten und erstelle daraus mein Template?

 

@Kelsier

Du sagtest, dein Projekt war ähnlich. Darf ich fragen, welche wirtschaftlichen Überlegungen bei dir mit eingeflossen sind?

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe an meinen Projekttitel ein "unter Berücksichtigung einer Kosten-Nutzen-Analyse" angehangen und diese dann auch durchgeführt. 

Ansonsten reine Konzeption und Implementierung.  Eigentlich war das eher ein FIAE Projekt, aber das haben die Azubis aus den Vorjahren ähnlich gehandhabt und bisher gab es da glücklicherweise nie Probleme. 

Die Analyse sah dann so aus,  dass ich drei Cases für die SOLL-Situation aufgestellt habe. Abhängig vom erreichten Automatisierungsgrad,  der offiziell erst im Projektverlauf bestimmt werden konnte,  da er abhängig von Schnittstellen war  welche im Rahmen des Projekts erst analysiert werden mussten.

Dann habe ich für die Cases die Standardkennzahlen berechnet + Amortisierung. Der Nutzen an sich war die eingesparten Zeit, welche über unsere Tagessätze quantifiziert werden konnte. 

Am Ende der Arbeit dann nochmal eine kurze Analyse auf Basis der im Projekt erreichten Ziele (entsprach dem Best Case). 

Bearbeitet von Kelsier
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...