Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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 )

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 von derBiggi
Found PSD Documentation

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.

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.

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.

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 )

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

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.... :P

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.