Ulfmann Geschrieben 7. Februar 2011 Teilen Geschrieben 7. Februar 2011 Hallo, nun ist es auch für mich soweit. Ich hätte gern ein paar Meinungen zu folgendem Abschlussprojekt (IHK Berlin). Seid bitte gnädig in der Kritik, ist mein Erster :beagolisc Ausbildungsberuf: Fachinformatiker / Anwendungsentwicklung Thema: Entwicklung und Implementierung eines automatischen Kontrollmechanismus zur Feststellung von Sendertagen ohne Ausstrahlung Projektbeschreibung: Bei der geplanten Applikation handelt es sich um eine Java Anwendung, die über einen Cron täglich eine Prüfung durchführt und entsprechend reagiert. Als Backend ist eine Oracle Datenbank zu nutzen, in der bereits ein Schema existiert, welches als Grundlage für das Datenmodell dienen soll. Weiterhin wird eine hauseigene API eingebunden, um auf den Anwendungsfall spezialisierte Objekte erstellen zu können. Die Ergebnisse der Prüfung werden gespeichert und an Mitarbeiter gesendet, die Abläufe im Vertrieb steuern und gegebenenfalls auf dieses Defizit reagieren müssen. Projektumfeld: Die Firma XY pflegt sehr umfangreiche Datenbestände, die unter Anderem zahlreiche TV- und Radiosender, Sendertage und Ausstrahlungen beinhalten und miteinander in Beziehung bringen. Daraus werden im weiteren Produktionsablauf Programmdaten für Verlage und verschiedenste Großunternehmen generiert, welche einen vertraglich vereinbarten Vorlauf haben. Es müssen bis zum Ende des definierten Zeitraumes für jeden Tag alle Sender auf entsprechende Inhalte geprüft werden. Um diese zeitraubenden und mühsamen, manuellen Sucharbeiten abzulösen und sie in einen automatisierten, konfigurierbaren Mechanismus zu bringen, soll eine adäquate Lösung erstellt werden. Zeitplanung: Vorbereitung 7 Kick-Off Meeting 1,5 Soll-Ist-Vergleich 3,5 Analyse der Abhängigkeiten 2 Design & Implementierung 35 Sequenz-Diagramm und PAP / Wasserfallmodell 3 Programmierung 28 Einrichtung des Cronjob mit Emailversand 4 Test 12 Prüfung der Konfigurationen 4 Fehleranalyse und –behebung 8 Dokumentation 8 Artikel im firmeninternen Wiki erstellen 5 Abnahme 1 Gesamt 70 Ich selbt habe ein paar Vorbehalte, aber ich warte erstmal Meinungen ab. Ich bedanke mich schonmal. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 7. Februar 2011 Teilen Geschrieben 7. Februar 2011 Der Antrag ist in meinen Augen nicht klar formuliert. Ich kann mir nur grob vorstellen was Du machen willst. Der Zeitplan ist definitiv zu grob granuliert. Ich denke letztendlich wirst Du wohl auf Probleme aus der Kombinatorische Optimierung ? Wikipedia stoßen, wobei ich auf Grund des Antrages nicht abschätzen kann, wie tief Du damit Dich auseinander setzen müsstest, denn je nach Datenvolumen wären hier definitiv andere Algorithmen besser geeignet, also das ganze naiv zu programmieren Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ulfmann Geschrieben 7. Februar 2011 Autor Teilen Geschrieben 7. Februar 2011 Spontan sehe ich nur den Punkt "Programmierung" als verwendbar für eine feinere Aufgliederung. Den Rest empfinde ich als klare Arbeitsschritte, bei denen eine Verfeinerung nicht so richtig Sinn macht. Oder seh ich das zu oberflächlich? Zum Technischen bzw. was genau ich tue(n werde): Ich durchwühle nicht die komplette Datenbank, sondern grenze die für mich relevante Menge durch ein sog. Warnungsattribut ein (wenn gesetzt: mit ins Queryset, wenn nicht: uninteressant). Herzstück des Ganzen werden 2 (herkömmliche) verschachtelte Schleife sein, die die Objekte abarbeiten. D. h. die erste geht über die Menge der Objekte und die Zweite prüft die dafür definierten Sendertage. Wie lange sie dies tun hängt von dem besagten Vorlauf ab, da kommt dann eine Berechnung des Datumsbereiches und eine Berücksichtung von ein paar (wenigen) Sonderfällen, z. B. Regionalsender. Zusätzlich kann das Ganze mit verschiedenen Parametern (abweichender Connectstring, Detailausgabe an/aus, Hilfeseite) aufgerufen werden. Die Idee mit der kombinatorischen Optimierung geht hier schon viel zu weit. Es ist hinsichtlich der Programmierung im Großen und Ganzen auch nicht sehr anspruchsvoll (damit meine größte Sorge), aber das muss ja nicht unbedingt offensichtlich sein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 7. Februar 2011 Teilen Geschrieben 7. Februar 2011 Oder seh ich das zu oberflächlich? Arbeitest Du OOP oder mit funktionaler / logischer Programmierung? Hast Du Klassendiagramme, Flussplan, Sequenzdiagramm? Hast Du ERD o.ä. Welche Sprachen werden eingesetzt? Warum werden diese Sprachen eingesetzt oder werden diese erst evakuiert Herzstück des Ganzen werden 2 (herkömmliche) verschachtelte Schleife sein, die die Objekte abarbeiten. D. h. die erste geht über die Menge der Objekte und die Zweite prüft die dafür definierten Sendertage. Damit hat der Algorithmus eine quadratische Laufzeit bei 1.000.000 Datensätzen, die auch durch Stringverarbeitung größeres Volumen haben, sehe ich das fachlich schon sehr bedenklich, d.h. hier würde ich späteren Gespräch nach bohren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Akku Geschrieben 7. Februar 2011 Teilen Geschrieben 7. Februar 2011 Sorry, aber so geht das nicht. Was hat das Wasserfallmodell in "Design und Implementierung" zu suchen. Dein Projekt wird höchstens gemäß diesem Vorgehensmodell abgewickelt. Wie flashpixx schon schrieb, ist diese Zeitplanung komplett neu zu erstellen. Halte dich wenn möglich an dein vorgeschlagenes Wasserfallmodell: Analyse, Design, Implementierung, Test, Dokumentation, Abnahme. schau dir an was in den einzelnen Phasen passiert. Jetzt zum Thema: Falls du mich nicht wirklich überzeugen kannst, geht der Antrag mangels Masse nicht durch. Zwei bis drei Schleifen etwas durchsuchen und reagieren? Das ist mir deutlich zu wenig. Da sind schon Anträge mit wesentlich mehr Inhalt abgelehnt worden. Kann mich aber auch irren. Siehst du? Da liegt dein Antragsproblem. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ulfmann Geschrieben 7. Februar 2011 Autor Teilen Geschrieben 7. Februar 2011 Arbeitest Du OOP oder mit funktionaler / logischer Programmierung? Hast Du Klassendiagramme, Flussplan, Sequenzdiagramm? Hast Du ERD o.ä. Da ich für diesen Anwendungsfall nicht mehr als eine Klasse brauche, betrachte ich es schon als prozedural - obwohl ich wie beschrieben bestehende Klassen instanziiere und verwende. Wenn ich hierzu ein Klassendiagramm (bzw. ERD) erstelle, dann muss dies nicht ausschließlich von mir programmierte Klassen abbilden, sondern kann sich auch weiter strecken über die Klassen unserer API? Welche Sprachen werden eingesetzt? Warum werden diese Sprachen eingesetzt oder werden diese erst evakuiert Evakuiert? Also im Prinzip steht Java hierfür fest. Sollte ich dies aus dem Antrag herauslösen bzw. dafür in der Vorbereitung noch Zeit veranschlagen, um dies heraus zu arbeiten? Zwei bis drei Schleifen etwas durchsuchen und reagieren? Das ist mir deutlich zu wenig. Da sind schon Anträge mit wesentlich mehr Inhalt abgelehnt worden. Kann mich aber auch irren. Siehst du? Da liegt dein Antragsproblem. Genau das hab ich mir gedacht. Sehr ihr denn grundsätzlich eine Chance hierbei oder wird das Zeitverschwendung? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 7. Februar 2011 Teilen Geschrieben 7. Februar 2011 Sieht für mich arg dürftig aus... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ulfmann Geschrieben 25. Februar 2011 Autor Teilen Geschrieben 25. Februar 2011 Hallo nochmal, ich habe meinen Antrag überarbeitet und bitte euch um eine zweite Einschätzung. Zugegeben, ich habe nirgends so strenges Feedback erhalten wie hier, was einerseits natürlich konstruktiv ist, da hohe Maßstäbe, aber andererseits verunsichert. Deshalb habe ich den Antrag (erste Version oben) mal meinem Klassenleiter vorgelegt, der selbst schon langjährige Erfahrung im Prüfungsausschuss hat und seiner Meinung nach geht es gar nicht so wahnsinnig darum, was ich konkret mache (bzw. welchen Umfang das hat), sondern wie ich das umsetze und dokumentiere. Zum Anderen muss ich gestehen, Schwierigkeiten bei der Ideenfindung (Alternativen) zu haben, sodass ich dies (potentielle) Projekt nur ungern fallen lasse. Also hier eine aktualisierte Version meines Antrages: Thema: Design und Implementierung eines automatischen Kontrollmechanismus zur Feststellung von Sendertagen ohne Ausstrahlung Projektbeschreibung: ### ist ein europaweiter Metadaten-Lieferant und Publishing-Dienstleister für Programm-informationen zu TV, Video on Demand und Radio. Die für den Produktionsprozess notwendigen Programmdaten werden sehr fein unterteilt, was einen höchst spezialisierten und umfangreichen Datenbestand zur Folge hat. Da es gelegentlich unbemerkt zu Lücken in den Programmdaten kommen kann, soll zur automatisierten Kontrolle eine Software implementiert werden. Ist-Zustand: Die Einrichtung von Produkten ist bislang teilautomatisiert, d. h. es gibt Abschnitte im Produktionsablauf, die manuelle Arbeiten mit einer hausinternen Applikation erfordern. Dies beinhaltet u. A. die Überprüfung auf Vollständigkeit der Programmdaten. Es gibt pro Kunde einen vertraglich definierten zeitlichen Vorlauf, bis zu dem die Daten lückenlos verfügbar sein müssen. Häufig tritt aber der Fall ein, dass ein sogenannter Regionalsender in einen Basissender eingefügt wird – diese haben per se nur kleine Zeitfenster, in denen sie senden und benötigen deshalb eine gesonderte Behandlung. Weiterhin gibt es (Sender)-Datensätze, für die kein Vorlauf definiert ist, auch das ist ein potentiell kritischer Zustand, der nicht unbemerkt bleiben darf. Soll-Analyse: Da ein Automatismus entstehen soll, muss eine Applikation entwickelt werden, die zum Einen konfigurierbar ist und zum Anderen per Cronjob zu einem bestimmten Zeitpunkt abläuft. Mögliche Parameter, die den Programmablauf beeinflussen, könnten abweichende Connectstrings oder gesonderte Outputs sein. Mitarbeiter des Vertriebs und des Supports müssen durch dieses Tool per Mail benachrichtigt werden, falls problematische Szenarien erkannt wurden. Wahlweise soll die Programmausgabe auch als Datei an einem bestimmten Zielort erstellt werden können. Projektumfeld: Die Projektdurchführung findet in den Räumen der ### statt. Zur Entwicklung stehen verschiedene Plattformen (Windows, Linux und Mac OSX), ein Samba-Server und eine produktiv arbeitende Oracle Datenbank zur Verfügung. Darüber hinaus wird eine hausinterne Java-API bereitgestellt, die die komplexen Datenstrukturen in Klassen abbildet und einen vereinfachten Datenbankzugriff ermöglicht. Aufgrund dessen wird das Projekt sowohl eine Java Anwendung als auch ein Shell Skript beinhalten. Zeitplanung: Analyse 8 Kick-Off Meeting 2 Soll-Ist-Vergleich 4 Analyse der Abhängigkeiten 2 Design 5 Klassendiagramm 2,5 PAP 2,5 Implementierung 29 Programmierung 24 Einrichtung des Cronjob mit Emailversand 5 Test 12 Prüfung der Konfigurationen 4 Fehleranalyse und –behebung 8 Dokumentation 15 Projektdokumentation 10 Artikel im firmeninternen Wiki / techn. Dokumentation 5 Abnahme 1 Gesamt 70 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.