way2go Geschrieben 21. Oktober Geschrieben 21. Oktober (bearbeitet) Hallo zusammen, gerne würde ich nach eurer Einschätzung zu meinem Projektantrag fragen, den ich als Azubi (in AE) bereits einmal überarbeitet habe und der jetzt zum zweiten Mal nicht genehmigt wurde. Die Begründung der IHK war bei der ersten Ablehnung: Zitat "Leider lässt Ihre Projektbeschreibung den Umfang Ihrer Arbeit nicht erkennen. Bitte beschreiben Sie Ihr Projekt detailierter." Daraufhin habe ich das Projekt mit noch mehr Beispielen erläutert. Die zweite Rückmeldung der IHK ist jetzt: Zitat "Der geplante Umfang Ihrer Umsetzung ist so nicht ausreichend für die Genehmigung eines Projektantrags. Es entsteht der Eindruck, dass die eigentliche Datenmigration sich ausschließlich auf den Übertrag von (wenigen) Daten aus zwei Tabellen beschränkt. Erweitern Sie bitte den Projektumfang oder beschreiben sie detaillierter die ggf. vorhandene Komplexität in Ihrer Umsetzung." Das hier ist mein aktueller Antrag. Was denkt ihr? Zitat Thema der Projektarbeit: Zwischen Entwicklungs-, Test- und Produktivsystem – Entwicklung von Funktionen zur Übernahme von Autorisierungen innerhalb verschiedener Umgebungen des [Name der Software] Clients Ausgangssituation: [anonymisiert, ausführliche Beschreibung, welche Kunden die Software nutzen, wozu sie eingesetzt wird (mit Beispielen), welche Daten damit verwaltet werden, in welcher Form die Software zur Verfügung gestellt wird] Die Software [Name der Software] enthält eine umfangreiche Benutzerverwaltung. Mithilfe verschiedener Benutzergruppen wird einerseits gesteuert, welche Informationen dem jeweiligen Nutzer dieser Gruppe angezeigt werden und andererseits, welche Funktionen die Benutzergruppe ausführen kann. Das bedeutet, dass die Abteilung [x] keine Einsicht auf die Daten der Abteilung [y] haben darf. Die Festlegungen dazu werden zum einen in Datenbanken gespeichert, zum anderen im Dateisystem im XML-Format. Die Festlegungen, wer welche Informationen einsehen und welche Funktionalitäten ausführen kann, werden als Autorisierungsregeln oder einfach Autorisierungen bezeichnet. Autorisierungen bezeichnen also die Berechtigungen, mit denen der Zugriff auf Daten und Funktionen gesteuert wird. Da die Software kontinuierlich weiterentwickelt wird und Kunden Änderungen an der Software vorher testen möchten, gibt es verschiedene Umgebungen der Software. Zu nennen ist hier die Entwicklungsumgebung, die Testumgebung und die Produktivumgebung. Die Entwicklungsumgebung ist für Entwickler gedacht, die die Anforderungen der Kunden umsetzen. In der Testumgebung testet der Kunde dann die Änderungen, bevor er sie in sein Produktivsystem übernimmt. Insbesondere zwischen Test- und Produktivumgebung besteht die Notwendigkeit, die Daten auf dem gleichen Stand zu halten. Aber auch zwischen Entwicklungs- und Testsystem müssen beispielsweise Autorisierungsregeln für Funktionen verlässlich übertragen werden können, damit die Funktion anschließend auch angezeigt und getestet werden kann. Derzeit ist es nicht möglich, diese Informationen zwischen den verschiedenen Systemen komfortabel zu übertragen. Die Erzeugung der Benutzergruppen und die Einrichtung der Autorisierungen muss in jedem der drei Systeme immer wieder neu erfolgen und geschieht derzeit noch manuell. Dieser Umstand bindet viele Ressourcen im Unternehmen und kostet Zeit. Die Notwendigkeit ganze Datenbanken auszutauschen und Konfigurationsdateien oder auch nur Teile von Konfigurationsdateien manuell von einem Ort an den anderen zu kopieren, ist relativ aufwendig. Im Rahmen des IHK-Projekts sollen deshalb Funktionen für die Clientversion der Software in C# entwickelt werden, die es ermöglichen, Autorisierungsregeln für Benutzergruppen innerhalb von Entwicklungs-, Test- und Produktivumgebungen zu übertragen. Projektziel: Ziel meiner Arbeit ist die Software um eine Kopierfunktionalität zu erweitern, die bei Bedarf genutzt werden kann. Der Kopiermechanismus soll Daten von System A nach System B übertragen können und wird in C# implementiert. Die Daten beschränken sich auf Benutzergruppen (auch Rollen genannt) und ihre jeweilige Autorisierungsregeln (welche Funktionen sie ausführen und was sie auf dem Bildschirm sehen können). Dazu implementiere ich die eigentliche Exportfunktionalität, die die jeweiligen Daten an einen externen Speicherort kopiert bzw. abspeichert, und eine Importfunktionalität, die die Daten aus dem externen Speicherort einliest und in das Zielsystem an die richtige Stelle kopiert. Außerdem erstelle ich neben der eigentlichen Export- und Importfunktion zwei graphische Benutzeroberflächen, die die jeweilige Funktionalität konfigurierbar machen. Die graphischen Benutzeroberflächen werden in WPF implementiert, hierfür wird maßgeblich XAML verwendet. Die Benutzeroberfläche für den Export soll auf das Wesentliche reduziert sein, einfach zu bedienen sein und sinnvoll voreingestellte Default-Werte darüber enthalten, welche Autorisierungen für welche Benutzergruppen exportiert werden sollen. Die Import-Oberfläche soll einen Ordner-Auswahldialog sowie voreingestellte Optionen darüber beinhalten, was wiederum importiert werden soll. Mit der neuen Export- und Importfunktion sollen Benutzergruppen und Autorisierungen schnell zwischen den genannten Systemen übertragen werden können. Zeitplanung: Grobplanung: Phase Zeit in Stunden Analyse 10 Entwurf 10 Implementierung 30 Tests und Abnahme 10 Dokumentation 20 Die Anforderungen an das Projekt sind überwiegend spezifiziert. Die Umsetzung des Projektes orientiert sich grundsätzlich an den Phasen des Wasserfallmodells. Da regelmäßig Rücksprache mit den Anwendern gehalten werden soll und iterative Anwendertests bereits in der Implementierungsphase durchgeführt werden, kann die Testphase und die Abnahme zeitlich gekürzt werden. Feinplanung: Analysephase 10 h • Durchführen der Ist-Analyse 2 h • Durchführen der Wirtschaftlichkeitsanalyse 3 h • Durchführen der Soll-Analyse und Erstellung eines Anwendungsfalldiagramms 2 h • Erstellen eines Lastenhefts 3 h Entwurfsphase 10 h • Entwurf einer Benutzeroberfläche (Mock-Up) 1 h • Planung der Architektur mit Komponentendiagramm und Klassendiagramm 6 h • Erstellen eines Pflichtenhefts 3 h Implementierungsphase 30 h • Vorbereitung der drei Test-Umgebungen 9 h • Implementierung der Klassen und Funktionen 15 h • Implementierung der Oberfläche 6 h Tests und Abnahme 10 h • Erstellen von manuellen Tests 4 h • Code-Review und Fehlerbehebung 4 h • Abnahme und Deployment der Software 2 h Dokumentation 20 h • Erstellen der Projektdokumentation 15 h • Dokumentation der Benutzung auf der firmeninternen Plattform 5 h Präsentationsmittel: Laptop Beamer Digitale Präsentation Irgendwie habe ich das Gefühl, dass der Prüfungsausschuss den Projektantrag nicht richtig gelesen oder verstanden hat. Das Datenmodell der Benutzerverwaltung ist ziemlich komplex und besteht aus vielen Tabellen. Die Autorisierungsdateien im XML-Format liegen jeweils einzeln für unterschiedliche Module der Software vor und müssen vorher in ihrer Struktur und ihrem Inhalt analysiert werden, um nur relevante Teile von ihnen zu verarbeiten. Es geht eben nicht nur um zwei Tabellen. Die Daten können nicht einfach komplett ersetzt werden, weil der Kunde auch mit ihnen arbeitet und sie ggf. verändert. Zudem gibt es durchaus verschiedene Lösungsansätze um das Projektziel einer konfliktfreien Datenmigration zu erreichen, z. B. Protokollierung aller Arbeitsschritte in Logfiles und deren Abgleich SQL-Skripte und Filecopy-Skripte, die die individuelle Projektkonfiguration berücksichtigen Excel als Speicherlösung zum Ein- und Auslesen der Daten Entwicklung einer eigenen Datei- und Ordnerstruktur mit eigenem Dateiformat für den Im- und Export Soll ich diese anderen technischen Optionen auch beschreiben? Soll ich mehr auf die Konfliktbehandlung bei der Datenmigration eingehen? Oder ist dieses Projekt einfach nicht für eine Projektarbeit geeignet? Bin für jeden Hinweis dankbar 🙂 Bearbeitet 21. Oktober von mapr Zitieren
Brapchu Geschrieben 21. Oktober Geschrieben 21. Oktober Sorry aber ein Programm zu schreiben das Daten aus Datenbank A nach Datanbank B via XML File in einem Ordner kopiert ist jetzt wirklich zu trivial. Das lese ich aus deinem Antrag. vor 41 Minuten schrieb way2go: Die Autorisierungsdateien im XML-Format liegen jeweils einzeln für unterschiedliche Module der Software vor und müssen vorher in ihrer Struktur und ihrem Inhalt analysiert werden, um nur relevante Teile von ihnen zu verarbeiten. Es geht eben nicht nur um zwei Tabellen. Die Daten können nicht einfach komplett ersetzt werden, weil der Kunde auch mit ihnen arbeitet und sie ggf. verändert. Zudem gibt es durchaus verschiedene Lösungsansätze um das Projektziel einer konfliktfreien Datenmigration zu erreichen, z. B. Das hättest du von Anfang an im Antrag so erwähnen sollen. Sie sagen dir nämlich ziemlich deutlich dass das was in deinem Antrag steht nicht komplex genug ist. Aeropsia reagierte darauf 1 Zitieren
R1I9C8H5I Geschrieben 21. Oktober Geschrieben 21. Oktober Hallo way2go, es ist zwar schon etwas länger her, dass ich selber meine Prüfung zum FIAE gemacht habe... und mittlerweile bin ich Software-Architekt, aber ich denke dass dies kein Hinderungsgrund ist. 🙂 (Folgendes ist nich Böse gemeint, aber du wolltest ja eine klare Kritik bekommenn... 😉) An deiner Stelle würde ich den Antrag in der Tat nochmal komplett überarbeiten, damit er durchgehen kann. Aus fachlicher Sicht fehlen mir in den Abschnitten "Ausgangssituation" und "Projektziel" die "fachlichen Spitzen", d.h. Worauf kommt es wirklich an? Aus meiner Sicht solltest du in der "Ausgangssituation" den Sachverhalt beider Systeme - nach Möglichkeit - 1:1 wiedergeben. Also... wie sieht das Thema in System A und wie sieht das Thema System B aus. Eventuell würde ich sogar noch 2-3 größere Herausforderungen nennen, die aktuell sind... also: Was kann aktuell nicht gemacht werden? Was ist aktuell möglich / nicht möglich? Was ist das Kernproblem? Usw. Im Abschnitt "Projektziel" solltest du ggf. unter Bezug auf den vorangegangenen Abschnitt klipp und klar erkennen lassen, worin die einzelnen Herausforderungen/Höhepunkte dieser Projektarbeit sind... also, z.B: die Transformation der Daten von der einen Darstellung in die andere... usw. Ein Gruß, viel Erfolg und gutes Gelingen. 👍 Zitieren
SR2021 Geschrieben 21. Oktober Geschrieben 21. Oktober Also, für mich hört es sich genauso an wie für den PA, Benutzer und deren Rollen sollen von A nach B kopiert werden. That’s it. Du hast zwar endlos viel Text verfasst, aber wo das tatsächliche Problem liegt und was dein Lösungsansatz ist wird mir nicht klar. Zitieren
way2go Geschrieben 21. Oktober Autor Geschrieben 21. Oktober Danke für eure Rückmeldungen. Das Problem ist, dass unterschiedliche Datenbestände abgeglichen werden müssen und es ein paar Randbedingungen dafür gibt, welche Daten übernommen werden sollen und welche nicht. Technisch halt auf zwei Ebenen, einmal XML-Dateien (reine Konfiguration der Daten die sichtbar sein sollen in der Oberfläche) und die eigentlichen SQL-Daten, die per se nicht jeder sehen kann (und dann per Konfiguration auch nicht sichtbar geschaltet werden können) wegen der Benutzerverwaltung. Wahrscheinlich hätte ich das schon zu Beginn beim ersten Antrag klarer schreiben sollen. Die Randbedingungen, also welche Daten u. U nicht übernommen werden können, weil es zu Konflikten kommt, ist schon eine technische Hürde an sich. Zitieren
tkreutz2 Geschrieben 22. Oktober Geschrieben 22. Oktober (bearbeitet) vor 11 Stunden schrieb way2go: Die Randbedingungen, also welche Daten u. U nicht übernommen werden können, weil es zu Konflikten kommt, ist schon eine technische Hürde an sich. Ich fürchte, für Außenstehende wird es dann noch komplizierter, sich in das Projekt rein zu denken. Bei mir leuchten bei solchen Sachverhalten immer drei Fragezeichen auf, denn es scheint ja dann kein sauberes Datenbankdesign (bzw. Design der Umgebungen) zu geben (was ja eher die Aufgabe des DB Admins, als die eines Anwendungsentwicklers gewesen wäre). Also klonen eines Systems in der heutigen Zeit der VMs ist genau ein Knopfdruck und dann hat man 1:1 eine Kopie vom Produktivsystem, die man als Test- oder Entwicklungssystem nutzen kann einschl. sämtlicher Parameter. Wenn das bei Euch anders ist, wirft das auch schon Fragen auf. Und wenn Produktiv- Entwicklungs- und Testsystem das nicht ermöglichen, ist es einfach nicht sauber aufgesetzt. Tatsächlich liest sich für mich (aus dem Projektantrag) das auch so, als würde die Aufgabenstellung lediglich aus der Kopie von drei Tabellen bestehen. Der PA kann ja nur bewerten, was da steht und der Komplexitätsgrad geht aus dem Antrag nicht hervor. Außerdem stellt sich die Frage, was an der Aufgabenstellung durch einen Datenbankadmin / Sysadmin nicht alleine gelöst werden könnte und tatsächlich einen Anwendungsentwickler erfordert. Es liest sich einfach nach einer ziemlich abenteuerlichen Bastellösung, als nach einem sauberen Projekt, was jeder auch einfach nachvollziehen kann. (Nicht Böse gemeint). Viel Glück dann dennoch ! Bearbeitet 22. Oktober von tkreutz2 Zitieren
Empfohlene Beiträge
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.