Projekt: "Sourcetrail"
Kunde: PERA Software Solutions
Laufzeit: 03.2022 – heute
| Beschreibung: Weiterentwicklung von "Sourcetrail", eine C++/Qt/Java Cross-Platform Applikation zum Visualisieren von Klassen- bzw. Funktionshierarchien.
Aufgaben:- Migration der Codebasis von Qt 5 auf Qt 6
- Ablösung plattformspezifischen Codes durch Cross-Platform Boost-Libraries
- Umstellung der Zeichenkodierung von wchar_t (UTF-16/32) auf UTF-8 („UTF-8 Everywhere“)
- Optimierung der UX/UI (Lesezeichen-Dialoge, Fortschrittsanzeigen, Tooltips und Placeholder)
- Behebung komplexer Fokus- und Dialoghandling-Fehler
- Modernisierung der Thread-Synchronisationen
- Implementierung der Indexierung neuerer C++ Features (Structured Bindings, Concepts, Auto-Variablen/Rückgabetypen, User Defined Conversions, Non-Trivial Destructor Calls)
- Implementierung der Indexierung neuerer Java Features (Record-Klassen)
- Integration der Unterstützung für Visual Studio (2017–2026)
- Integration der Unterstützung für Java (Standard 16 - 23)
- Migration von Catch2 V2 auf Catch V3
- Migration von libclang 18 auf libclang 20
- Zentralisierung des Dependency-Managements via Vcpkg (C++) und Maven (Java)
- Vereinfachung der CMake-Build-Skripte
- Aktualisierung des Qt Creator und Visual Studio Plugins
Technologien:- C++23, CMake, Vcpkg
- Qt 6, Boost, Libclang/LibTooling
- Multithreading: thread, mutex, atomic<>, synchronized_value<>
- SQLite, TinyXml
- Catch2, GoogleTest
- Clang-Tidy, Clang-Format, Clazy
- Java SE 24, Maven
- Eclipse JDT, JNI
- JUnit 6, JUnit Jupiter
- Visual Studio 2026, Qt Creator, Eclipse
- Git, Visual Studio Code
- Linux / Windows
Homepage: http://Sourcetrail.de
|
Projekt: "Rechnungswesenkern"
Kunde: Diamant Software
Laufzeit: 06.2024 – 11.2024
| Beschreibung: Modernisierung des Rechnungswesensoftwarekerns, eine C++/CLI Bibliothek für eine Rechnungswesen- und Controllingsoftware.
Aufgaben:- Migration der "Dialog Manager" GUI auf eine Windows Forms GUI
- Modernisierung von C++98 Sprachkonstrukten auf C++20
- Vermeidung von Memory-Leaks mit Smart-Pointern
Technologien:- C++20 (C++/CLI), MSBuild
- STL
- Visual Studio 2022, Sourcetrail
- Git, Visual Studio Code
- Windows 11
|
Projekt: "GUARDUS" (Engine)
Kunde: Carl Zeiss MES Solutions
Laufzeit: 09.2020 – 12.2023
| Beschreibung: Modernisierung der "Guardus-Engine", eine C++ Software zur Analyse und Steuerung in der Produktion.
Aufgaben:- Umstellung des Buildsystems von MSBuild auf CMake
- Modernisierung von C++98 Sprachkonstrukten auf C++17
- Restrukturierung der Libraries zur einfacheren Wiederverwendung
- Umstellung auf typensichere STL Standard Container
- Konsolidierung von 'Copy & Paste' Sourcedateien
- Behebung von Memory-Leaks mit Smart-Pointern
- Qualitätssicherung durch die erstmalige Einführung von Unit-Tests
- Überprüfung der Testabdeckung mit Code-Coverage
- Visualisierung der Unit-Test Ergebnisse in Visual Studio
Technologien:- C++17, CMake
- Boost, STL
- Google Test, OpenCppCoverage
- Git, Azure DevOps, Visual Studio Code
- Visual Studio 2019/2022, Sourcetrail
- Windows 10
|
Projekt: "GUARDUS" (GuiTests)
Kunde: Carl Zeiss MES Solutions
Laufzeit: 09.2020 – 12.2023
| Beschreibung: Design und Entwicklung der "GuiTests", ein Java Testframework zum Ausführen von GUI-Tests.
Aufgaben:- Entwicklung eines GUI-Test-Frameworks basierend auf SikuliX
- Implementierung von Tests anhand existierender Testszenarien
- Erstellung eines "Executable-JARs" zur Vereinfachung des Deployments
- Ausführung der Tests mittels der JUnit 5 Platform Launcher API
Technologien:- Java SE 21, Maven
- SikuliX, JUnit 5, Picocli, Log4j2, JNA, ClassGraph, JDBC
- Apache Shade Plugin, Apache Commons
- Git, Visual Studio Code
- Eclipse, Sourcetrail
- Windows 10
|
Projekt: "Common Sequencer"
Kunde: Rohde & Schwarz
Laufzeit: 10.2019 – 05.2020
| Beschreibung: Weiterentwicklung des "ExecutionEnvironments", ein C++ Programm zur Automatisierung von Produktionstests.
Aufgaben:- Ausführung von C# Assemblies mittels des C++ .NET Core Hosting
- Generierung von C# Code mittels T4 Templates
Technologien:- C++17, CMake, Conan
- Boost, Google Test/Mock
- C# 7.0, NuGet
- .NET Core 2.2, xUnit
- Visual Studio 2017, Sourcetrail
- Git, Jira
- Windows 10, Linux
|
Projekt: "Server Based Testing" (Data Acquisition Service)
Kunde: Rohde & Schwarz
Laufzeit: 04.2019 – 09.2019
| Beschreibung: Design und Entwicklung des "Data Acquisition Service", ein C++ Dienst zum Empfangen und Weiterleiten von Binärdateien.
Aufgaben:- Implementierung eines Empfängers/Parsers von JSON-basierten "JobTickets"
- Implementierung eines Senders zum Versenden der zuvor gecachten Binärdaten mit ZeroMQ
Technologien:- C++17, CMake
- Boost, Google Test/Mock, RabbitMQ, AMQP-CPP, ZeroMQ, libcurl
- Qt Creator, Sourcetrail
- Git, Jira, Docker
- Linux
|
Projekt: "QuickStep" (TestConsoleRunner)
Kunde: Rohde & Schwarz
Laufzeit: 03.2019
| Beschreibung: Design und Entwicklung des "TestConsoleRunners", ein C# Programm zum Ausführen von Google- bzw. NUnit-Tests.
Aufgaben:- Implementierung einer Google-Test bzw. NUnit-Test Erkennung
- Testausführung über die NUnit-API
- Generierung von XML-Ergebnisberichten zur automatisierten Weiterverarbeitung in Jenkins
Technologien:- C# 7.0, .NET Core 2.2, NUnit
- Visual Studio 2017
- Git, Jira, Jenkins
- Windows 10, Linux
|
Projekt: "QuickStep" (Linuxportierung)
Kunde: Rohde & Schwarz
Laufzeit: 09.2018 – 02.2019
| Beschreibung: Analyse des Portierungsaufwands nach Linux für eine Windows C++ Applikation.
Aufgaben:- Analyse und Katalogisierung der Windows-API-Aufrufe
- Aufwandsevaluation für die Portierung der Windows-spezifischen Schnittstellen
Technologien:- C++14, CMake
- Boost, Google Test/Mock
- Visual Studio 2017, Qt Creator, Sourcetrail
- Git, ClearCase, Jira
- Windows 10, Linux
|
Projekt: "TeDiSPlus"
Kunde: BWI
Laufzeit: 04.2017 – 08.2018
| Beschreibung: Weiterentwicklung von "TeDiSPlus", eine Java EE Anwendung zur Disponierung von Technikern.
Aufgaben:- Erweiterung und Neuerstellung von Unit-Tests
- Implementierung von SQL-Abfragen mittels JPA
- Realisierung des JSON-Datenaustauschs zwischen Frontend und Backend
Technologien:- Java 8, Java EE 7, Maven
- JUnit 4/5, Mockito
- GlassFish (Payara), Derby- bzw. Oracle-Datenbank
- Eclipse, IntelliJ, NetBeans, Sourcetrail
- Mercurial, Jira
- Windows 7
|
Projekt: "CMWmars" (PCAP Dekodierung)
Kunde: Rohde & Schwarz
Laufzeit: 01.2016 – 08.2016
| Beschreibung: Design und Entwicklung der "PCAP-Dekodierung", ein C++/C# Programm zum Empfangen und Dekodieren von PCAP-Daten.
Aufgaben:- Integration von TShark (Wireshark) zur Dekodierung von PCAP-Daten
- Implementierung der Interprozesskommunikation (IPC) via QProcess
- Realisierung des bidirektionalen Datentransfers (PCAP-Streaming und PDML-Empfang)
- Effizientes Parsing komplexer PDML-Daten mittels QXmlStreamReader
Technologien:- C++11, C++/CLI, Qt 5, Qt Core, Qt XML, Boost, STL
- C# 4.0, NUnit
- Visual Studio 2013
- Jazz
|
Projekt: "CMWmars" (LoggingServer)
Kunde: Rohde & Schwarz
Laufzeit: 01.2011 – 12.2015
| Beschreibung: Design und Entwicklung des "LoggingServers", ein C++ Programm zum Empfangen und Weiterleiten von Socketdaten an eine C#/WPF Applikation.
Aufgaben:- Entwicklung einer Dynamic Link Library (DLL) mit plattformübergreifenden Schnittstellen (C#/Java-kompatible APIs)
- Implementierung asynchroner Socketkommunikation auf Basis von Boost.Asio und Boost.Thread
- Realisierung der Daten-Serialisierung und -Übertragung mittels TLV-Protokoll und Boost.Serialization
- Architektur einer internen Modulentkopplung durch den Einsatz von Signal-Slot-Mechanismen
- Implementierung des Daten-Marshallings für den Interop-Datenaustausch zwischen C++ und C#
Technologien:- C++11, C++/CLI (Bridge), Boost.Asio. Boost.Thread, Boost.Serialization, Boost.Signals2
- C# 4.0, NLog, NUnit, Moq, P/Invoke, Mixed Mode Assembly
- Java SE 7, JNA
- Visual Studio 2010, 2013, Eclipse Mars
- Jazz, ClearCase
|
Projekt: "CMWmars" (LegacyFileImporter)
Kunde: Rohde & Schwarz
Laufzeit: 01.2011 – 12.2015
| Beschreibung: Design und Entwicklung des "LegacyFileImporters", ein C++ Programm zum Importieren einer Binärdatei in eine SQLite Datenbank.
Aufgaben:- Implementierung einer performanten Parsing-Logik für binäre Logdateien
- Persistierung der Datensätze in einer SQLite-Datenbank
- Performance-Optimierung durch Parallelisierung der Verarbeitung mittels Parallel Patterns Library (PPL)
- Realisierung einer thread-sicheren Kommunikation zwischen PPL-Tasks über Lock-free-Queues
Technologien:- C++11, C++/CLI, PPL, SQLite, Boost.Variant
- C# 4.0, NLog, NUnit, Moq
- VTune
- Visual Studio 2010, 2013
- Jazz, ClearCase
|
Projekt: "CMWmars"
Kunde: Rohde & Schwarz
Laufzeit: 01.2011 – 12.2015
| Beschreibung: Design und Entwicklung von "CMWmars", eine C#/WPF-Applikation zur Visualisierung von Mobilfunktestdaten.
Aufgaben: Weiterentwicklung der GUI-Tests zur Steigerung der Testabdeckung
Technologien:- C# 4.0, System.Data.SQLite, WPF, NLog, NUnit, Moq, SQLite
- Java SE 8, SikuliX
- Visual Studio 2010, 2013, Eclipse
- Jazz, ClearCase
|