Bund und Länder übernehmen teilweise für Beamte und bestimmte Angestellte Kosten für die medizinische Versorgung (Beihilfe). Das Projekt umfasste Unterstützung bei der Entwicklung einer Software für die Verwaltung der Beihilfe. Dazu gehörten
· Anpassungen an Gesetzesänderungen
· Entwicklung neuer Features
· Fehlerbehebung
· Entwickeln von Unit- und Integrationstests
· Pull Request-Reviews
Um es Unternehmen zu ermöglichen, die Fähigkeiten ihrer Mitarbeiter besser zu verstehen und zu verwalten, wurde das Projekt ?SkillPool? gegründet.
SkillPool ist eine in MS-Teams integrierte Webanwendung.
Mitarbeiter können in MS-Teams Details zu ihren Fähigkeiten angeben, u.a.: wie lange sie diese Fähigkeiten schon haben oder wann sie zuletzt eingesetzt wurden. Daraus lässt sich ableiten, ob es genügend Fähigkeiten im Unternehmen gibt, um aktuelle und zukünftige Aufgaben zu lösen.
Aufgaben in der Entwicklung beinhalteten
· Erstellung einer mandantenfähigen Anwendung in der Azure Cloud
· Backend-Implementierung mit C#, ASP.NET Core, EntityFramework Core und MSSQL
· Frontend-Implementierung mit Angular
- Integration des Frontends in MS-Teams unter Verwendung des Teams-Toolkits
Im Rahmen organisatorischer Änderungen in einer großen Bank waren Anpassungen bei der manuellen und automatischen Verarbeitung von SWIFT-Nachrichten notwendig. Die Aufgaben umfassten
· Erstellung einer MVVM/WPF-Anwendung zur Bearbeitung einer Filterliste sowie zum Annehmen und Verwerfen von SWIFT-Nachrichten
· Integration der MVVM/WPF-Anwendung in die existierende Nutzer- und Rechteverwaltung
· Erweitern des SWIFT-Prozesses im Backend um Filtermöglichkeiten und die Möglichkeit, manuell angenommene oder verworfene SWIFT-Nachrichten zu behandeln
Erweitern des SWIFT-Prozesses im Backend um Regeln, mit denen die manuelle Weitervergabe vereinfacht wird. Konkret werden nun für bestimmte Großkunden-Devisengeschäfte anhand verschiedener Regeln automatisch Kontonummern gefunden, die bisher manuell herausgesucht werden mussten.
Zur Projektverwaltung wird intern seit langem Microsoft DevOps (ehemals Team Foundation Server) verwendet, mit Team Foundation Version Control (TFVC) als Versionsverwaltungssystem. Da Git mittlerweile TFVC den Rang abgelaufen hat, was sich auch in der Unterstützung in neuen Versionen von Microsoft DevOps widerspiegelt, wurden alle TFVC-Repositorys zu Git migriert. Im Rahmen dieser Migration wurden auch die Projekte selbst (samt existierender Tasks, Bugs, etc) neu strukturiert. Die Migration umfasste:
· Erzeugung neuer Projekte in DevOps und Migration existierender Tasks, Bugs, Nutzerrechte, etc.
· Transformation von TVFC-Repositorys zu Git-Repositorys mit git-tfs. Dabei wurden unter Beibehaltung der Commit-Historie einige monolithische TFVC-Repositorys in mehrere kleine Git-Repositorys zerlegt.
· Verlinken der neuen Git-Repositorys mit den neuen Projekten
· Upgrade von C#-Projekten auf .NET 6
Aufsetzen einer Build-Pipeline für mehrfach benutzte Projekte sowie eines NuGet-Feeds zur Konsumierung dieser Projekte
Mitarbeit im agilen Scrum Team als Senior Developer. Mitwirkung bei Scrum Events wie Sprint Planing, Review und Retrospective.
? Diskussionen von User Stories in Refinement Meetings
? Erstellung und Bearbeitung von Tickets in Azure DevOps
? Konzeption und Implementierung des Backends mit C#/ASP.NET sowie des Frontends mit Angular
? Userverwaltung mit MS Identity
? Code-First Ansatz zur Erstellung der DB Modelle
? Implementierung eines FormBuilder zur interaktiven Gestaltung von Formularen
? Testkonzepterstellung und Implementierung von Unit Tests mit xUnit
? Manuelles Deployment in die Azure Cloud Web-App
Backend-Implementierung für die Stundenplanverwaltungssoftware ?Timetabler 10? sowie kleinere Arbeiten am Frontend. Timetabler ist ein seit Jahrzehnten etabliertes System zur Stundenplanverwaltung für Universitäten und Hochschulen im englisch- und französischsprachigen Raum. Mit Version 10 sollte das System von einem kleinen Team für moderne Technologien (C#, SQL, Webinterface) reimplementiert und verbessert werden. Folgende Aufgaben fielen in meinen Verantwortungsbereich:
Konzeption und Implementierung eines Parsers und Objektmappers für den Datenimport über CSV-Dateien
Prototypische Implementierung und Evaluierung verschiedener Ansätze für die Identifikation von Stundenplankonflikten
Konzeption und Implementierung einer Infrastruktur für das Finden und Rückmelden von Stundenplankonflikten. Das beinhaltet das laufzeit- und speichereffiziente Abfragen und Zwischenhalten von Datenbankinformationen sowie deren Auswertung.
Implementierung der Benutzeroberfläche für die Anzeige von Stundenplankonflikten in TypeScript / Angular
Performance-Optimierung für die Suche nach Stundenplankonflikten (sowohl C# als auch SQL-Server)
Unterstützung bei der Konzeption und Implementierung von Vorschlags-Assistenten. Diese unterstützen den Nutzer bei der Auswahl von Ressourcen (z.B. Personal oder Räume), die keinen Stundenplankonflikt auslösen werden.
Konzeption und Entwicklung eines Kursplaners als Teil des gesamten Entwicklerteams. Der Kursplaner ermöglicht es Universitäten, mehrjährige Kurse samt ihren Modulen im Voraus zu planen. Dabei wird garantiert, dass die resultierenden Stundenpläne für die Studenten keine Konflikte enthalten. Die Studenten sind zu dem Zeitpunkt noch unbekannt (nicht eingeschrieben). Die Konfliktfreiheit wird garantiert für verpflichtende sowie optionale Module, die parallel stattfinden können.
Entwicklung von externen Werkzeugen zur Performancemessung bei parallelen Anfragen
Vorträge und Präsentationen im Rahmen von Nutzergruppen und - konferenzen mit Fokus auf dem Kursplaner
Eingabevalidierung und Fehlerbehandlung. Daten werden vor dem Speichern auf Konsistenz geprüft und im Falle von Inkonsistenzen werden diese dem Nutzer gemeldet.
Entwicklung und Wartung einer Testbibliothek für Integrationstests, basierend auf MS-Test. Durch die Entwicklung einer Fluent-API sowie weiterer testspezifischer Abstraktionen konnte der Codeumfang von Test-Setups um über 80% reduziert werden, was die Fehleranfälligkeit sowie die Einstiegshürde für Entwickler senkte.
Das Redaktionssystem SCHEMA ST4 verwaltet Dokumentinhalte als XML-Daten. Für die Visualisierung von Unterschieden zwischen zwei Dokumentversionen sollte ein Diff-Algorithmus für XML-Daten entwickelt und dokumentiert werden. Der Algorithmus basierte auf einer Diplomarbeit, die ich als wissenschaftliche Mitarbeiter an der TU-Dresden betreute, sowie auf der ihr zugrundeliegenden Literatur.
Das Redaktionssystem SCHEMA ST4 bietet eine fortgeschrittene Volltextsuche für Dokumente (Wortstammsuche), die besonders gut für romanische Sprachen funktioniert. Die Suche sollte für japanischsprachige Dokumente verbessert werden. Dazu wurde die freie Java-Software ?Kuromoji? nach C# konvertiert und in ST4 integriert, was die Qualität der japanischen Suche enorm verbesserte. Das Projekt beinhaltete die Unterstützung des Test-Teams, das mangels Japanisch-Kenntnissen die Qualität der neuen Suchergebnisse nicht beurteilen konnte.
Prototypische Implementierung eines Diff-Algorithmus für XML-Daten
Für eine angedachte Funktion, Änderungen zwischen zwei Dokumentversionen zu visualisieren, sollte ein Diff-Algorithmus für XML-Daten entwickelt und dokumentiert werden. Der Algorithmus basierte auf einer Diplomarbeit, die ich als wissenschaftliche Mitarbeiter an der TU-Dresden betreute, sowie auf der ihr zugrundeliegenden Literatur.
Für die Entwicklung eines neuen Content Delivery Networks für verlinkte Dokumente und ihre Metadaten wurde die Eignung von Topic Maps zur Datenhaltung evaluiert.
Topic Maps wurden als SQL-Datensätze in einer Datenbank gespeichert. Die Speicherung der Dokumente basierte auf den Ansätzen von Git, z.B. Adressierung eines Dokuments über seinen SHA1 Hash. Für die parallele Aktualisierung und Abfrage von Dokumenten gab es einen eigenen Task Scheduler.
Bei der Evaluierung des Prototyps zeigten sich jedoch Nachteile Nutzung von Topic Maps, so dass der Ansatz nicht weiterverfolgt wurde.
Das SCHEMA ST4 Redaktionssystem hat eine selbst entwickelte Workflow Engine, mit der üblicherweise mehrstufige Dokumentfreigabeprozesse modelliert werden. Im Rahmen einer geplanten Migration auf WPF als Technologie für die Benutzeroberfläche wurde evaluiert, ob Windows Workflow Foundation geeignet ist, die existierende Workflow Engine abzulösen.
Im Rahmen dieses Projektes entstanden mehrere Prototypen, mit denen die existierenden ST4-Workflows nachgebildet wurden. Das beinhaltete einen grafischen Editor mit angepassten Workflowknoten zur Modellierung sowie eine Möglichkeit, die Workflows auszuführen.
SCHEMA ST4 ist ein Redaktionssystem das zur Erzeugung von Produkthandbüchern, Beipackzetteln, Katalogen und anderen Printprodukten verwendet wird. Inhalte werden nicht als vollständiges Dokument abgespeichert, sondern als unabhängige Informationseinheiten, die in einem Publikationsschritt zusammengefasst und formatiert werden.
Die Automated Publishing Extension (APX) ist ein Service, der den Prozess der Publikation automatisiert. APX überwacht ein
Verzeichnis auf einkommende Dateien mit Kontrollanweisungen. Kontrollanweisungen beinhalten beispielsweise Informationen zu den zu publizierenden Informationsknoten und dem gewünschten Ausgabeformat (Word, PDF, ?).
Wenn eine Kontrolldatei im überwachten Verzeichnis erkannt wurde, wird eine parametrisierte Dokumentgenerierung über das ST4-Redaktionssystem angestoßen und die resultierende Dokumentdatei in einem Ausgabeverzeichnis gespeichert.
Im Projekt wurde besonderer Wert auf exzellente Dokumentation und die Ausgabe hilfreicher Fehlermeldungen gelegt, um den Kunden das Erstellen und Modifizieren von Kontrolldateien so einfach wie möglich zu machen. Dies spiegelte sich in einer hohen Kundenzufriedenheit wider.
Die Arbeit als wissenschaftlicher Mitarbeiter umfasste verschiedene Projekte. Diese Projekte waren ursprünglich nicht verwandt, boten aber Gelegenheit, ein übergreifendes Forschungsprojekt durchzuführen (Dokumentation beliebiger Artefakte und deren semiautomatische Aktualisierung). B2 Plugin Design Project In diesem Projekt mit der TU Dresden und Comarch AG wurden mit C# verschiedene Möglichkeiten implementiert und evaluiert, Plugins für eine Software automatisiert anzupassen, wenn sich die Plugin-Schnittstelle der Software ändert. Darüber hinaus wurde in Java ein auf Eclipse basiertes Werkzeug konzipiert und entwickelt, das Dokumentation zur PluginEntwicklung teilautomatisiert aktualisieren kann. Das beinhaltete unter anderem einen selbstgeschriebenen Parser für C#-Code. Projekt MOST: Marrying Ontologies and Software Technology In diesem Projekt mit der Universität Dresden, Universität Koblenz-Landau, Universität Aberdeen, Comarch SA, SAP und BOC Information Systems GmbH wurde untersucht, wie sich mit Hilfe von Metamodellierung die Vorteile von Ontologien und Ontologie-Reasonern in Softwareprojekten nutzen lassen. Schwerpunkt meiner Arbeit war die Erweiterung des Dokumentationswerkzeugs aus dem B2 Plugin Design Project, um EclipseEMF-Metamodelle semiautomatisch zu dokumentieren. Dissertation: Creating and Maintaining Consistent Documents with Elucidative Development Die Dissertation war eine Fortführung der Arbeiten am Dokumentationswerkzeug (DEFT), das in den beiden vorangegangenen Projekten entstanden ist. Im theoretischen Teil der Arbeit wurde das Konzept des ?Elucidative Development? eingeführt und mit den verwandten Ansätzen ?Literate Programming? und ?Elucidative Programming? verglichen. Im praktischen Teil der Arbeit wurde das Dokumentationswerkzeug DEFT so erweitert, dass die gesamte Dissertation in ihm geschrieben werden konnte. Änderungen an dokumentierten Artefakten (z.B. Modelle oder Code) konnten erfolgreich propagiert werden, so dass sich Abbildungen und Code-Listings automatisch änderten.
In diesem Projekt mit der Universität Dresden, Universität Koblenz-Landau, Universität Aberdeen, Comarch SA, SAP und BOC Information Systems GmbH wurde untersucht, wie sich mit Hilfe von Metamodellierung die Vorteile von Ontologien und Ontologie-Reasonern in Softwareprojekten nutzen lassen. Schwerpunkt meiner Arbeit war die Erweiterung des Dokumentationswerkzeugs aus dem B2 Plugin Design Project, um Eclipse-EMF-Metamodelle sowie Ontologien in Dokumente einzubinden und grafisch darzustellen. Unterstützt wurden OpenOffice und LaTeX. Modifikationen an den zugrunde liegenden Metamodelle oder Ontologien wurden automatisch erkannt. Die Abbildungen in den Dokumenten konnten nach Zustimmung des Autors automatisch aktualisiert werden.
In diesem Projekt mit der TU Dresden und der Comarch AG wurden mit C# verschiedene Möglichkeiten implementiert und evaluiert, Plugins für eine Software automatisiert anzupassen, wenn sich die Plugin-Schnittstelle der Software ändert. Darüber hinaus wurde ein auf Eclipse basierendes Werkzeug konzipiert und in Java implementiert, das Dokumentation zur Plugin-Entwicklung teilautomatisiert aktualisieren kann. Das beinhaltete unter anderem einen selbstgeschriebenen Parser für C#-Code.
Promotion in Softwaretechnologie
Dissertation ?Creating Development?
Vertiefungsrichtung Softwaretechnologie
Nebenfachstudium Englisch und BWL
Arbeit als studentische Hilfskraft am Lehrstuhl Softwaretechnologie
Softwarearchitektur
Backenendwicklung
Full-Stack Entwicklung
Web-Entwicklung
Bildung
Medien
Bund und Länder übernehmen teilweise für Beamte und bestimmte Angestellte Kosten für die medizinische Versorgung (Beihilfe). Das Projekt umfasste Unterstützung bei der Entwicklung einer Software für die Verwaltung der Beihilfe. Dazu gehörten
· Anpassungen an Gesetzesänderungen
· Entwicklung neuer Features
· Fehlerbehebung
· Entwickeln von Unit- und Integrationstests
· Pull Request-Reviews
Um es Unternehmen zu ermöglichen, die Fähigkeiten ihrer Mitarbeiter besser zu verstehen und zu verwalten, wurde das Projekt ?SkillPool? gegründet.
SkillPool ist eine in MS-Teams integrierte Webanwendung.
Mitarbeiter können in MS-Teams Details zu ihren Fähigkeiten angeben, u.a.: wie lange sie diese Fähigkeiten schon haben oder wann sie zuletzt eingesetzt wurden. Daraus lässt sich ableiten, ob es genügend Fähigkeiten im Unternehmen gibt, um aktuelle und zukünftige Aufgaben zu lösen.
Aufgaben in der Entwicklung beinhalteten
· Erstellung einer mandantenfähigen Anwendung in der Azure Cloud
· Backend-Implementierung mit C#, ASP.NET Core, EntityFramework Core und MSSQL
· Frontend-Implementierung mit Angular
- Integration des Frontends in MS-Teams unter Verwendung des Teams-Toolkits
Im Rahmen organisatorischer Änderungen in einer großen Bank waren Anpassungen bei der manuellen und automatischen Verarbeitung von SWIFT-Nachrichten notwendig. Die Aufgaben umfassten
· Erstellung einer MVVM/WPF-Anwendung zur Bearbeitung einer Filterliste sowie zum Annehmen und Verwerfen von SWIFT-Nachrichten
· Integration der MVVM/WPF-Anwendung in die existierende Nutzer- und Rechteverwaltung
· Erweitern des SWIFT-Prozesses im Backend um Filtermöglichkeiten und die Möglichkeit, manuell angenommene oder verworfene SWIFT-Nachrichten zu behandeln
Erweitern des SWIFT-Prozesses im Backend um Regeln, mit denen die manuelle Weitervergabe vereinfacht wird. Konkret werden nun für bestimmte Großkunden-Devisengeschäfte anhand verschiedener Regeln automatisch Kontonummern gefunden, die bisher manuell herausgesucht werden mussten.
Zur Projektverwaltung wird intern seit langem Microsoft DevOps (ehemals Team Foundation Server) verwendet, mit Team Foundation Version Control (TFVC) als Versionsverwaltungssystem. Da Git mittlerweile TFVC den Rang abgelaufen hat, was sich auch in der Unterstützung in neuen Versionen von Microsoft DevOps widerspiegelt, wurden alle TFVC-Repositorys zu Git migriert. Im Rahmen dieser Migration wurden auch die Projekte selbst (samt existierender Tasks, Bugs, etc) neu strukturiert. Die Migration umfasste:
· Erzeugung neuer Projekte in DevOps und Migration existierender Tasks, Bugs, Nutzerrechte, etc.
· Transformation von TVFC-Repositorys zu Git-Repositorys mit git-tfs. Dabei wurden unter Beibehaltung der Commit-Historie einige monolithische TFVC-Repositorys in mehrere kleine Git-Repositorys zerlegt.
· Verlinken der neuen Git-Repositorys mit den neuen Projekten
· Upgrade von C#-Projekten auf .NET 6
Aufsetzen einer Build-Pipeline für mehrfach benutzte Projekte sowie eines NuGet-Feeds zur Konsumierung dieser Projekte
Mitarbeit im agilen Scrum Team als Senior Developer. Mitwirkung bei Scrum Events wie Sprint Planing, Review und Retrospective.
? Diskussionen von User Stories in Refinement Meetings
? Erstellung und Bearbeitung von Tickets in Azure DevOps
? Konzeption und Implementierung des Backends mit C#/ASP.NET sowie des Frontends mit Angular
? Userverwaltung mit MS Identity
? Code-First Ansatz zur Erstellung der DB Modelle
? Implementierung eines FormBuilder zur interaktiven Gestaltung von Formularen
? Testkonzepterstellung und Implementierung von Unit Tests mit xUnit
? Manuelles Deployment in die Azure Cloud Web-App
Backend-Implementierung für die Stundenplanverwaltungssoftware ?Timetabler 10? sowie kleinere Arbeiten am Frontend. Timetabler ist ein seit Jahrzehnten etabliertes System zur Stundenplanverwaltung für Universitäten und Hochschulen im englisch- und französischsprachigen Raum. Mit Version 10 sollte das System von einem kleinen Team für moderne Technologien (C#, SQL, Webinterface) reimplementiert und verbessert werden. Folgende Aufgaben fielen in meinen Verantwortungsbereich:
Konzeption und Implementierung eines Parsers und Objektmappers für den Datenimport über CSV-Dateien
Prototypische Implementierung und Evaluierung verschiedener Ansätze für die Identifikation von Stundenplankonflikten
Konzeption und Implementierung einer Infrastruktur für das Finden und Rückmelden von Stundenplankonflikten. Das beinhaltet das laufzeit- und speichereffiziente Abfragen und Zwischenhalten von Datenbankinformationen sowie deren Auswertung.
Implementierung der Benutzeroberfläche für die Anzeige von Stundenplankonflikten in TypeScript / Angular
Performance-Optimierung für die Suche nach Stundenplankonflikten (sowohl C# als auch SQL-Server)
Unterstützung bei der Konzeption und Implementierung von Vorschlags-Assistenten. Diese unterstützen den Nutzer bei der Auswahl von Ressourcen (z.B. Personal oder Räume), die keinen Stundenplankonflikt auslösen werden.
Konzeption und Entwicklung eines Kursplaners als Teil des gesamten Entwicklerteams. Der Kursplaner ermöglicht es Universitäten, mehrjährige Kurse samt ihren Modulen im Voraus zu planen. Dabei wird garantiert, dass die resultierenden Stundenpläne für die Studenten keine Konflikte enthalten. Die Studenten sind zu dem Zeitpunkt noch unbekannt (nicht eingeschrieben). Die Konfliktfreiheit wird garantiert für verpflichtende sowie optionale Module, die parallel stattfinden können.
Entwicklung von externen Werkzeugen zur Performancemessung bei parallelen Anfragen
Vorträge und Präsentationen im Rahmen von Nutzergruppen und - konferenzen mit Fokus auf dem Kursplaner
Eingabevalidierung und Fehlerbehandlung. Daten werden vor dem Speichern auf Konsistenz geprüft und im Falle von Inkonsistenzen werden diese dem Nutzer gemeldet.
Entwicklung und Wartung einer Testbibliothek für Integrationstests, basierend auf MS-Test. Durch die Entwicklung einer Fluent-API sowie weiterer testspezifischer Abstraktionen konnte der Codeumfang von Test-Setups um über 80% reduziert werden, was die Fehleranfälligkeit sowie die Einstiegshürde für Entwickler senkte.
Das Redaktionssystem SCHEMA ST4 verwaltet Dokumentinhalte als XML-Daten. Für die Visualisierung von Unterschieden zwischen zwei Dokumentversionen sollte ein Diff-Algorithmus für XML-Daten entwickelt und dokumentiert werden. Der Algorithmus basierte auf einer Diplomarbeit, die ich als wissenschaftliche Mitarbeiter an der TU-Dresden betreute, sowie auf der ihr zugrundeliegenden Literatur.
Das Redaktionssystem SCHEMA ST4 bietet eine fortgeschrittene Volltextsuche für Dokumente (Wortstammsuche), die besonders gut für romanische Sprachen funktioniert. Die Suche sollte für japanischsprachige Dokumente verbessert werden. Dazu wurde die freie Java-Software ?Kuromoji? nach C# konvertiert und in ST4 integriert, was die Qualität der japanischen Suche enorm verbesserte. Das Projekt beinhaltete die Unterstützung des Test-Teams, das mangels Japanisch-Kenntnissen die Qualität der neuen Suchergebnisse nicht beurteilen konnte.
Prototypische Implementierung eines Diff-Algorithmus für XML-Daten
Für eine angedachte Funktion, Änderungen zwischen zwei Dokumentversionen zu visualisieren, sollte ein Diff-Algorithmus für XML-Daten entwickelt und dokumentiert werden. Der Algorithmus basierte auf einer Diplomarbeit, die ich als wissenschaftliche Mitarbeiter an der TU-Dresden betreute, sowie auf der ihr zugrundeliegenden Literatur.
Für die Entwicklung eines neuen Content Delivery Networks für verlinkte Dokumente und ihre Metadaten wurde die Eignung von Topic Maps zur Datenhaltung evaluiert.
Topic Maps wurden als SQL-Datensätze in einer Datenbank gespeichert. Die Speicherung der Dokumente basierte auf den Ansätzen von Git, z.B. Adressierung eines Dokuments über seinen SHA1 Hash. Für die parallele Aktualisierung und Abfrage von Dokumenten gab es einen eigenen Task Scheduler.
Bei der Evaluierung des Prototyps zeigten sich jedoch Nachteile Nutzung von Topic Maps, so dass der Ansatz nicht weiterverfolgt wurde.
Das SCHEMA ST4 Redaktionssystem hat eine selbst entwickelte Workflow Engine, mit der üblicherweise mehrstufige Dokumentfreigabeprozesse modelliert werden. Im Rahmen einer geplanten Migration auf WPF als Technologie für die Benutzeroberfläche wurde evaluiert, ob Windows Workflow Foundation geeignet ist, die existierende Workflow Engine abzulösen.
Im Rahmen dieses Projektes entstanden mehrere Prototypen, mit denen die existierenden ST4-Workflows nachgebildet wurden. Das beinhaltete einen grafischen Editor mit angepassten Workflowknoten zur Modellierung sowie eine Möglichkeit, die Workflows auszuführen.
SCHEMA ST4 ist ein Redaktionssystem das zur Erzeugung von Produkthandbüchern, Beipackzetteln, Katalogen und anderen Printprodukten verwendet wird. Inhalte werden nicht als vollständiges Dokument abgespeichert, sondern als unabhängige Informationseinheiten, die in einem Publikationsschritt zusammengefasst und formatiert werden.
Die Automated Publishing Extension (APX) ist ein Service, der den Prozess der Publikation automatisiert. APX überwacht ein
Verzeichnis auf einkommende Dateien mit Kontrollanweisungen. Kontrollanweisungen beinhalten beispielsweise Informationen zu den zu publizierenden Informationsknoten und dem gewünschten Ausgabeformat (Word, PDF, ?).
Wenn eine Kontrolldatei im überwachten Verzeichnis erkannt wurde, wird eine parametrisierte Dokumentgenerierung über das ST4-Redaktionssystem angestoßen und die resultierende Dokumentdatei in einem Ausgabeverzeichnis gespeichert.
Im Projekt wurde besonderer Wert auf exzellente Dokumentation und die Ausgabe hilfreicher Fehlermeldungen gelegt, um den Kunden das Erstellen und Modifizieren von Kontrolldateien so einfach wie möglich zu machen. Dies spiegelte sich in einer hohen Kundenzufriedenheit wider.
Die Arbeit als wissenschaftlicher Mitarbeiter umfasste verschiedene Projekte. Diese Projekte waren ursprünglich nicht verwandt, boten aber Gelegenheit, ein übergreifendes Forschungsprojekt durchzuführen (Dokumentation beliebiger Artefakte und deren semiautomatische Aktualisierung). B2 Plugin Design Project In diesem Projekt mit der TU Dresden und Comarch AG wurden mit C# verschiedene Möglichkeiten implementiert und evaluiert, Plugins für eine Software automatisiert anzupassen, wenn sich die Plugin-Schnittstelle der Software ändert. Darüber hinaus wurde in Java ein auf Eclipse basiertes Werkzeug konzipiert und entwickelt, das Dokumentation zur PluginEntwicklung teilautomatisiert aktualisieren kann. Das beinhaltete unter anderem einen selbstgeschriebenen Parser für C#-Code. Projekt MOST: Marrying Ontologies and Software Technology In diesem Projekt mit der Universität Dresden, Universität Koblenz-Landau, Universität Aberdeen, Comarch SA, SAP und BOC Information Systems GmbH wurde untersucht, wie sich mit Hilfe von Metamodellierung die Vorteile von Ontologien und Ontologie-Reasonern in Softwareprojekten nutzen lassen. Schwerpunkt meiner Arbeit war die Erweiterung des Dokumentationswerkzeugs aus dem B2 Plugin Design Project, um EclipseEMF-Metamodelle semiautomatisch zu dokumentieren. Dissertation: Creating and Maintaining Consistent Documents with Elucidative Development Die Dissertation war eine Fortführung der Arbeiten am Dokumentationswerkzeug (DEFT), das in den beiden vorangegangenen Projekten entstanden ist. Im theoretischen Teil der Arbeit wurde das Konzept des ?Elucidative Development? eingeführt und mit den verwandten Ansätzen ?Literate Programming? und ?Elucidative Programming? verglichen. Im praktischen Teil der Arbeit wurde das Dokumentationswerkzeug DEFT so erweitert, dass die gesamte Dissertation in ihm geschrieben werden konnte. Änderungen an dokumentierten Artefakten (z.B. Modelle oder Code) konnten erfolgreich propagiert werden, so dass sich Abbildungen und Code-Listings automatisch änderten.
In diesem Projekt mit der Universität Dresden, Universität Koblenz-Landau, Universität Aberdeen, Comarch SA, SAP und BOC Information Systems GmbH wurde untersucht, wie sich mit Hilfe von Metamodellierung die Vorteile von Ontologien und Ontologie-Reasonern in Softwareprojekten nutzen lassen. Schwerpunkt meiner Arbeit war die Erweiterung des Dokumentationswerkzeugs aus dem B2 Plugin Design Project, um Eclipse-EMF-Metamodelle sowie Ontologien in Dokumente einzubinden und grafisch darzustellen. Unterstützt wurden OpenOffice und LaTeX. Modifikationen an den zugrunde liegenden Metamodelle oder Ontologien wurden automatisch erkannt. Die Abbildungen in den Dokumenten konnten nach Zustimmung des Autors automatisch aktualisiert werden.
In diesem Projekt mit der TU Dresden und der Comarch AG wurden mit C# verschiedene Möglichkeiten implementiert und evaluiert, Plugins für eine Software automatisiert anzupassen, wenn sich die Plugin-Schnittstelle der Software ändert. Darüber hinaus wurde ein auf Eclipse basierendes Werkzeug konzipiert und in Java implementiert, das Dokumentation zur Plugin-Entwicklung teilautomatisiert aktualisieren kann. Das beinhaltete unter anderem einen selbstgeschriebenen Parser für C#-Code.
Promotion in Softwaretechnologie
Dissertation ?Creating Development?
Vertiefungsrichtung Softwaretechnologie
Nebenfachstudium Englisch und BWL
Arbeit als studentische Hilfskraft am Lehrstuhl Softwaretechnologie
Softwarearchitektur
Backenendwicklung
Full-Stack Entwicklung
Web-Entwicklung
Bildung
Medien