derBiggi Geschrieben 6. Februar 2011 Teilen Geschrieben 6. Februar 2011 Moin, wie schon in dem anderen Unterbereich geschrieben habe ich heute meine Zulassung zur Abschlussprüfung bekommen. Da ich das ganze als externer Prüfling mache, fehlt mir so ein bisschen die Vergleichsmöglichkeit mit anderen. Ich poste einfach mal meinen bisherigen Entwurf, für Kritik und Ratschläge bin ich auf jeden Fall dankbar. Projektbezeichnung Neuimplementierung und Erweiterung einer Java-Bibliothek zum einlesen von Adobe Photoshop .psd-Dateien Konkrete Projektbeschreibung Die XXX GmbH entwickelt eine Software mit Namen YYY zum Erstellen von Menüstrukturen und Applikationen im BluRay- und Kabel-TV-Umfeld auf Basis der Eclipse RichClientPlatform (RCP). Um eine einfache Integration der Software in vorhandene Abläufe und Strukturen bei Kunden zu ermöglichen, wurde eine Funktion zum Importieren von Photoshop PSD-Dateien implementiert. Mit dieser Funktion ist es möglich, eine PSD-Datei zu importieren, die eine definierte Layer-Struktur enthält, und daraus ein komplettes Menü zu erzeugen, das nur noch mit Scripten funktionsfähig gemacht werden muss. Die aktuelle Implementierung ist allerdings langsam, wenig dokumentiert und vor allem schlecht erweiterbar. Geplant ist eine Neuimplemtierung der Bibliothek mit stabiler API, erweiterter Fehlerbehandlung, zuverlässiger Fortschrittsanzeige und Unit-Tests. Weiterhin ist die Erweiterung der Funktionalität um das Einlesen von Layermasken geplant. Inhalt der Projektdokumentation - Inhaltsübersicht - Persönliche Angaben zum Prüfungsbewerber - Betriebliches Umfeld des Auftraggebers - Ausgangssituation - Projektziel - Soll/Ist-Vergleich - Beschreibung des Auftrags - Programmablauf - Testfälle Anlagen zur Projektdokumentation - Pflichtenheft - PSD-Fileformat Documentation Version 6 (oder so. Mal nachkucken) Projektplanung Analyse: (4h) - Datenstrukturen der PSD-Datei analysieren ( 1h ) - Aktuellen Code auf wiederverwendbarkeit prüfen ( 1h ) - Erstellung Pflichtenheft ( 2h ) Design: ( 8h ) - API definieren ( 3h ) - Private Datenstrukturen definieren ( 5h ) Tests: (10h) - Definition von möglichen Grenz- und Testfällen ( 2h ) - Erstellung von Test-Files in Photoshop ( 4h ) - Erstellung von Unit-Tests ( 4h ) Realisierung ( 34h ) - Implementation ( 32h ) - Build-Prozess ( 2h ) Dokumentation: - Projektbericht, JavaDoc ( 14h ) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 6. Februar 2011 Teilen Geschrieben 6. Februar 2011 Ist PSD nicht ein proprietäres Format und was sagen die Lizenzrecht dazu, das Format zu verwenden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derBiggi Geschrieben 6. Februar 2011 Autor Teilen Geschrieben 6. Februar 2011 (bearbeitet) Moin, ja, PSD ist ein proprietäres Format. Ich habe allerdings eine "offizielle" ( also von Adobe veröffentlichte) Dokumentation des Formats gefunden, (wenn auch etwas älter, ca. Version 6.0 ), d.h. kein Reverse Engineering. Des weiteren gibt es bereits diverse andere Programme, die PSD-Dateien lesen können ( Gimp, diverse Bildbetrachter ). Und nicht zuletzt ist diese Funktionalität bereits in unserer Software implementiert und wird auch schon so ausgeliefert. Ich glaube mich zu erinnern, das wir das damals auch mit dem Legal Department geklärt hatten. Eine kurze Google-Recherche hat zumindest erbracht, das - solange ein Dokument nicht durch Verschlüsselung geschützt ist - Reverse Engineering bzw. der Import proprietärer Formate kein Problem darstellt. Gruß, Andreas P.S.: Ich habe grad die Docs von Adobe wiedergefunden: In der Section "Audience" steht: "This document is provided for 3rd parties to read and write the Photoshop native file format." Damit dürften legal issues kein Problem sein. http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/ Bearbeitet 6. Februar 2011 von derBiggi Found PSD Documentation Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schiller256 Geschrieben 6. Februar 2011 Teilen Geschrieben 6. Februar 2011 Was mir nicht so recht gefallen will ist das du eine bestehende API neu schreiben willst. Da besteht für mich zu sehr die Gefahr das dass ganze in einer Abschreibeübung endet. Kannst du nicht dein Augenmerk eher auf die Erweiterungen und Neuerungen legen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derBiggi Geschrieben 6. Februar 2011 Autor Teilen Geschrieben 6. Februar 2011 Moin, Naja, ich würde das ganze auch lieber "nur" erweitern und Features hinzufügen. Leider ist der aktuelle Stand so, das der Code extrem unwartbar ist, z.B. 10 Seiten lange Funktionen, Verschachtelungstiefen von 15, keine Interfaces, keine Trennung von internen/externen Datenstrukturen, etc. Ich könnte die benötigten Features zwar irgendwie in die vorhandene Code-Basis reinfrickeln, aber das wäre nichts, was ich guten Gewissens irgendjemand präsentieren möchte, daher komme ich um eine Neuimplementierung nicht herum. Ich kann aber in der Projektbeschreibung und bei der Aufgabe selbst sicherlich noch mehr Fokus auf neue Features und Erweiterungen legen. Beispiele wären: - Schnellere Implementierung ( Java NIO/MemoryMappedFiles) - Duplicate Content Detection - LayerMasks mit duplicate Content Detection/Content Merge - Schnelle Abbruchsmöglichkeiten - Verlässliche Fortschrittsanzeige Die einzelnen Punkte würde ich dann natürlich noch genauer Beschreiben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schiller256 Geschrieben 6. Februar 2011 Teilen Geschrieben 6. Februar 2011 Genau, das du den Fokus mehr auf die neuen Features legst habe ich gemeint. Du kannst die API im Rahmen deines Projektes immer noch ändern und verbessern. Aber der Fokus liegt auf den neuen Features. Und wenn du die komplette Überarbeitung der API nicht im Projekt schaffst lagerst du es aus. Das eine API hin und wieder mal überarbeitet werden muss kommt vor aber ich würde das nicht zum Hauptthema einer Projektarbeit machen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derBiggi Geschrieben 7. Februar 2011 Autor Teilen Geschrieben 7. Februar 2011 So, ich habe den Fokus jetzt etwas verändert und mehr auf neue Features gelegt. Ich poste es hier der Vollständigkeit halber noch einmal, vielleicht gibt es ja noch etwas, was ich übersehen habe. Gruß, Andreas Projektbezeichnung Erweiterung und Refaktorisierung einer Java-Bibliothek zum Einlesen von Adobe Photoshop .psd-Dateien Konkrete Projektbeschreibung Die XXX GmbH entwickelt eine Software mit Namen YYY zum Erstellen von Menüstrukturen und Applikationen im BluRay- und Kabel-TV-Umfeld auf Basis der Eclipse RichClientPlatform (RCP). Um eine einfache Integration der Software in vorhandene Abläufe und Strukturen bei Kunden zu ermöglichen, wurde eine Funktion zum Importieren von Photoshop PSD-Dateien implementiert. Mit dieser Funktion ist es möglich, eine PSD-Datei zu importieren, die eine definierte Layer-Struktur enthält, und daraus ein komplettes Menü zu erzeugen, das nur noch mit Scripten funktionsfähig gemacht werden muss. Die aktuelle Implementierung ist allerdings langsam, nicht vom Hauptprojekt separiert, wenig dokumentiert und vor allem schlecht erweiterbar. Geplant ist die Refaktorisierung der Funktionalität in eine eigene Bibliothek stabiler API und die Erweiterung der Funktionalität um folgende Features: - Schnellere Implementierung ( Java NIO/MemoryMappedFiles) - Duplicate Content Detection - LayerMasks mit duplicate Content Detection/Content Merge - Schnelle Abbruchsmöglichkeiten - Verlässliche Fortschrittsanzeige - UnitTests Inhalt der Projektdokumentation - Inhaltsübersicht - Persönliche Angaben zum Prüfungsbewerber - Betriebliches Umfeld des Auftraggebers - Ausgangssituation - Projektziel - Soll/Ist-Vergleich - Beschreibung des Auftrags - Programmablauf - Testfälle Anlagen zur Projektdokumentation - Pflichtenheft Projektplanung Analyse: (4h) - Datenstrukturen der PSD-Datei analysieren ( 1h ) - Aktuellen Code auf wiederverwendbarkeit prüfen ( 1h ) - Erstellung Pflichtenheft ( 2h ) Design: ( 10h ) - API definieren ( 4h ) - Private Datenstrukturen definieren ( 6h ) Tests: (10h) - Definition von möglichen Grenz- und Testfällen ( 2h ) - Erstellung von Test-Files in Photoshop ( 4h ) - Erstellung von Unit-Tests ( 4h ) Realisierung ( 32h ) - Implementation ( 32h ) Dokumentation: - Projektbericht, JavaDoc ( 14h ) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schiller256 Geschrieben 7. Februar 2011 Teilen Geschrieben 7. Februar 2011 Verteile mal die 32 Std. der Realisierung noch auf deine einzelnen Features bzw. auf die Anpassung der API. Der Block ist mir sonst viel zu grob. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derBiggi Geschrieben 7. Februar 2011 Autor Teilen Geschrieben 7. Februar 2011 Danke, das könnte ich noch machen. Mal eine etwas andere Frage: 1.) Ich bin bei der IHK Schleswig-Holstein, genauer IHK Kiel. Die IHK bietet auf Ihrer Homepage ein Formular als .doc an ( http://www.ihk-schleswig-holstein.de/linkableblob/731334/data/projektarbeit-data.doc ), welches 1. nicht wirklich viel Platz bietet, vor allem für die Projektplanung, und 2. ein Word-Dokument ist. 3. Formatierungsfehler enthält. Ich bin heute extra in die Firma gefahren, um an einen Windows-Rechner zu kommen, und dieses Formular mehr oder weniger gut auszufüllen, und würde den Antrag eigentlich viel lieber in Latex neu machen. Könnte das ein Problem sein, wenn nicht das vorgegebene Formular genutzt wird, oder ist das egal, solange alle nötigen Informationen vorhanden sind? 2.) In dem Formular ist eine Sektion "Projektumfeld" enthalten. Da kann ich mir momentan nicht so viel drunter vorstellen. Ich habe dort erstmal nur eine kurze Firmen- und Produktbeschreibung hingeschrieben, das Formular lässt ja auch nicht mehr Platz als max. 3 Zeilen. Gibt es da eine genauere Definition von "Projektumfeld"? Gruß, Andreas Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 8. Februar 2011 Teilen Geschrieben 8. Februar 2011 Ich bin heute extra in die Firma gefahren, um an einen Windows-Rechner zu kommen, und dieses Formular mehr oder weniger gut auszufüllen, und würde den Antrag eigentlich viel lieber in Latex neu machen. Könnte das ein Problem sein, wenn nicht das vorgegebene Formular genutzt wird, oder ist das egal, solange alle nötigen Informationen vorhanden sind? Anrufen und fragen. Ich würde aber mal behaupten, dass das kein größeres Problem ist. Dann bist Du noch so nett und gibst der IHK Deine TeX Vorlage + PDF und alle sind glücklich.... 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.