Hier habe ich am WISO Steuersparbuch mitgerabeitet. In einem kleinen Team von 3 Mann haben wir den GUI-Kern der Software modernisiert.
Teile der Anwendung sind in XML beschrieben, so dass auch XML zum Einsatz kam, um die Beschreibungen zu laden und zu verarbeiten.
Die Anwendung wird für Windos und MacOS entwickelt. Zudem gibt es eine Serverversion, die verschiedene Web-Clients bedient.
Nebenbei habe ich verschiedene kleinere Tools zur Hausinternen Verwendung entwickelt, welche den Entwicklungsprozess vereinfachen. Unter anderem ein Programm, mit dem Neue C++-Klassen erstellt werden können, die gleich in die CMake-Projektdateien eingetragen werden. Neue Dateien wurden direkt ins Versionsverwaltungssystem Perforce eingetragen.
Dieses Programm habe ich allein und unabhängig in eigener Verantwortung entwickelt.
Ich habe neuen Funktionen festgelegt und sie auch entwickelt, implementiert und getestet sowie sie später den Kollegen vorgestellt. Die Anwendung half mir und den Kollegen, bestimmte alltägliche Arbeitsabläufe effizienter zu gestalten.
Das zweite In-House - Tool habe ich in enger Absprache mit einem Vorgesetzten entwickelt, war aber auch verantwortlich für den Funktionsumfang, dessen Entwicklung und Implementierung.
In diesem Projekt habe ich zum einen an CarPlay als auch an einer weiteren Smartphone-Technologie mitgearbeitet.
Bei CarPlay wurden hauptsächlich Fehler analysiert und ggf. gelöst und kleinere neue Funktionalitäten hinzugefügt.
Bei der anderen (noch unbenannten) Technologie habe ich ein kleines Team aus 3 Leuten angeleitet. Das Projekt wurde ende 2016 erfolgreich abgeschlossen.
Ab 2017 Mitarbeit an der neuen Produktversion, dabei wird hauptsächlich bestehender Code für QNX auf die neue Platform gehoben, es werden neue Features für CarPlay hinzugefügt.
Rohde & Schwarz
Entwicklung von Anwendungen für professionelle High-End - Messgeräte. In diesen Projekten habe ich vor allem bei der Entwicklung der Benutzeroberfläche und der Entwicklung der Datenbasis mitgewirkt. Hierbei kam ein spezielles Toolset von R&S zum Einsatz. Zusätzlich wurden kleine Teile der GUI in C++ realisiert. Außerdem sind die Geräte und Anwendungen mit Hilfe von SCPI - einem Standard zur Fernsteuerung von Geräten - fernsteuerbar. Ich habe hier die verschiedenen SCPI-Befehle implementiert und getestet.
Zynaptiq/ultramixer
Entwicklung von Plugins für professionelle Musikprogramme wie ProTools
In diesen Projekten wurde mit Hilfe des Kitty-SDK von BlueCat Audio (http://www.bluecataudio.com/Main/Home/) die GUI und die Hostanbindung für die Plugins entwickelt. Die eigentliche Verarbeitung der Musik übernahmen die Entwickler von Zynaptiq. Alle Plugins wurden sowohl für Windows als auch MacOSX entwickelt.
Durch diese Projekte habe ich intensive Erfahrungen mit der Entwicklungsumgegung XCode 3.x und der Entwicklung unter MacOSX gesammelt.
Hierbei handelt es sich um ein etwas kleineres Projekt, welches neben der Entwicklung der großen Projekte abläuft.
Eine letzte Version wurde im März 2014 auf einer Messe gezeigt.
Projekt 1: bis Dezember 2009: Entwicklung eines Programms zur Übertragung von Daten aus einer Steuerung in eine Datenbank. Das Programm konnte die Daten auf verschiedene Weise vorverarbeiten (verschiedene Glättungsalgorithmen waren zum Beispiel möglich)
bevor sie in der Datenbank gespeichert wurden. Dank OPC konnten alle Steuerungen ausgelesen werden, für die ein OPC-Server exisitiert.
Die Daten wurden in einer MySQL - Datenbank gespeichert, das Programm selbst ist aber dank SQL unabhängig von der verwendeten Datenbank.
Das Programm wurde als Windowsdienst entwickelt.
Projekt2: bis Oktober 2010:
Überwachung der Hauseigenen Abwassergrube und automatisches absenden einer SMS bei Erreichen eines kritischen Füllstandes.
Die SMS wurde mit Hilfe eines Internetdienstes versendet.
Hier kamen auch erstmals Touchpanels (EigerPanel) zum Einsatz, für die Anzeige verschiedener Daten.
Zur Authorisierung für verschiedene Funktionen wurden RFID-Chips verwendet, welche über einen RFID-Leser, der am Touchpanel angeschlossen war (RS323), ausgelesen.
Das Panel selbst diente als Anzeige, während die Verarbeitung von Daten in einem Windowsprogramm durchgeführt wurde. Das Serverprogramm wurde als Windowsdienst implementiert.
Die Touchpanels wurden an einen RS485 - Bus angeschlossen, welcher mit Hilfe von IPCAS - Geräten ans Intranet angeschlossen wurde.
Projekt3: - abgeschlossen
Ein Überwachungssystem für Weintanks. Hier wurden Touch-Panels verwendet, die ein Linux verwenden. Die auf den Panels laufende Anwendung ist mit Qt 4.x entwickelt worden. Daten, welche die Anwendung zur Darstellung benötigt, werden direkt aus einer MySQL-Datenbank geladen.
Projekt4: - März 2012 - Ende 2012
In diesem Projekt wird eine weitere Maschine überwacht. Es wird hierzu wieder ein Touchpanel mit Linux verwendet. Die Anwendung zeigt mit Hilfe der Bibliothek QWT eine verschiedene Kurvendiagramme, welche den Verlauf der Produktion widerspiegeln. Hierzu wurde eine neue Skriptengine entwickelt, welche die Ausführung von sowohl SQL-Skripten als auch Javascripten mit Hilfe der Qt-Scriptengine ermöglicht. Es wäre ebenfalls möglich, weitere Skriptengines, wie Python oder Ruby, einzubinden.
Projekt5: - von Anfang 2013 bis Schluss
In diesem Projekt wurde eine Lagerverwaltung für das Vollgutlager der Firma entwickelt und implementiert. Hierbei kommen neben einer Qt-Anwendung für die Ausführung von Lieferaufträgen, auch Barcodescanner zum Einsatz, um die auszuliefernden Artikel durch Abscannen von Barcodes, einzugeben.
Alle drei Projekte haben intensiv Daten aus Datenbanken ermittelt oder in Datenbanken gespeichert. Eine "Mini-Skriptsprache" diente der Definition zu verwendender SQL-Anweisungen und dem Datenaustausch mit den entsprechenden Anwendungen. SQL-Anweisungen wurden nicht im Quellcode kodiert. Dadurch wurden die Anwendungen flexibler, da mögliche Änderungen an der Datenbank, oder kleine Änderungen in Anzeigen nur durch die Änderung der SQL-Anweisungen in der Konfiguration erreicht werden konnten.
Nebenbei entsanden kleinere Projekte mit Hilfe von C++/MFC und C++/Qt.
Mit Hilfe des Qt - WebKit wurde eine kleine Anwendung entwickelt, welche bis zu 6 konfigurierbare Buttons und eine Webseite anzeigen konnte. Auf die Buttons wurde die darzustellende Webseite konfiguriert. Das Programm kam im Produktionsbereich auf einem PC mit Touchscreen zum Einsatz, zur Schnellen und Einfachen Abfrage von, im Intranet vorhandener, Produktionsdaten.
Ein Tool diente der internen Kurznachrichten-Übermittlung. Dieses Programm las im Minutentakt Nachrichten für den, am Computer angemeldeten Benutzer, aus der Datenbank und hat sie entsprechend auf dem Bildschirm angezeigt. Für dieses Programm wurde von mir auch ein MSI-Paket (mit Hilfe eines VS Installer-Projektes) erzeugt, welches in der Firma per Windowspolicy verteilt wurde.
Die drei großen Projekte wurden mit Hilfe von MFC implementiert, da bei meinem Beginn schon verschiedene Projekte mit MFC realisiert wurden, und ich vorhandenen Code nutzen konnte.
Heute würde ich vollständig auf Qt setzen. Alle kleineren Tools wurden mit Qt statt MFC realisiert. Bei Qt hat sich vor allem der direkte Zugriff auf MySQL-Datenbanken ausgezahlt, da es nicht mehr notwendig war auf allen Rechnern ODBC zu konfigurieren.
Bei diesen Projekten habe ich viele Erfahrungen im Bereich Kommunikation mit Steuerungen, Datenbanken und kleineren Busen (RS232/RS485) sammeln können bzw. kann ich noch sammeln.
Außerdem sind interessante Projekte für das EigerPanel entstanden, unter anderem ein Updateprogramm, mit dem es möglich ist, von der Ferne aus, neue Versionen eines Programmes auf dem Panel aufzuspielen, oder ein kleines Startprogramm, in dem verschiedene Einstellungen für das Panel festgelegt werden können.
2009: Das 1996 erstmals erwähnte Programm zur Anzeige von Nachrichten wurde in C++ auf Linux portiert und versendet jetzt E-Mails, wenn Nachrichten anzuzeigen sind. Das Programm wird mittels CronJob einmal täglich aufgerufen und läuft auf einem Linuxserver im Internet.(gemieteter V-Server).
2013: Entwicklung einer kleinen Web-Anwendung mit Hilfe von Django und Pyhton
Mit Hilfe der Webanwendung verwalte ich meine Projekte und erzeuge meine Abrechnungen. Dabei wird aufgrund der, in einer Datenbank gespeicherten Daten, eine Zeitliste mit Hilfe von latex als PDF erzeugt.
Das Projekt dient mir zum einen zur Erfassung meiner Zeiten, unabhängig vom aktuellen Aufenthaltsort und zum anderen zur Einarbeitung in Django und Python als Sprache zur Web-Entwicklung.
2013/2014: Entwicklung einer Android-Anwendung, mit der ich meine Stunden in die oben genannte Web-Anwendung übertragen konnte. Dies ist meine erste größere Android-Anwendung. Sie unterstützt zum Einen die lokale Eingabe von Start- und Endzeiten sowie Pausen für ein Projekt. Weiterhin findet ein Datenaustausch mit Hilfe von HTTP und XML mit der Web-Anwendung statt, um zum Einen die eingegebenen Zeiten an den Server zu übertragen, und zum anderen werden Daten vom Server abgefragt und auf dem Handy zur Anzeige gebracht.
Intern speichert die Anwendung Daten in der üblichen SQLite - Datenbank.
2014/2015: Einarbeitung in Unity3D. Ich habe ein kleines Spiel implementiert, welches auf einem Brettspiel basiert. Dabei habe ich mich mit den Grundlagen von Unity und C# vertraut machen können. Das Spiel konnte ich erfolgreich als Desktopanwendung und als Web-Anwendung zum Laufen bringen.
2015: Erste Einarbeitung in Qt 5.x für die Entwicklung von Android-Anwendungen. Ich habe begonnen, eine kleine Anwendung mit Hilfe von Qt 5.x für Android zu entwickeln.
Seit dem Projekt bei Technisat/PrehCarConnect in Dresden, seit Mitte 2016 habe ich auch verstärkt leitende Tätigkeiten für das Team, übernommen und bin auch daran interessiert, mich in dieser Richtung weiter zu entwickeln.
EnterpriseArchitect
Android-Entwicklung nativ mit Eclipse und mit Qt 5
MacOSX
Android
IPCAS Ethernet -> RS485/RS232 - Umwandler: wurde verwendet als virtueller COM-Port, und mit Hilfe eines UDP-Protokolls, für den Fall, dass ein entsprechender Treiber nicht verfügbar war. Diese Vorgehensweise ermöglichte die Verwendung dieser Geräte in Umgebungen, in denen keine entsprechenden Treiber (Windows 2008 Server/64Bit Windows) verfügbar sind/waren.
Objektorientierte Entwicklung mit UML und Enterprise Architect, auch unter Verwendung von DesignPattern
bekannter Messgerätehersteller aus München
Hier habe ich am WISO Steuersparbuch mitgerabeitet. In einem kleinen Team von 3 Mann haben wir den GUI-Kern der Software modernisiert.
Teile der Anwendung sind in XML beschrieben, so dass auch XML zum Einsatz kam, um die Beschreibungen zu laden und zu verarbeiten.
Die Anwendung wird für Windos und MacOS entwickelt. Zudem gibt es eine Serverversion, die verschiedene Web-Clients bedient.
Nebenbei habe ich verschiedene kleinere Tools zur Hausinternen Verwendung entwickelt, welche den Entwicklungsprozess vereinfachen. Unter anderem ein Programm, mit dem Neue C++-Klassen erstellt werden können, die gleich in die CMake-Projektdateien eingetragen werden. Neue Dateien wurden direkt ins Versionsverwaltungssystem Perforce eingetragen.
Dieses Programm habe ich allein und unabhängig in eigener Verantwortung entwickelt.
Ich habe neuen Funktionen festgelegt und sie auch entwickelt, implementiert und getestet sowie sie später den Kollegen vorgestellt. Die Anwendung half mir und den Kollegen, bestimmte alltägliche Arbeitsabläufe effizienter zu gestalten.
Das zweite In-House - Tool habe ich in enger Absprache mit einem Vorgesetzten entwickelt, war aber auch verantwortlich für den Funktionsumfang, dessen Entwicklung und Implementierung.
In diesem Projekt habe ich zum einen an CarPlay als auch an einer weiteren Smartphone-Technologie mitgearbeitet.
Bei CarPlay wurden hauptsächlich Fehler analysiert und ggf. gelöst und kleinere neue Funktionalitäten hinzugefügt.
Bei der anderen (noch unbenannten) Technologie habe ich ein kleines Team aus 3 Leuten angeleitet. Das Projekt wurde ende 2016 erfolgreich abgeschlossen.
Ab 2017 Mitarbeit an der neuen Produktversion, dabei wird hauptsächlich bestehender Code für QNX auf die neue Platform gehoben, es werden neue Features für CarPlay hinzugefügt.
Rohde & Schwarz
Entwicklung von Anwendungen für professionelle High-End - Messgeräte. In diesen Projekten habe ich vor allem bei der Entwicklung der Benutzeroberfläche und der Entwicklung der Datenbasis mitgewirkt. Hierbei kam ein spezielles Toolset von R&S zum Einsatz. Zusätzlich wurden kleine Teile der GUI in C++ realisiert. Außerdem sind die Geräte und Anwendungen mit Hilfe von SCPI - einem Standard zur Fernsteuerung von Geräten - fernsteuerbar. Ich habe hier die verschiedenen SCPI-Befehle implementiert und getestet.
Zynaptiq/ultramixer
Entwicklung von Plugins für professionelle Musikprogramme wie ProTools
In diesen Projekten wurde mit Hilfe des Kitty-SDK von BlueCat Audio (http://www.bluecataudio.com/Main/Home/) die GUI und die Hostanbindung für die Plugins entwickelt. Die eigentliche Verarbeitung der Musik übernahmen die Entwickler von Zynaptiq. Alle Plugins wurden sowohl für Windows als auch MacOSX entwickelt.
Durch diese Projekte habe ich intensive Erfahrungen mit der Entwicklungsumgegung XCode 3.x und der Entwicklung unter MacOSX gesammelt.
Hierbei handelt es sich um ein etwas kleineres Projekt, welches neben der Entwicklung der großen Projekte abläuft.
Eine letzte Version wurde im März 2014 auf einer Messe gezeigt.
Projekt 1: bis Dezember 2009: Entwicklung eines Programms zur Übertragung von Daten aus einer Steuerung in eine Datenbank. Das Programm konnte die Daten auf verschiedene Weise vorverarbeiten (verschiedene Glättungsalgorithmen waren zum Beispiel möglich)
bevor sie in der Datenbank gespeichert wurden. Dank OPC konnten alle Steuerungen ausgelesen werden, für die ein OPC-Server exisitiert.
Die Daten wurden in einer MySQL - Datenbank gespeichert, das Programm selbst ist aber dank SQL unabhängig von der verwendeten Datenbank.
Das Programm wurde als Windowsdienst entwickelt.
Projekt2: bis Oktober 2010:
Überwachung der Hauseigenen Abwassergrube und automatisches absenden einer SMS bei Erreichen eines kritischen Füllstandes.
Die SMS wurde mit Hilfe eines Internetdienstes versendet.
Hier kamen auch erstmals Touchpanels (EigerPanel) zum Einsatz, für die Anzeige verschiedener Daten.
Zur Authorisierung für verschiedene Funktionen wurden RFID-Chips verwendet, welche über einen RFID-Leser, der am Touchpanel angeschlossen war (RS323), ausgelesen.
Das Panel selbst diente als Anzeige, während die Verarbeitung von Daten in einem Windowsprogramm durchgeführt wurde. Das Serverprogramm wurde als Windowsdienst implementiert.
Die Touchpanels wurden an einen RS485 - Bus angeschlossen, welcher mit Hilfe von IPCAS - Geräten ans Intranet angeschlossen wurde.
Projekt3: - abgeschlossen
Ein Überwachungssystem für Weintanks. Hier wurden Touch-Panels verwendet, die ein Linux verwenden. Die auf den Panels laufende Anwendung ist mit Qt 4.x entwickelt worden. Daten, welche die Anwendung zur Darstellung benötigt, werden direkt aus einer MySQL-Datenbank geladen.
Projekt4: - März 2012 - Ende 2012
In diesem Projekt wird eine weitere Maschine überwacht. Es wird hierzu wieder ein Touchpanel mit Linux verwendet. Die Anwendung zeigt mit Hilfe der Bibliothek QWT eine verschiedene Kurvendiagramme, welche den Verlauf der Produktion widerspiegeln. Hierzu wurde eine neue Skriptengine entwickelt, welche die Ausführung von sowohl SQL-Skripten als auch Javascripten mit Hilfe der Qt-Scriptengine ermöglicht. Es wäre ebenfalls möglich, weitere Skriptengines, wie Python oder Ruby, einzubinden.
Projekt5: - von Anfang 2013 bis Schluss
In diesem Projekt wurde eine Lagerverwaltung für das Vollgutlager der Firma entwickelt und implementiert. Hierbei kommen neben einer Qt-Anwendung für die Ausführung von Lieferaufträgen, auch Barcodescanner zum Einsatz, um die auszuliefernden Artikel durch Abscannen von Barcodes, einzugeben.
Alle drei Projekte haben intensiv Daten aus Datenbanken ermittelt oder in Datenbanken gespeichert. Eine "Mini-Skriptsprache" diente der Definition zu verwendender SQL-Anweisungen und dem Datenaustausch mit den entsprechenden Anwendungen. SQL-Anweisungen wurden nicht im Quellcode kodiert. Dadurch wurden die Anwendungen flexibler, da mögliche Änderungen an der Datenbank, oder kleine Änderungen in Anzeigen nur durch die Änderung der SQL-Anweisungen in der Konfiguration erreicht werden konnten.
Nebenbei entsanden kleinere Projekte mit Hilfe von C++/MFC und C++/Qt.
Mit Hilfe des Qt - WebKit wurde eine kleine Anwendung entwickelt, welche bis zu 6 konfigurierbare Buttons und eine Webseite anzeigen konnte. Auf die Buttons wurde die darzustellende Webseite konfiguriert. Das Programm kam im Produktionsbereich auf einem PC mit Touchscreen zum Einsatz, zur Schnellen und Einfachen Abfrage von, im Intranet vorhandener, Produktionsdaten.
Ein Tool diente der internen Kurznachrichten-Übermittlung. Dieses Programm las im Minutentakt Nachrichten für den, am Computer angemeldeten Benutzer, aus der Datenbank und hat sie entsprechend auf dem Bildschirm angezeigt. Für dieses Programm wurde von mir auch ein MSI-Paket (mit Hilfe eines VS Installer-Projektes) erzeugt, welches in der Firma per Windowspolicy verteilt wurde.
Die drei großen Projekte wurden mit Hilfe von MFC implementiert, da bei meinem Beginn schon verschiedene Projekte mit MFC realisiert wurden, und ich vorhandenen Code nutzen konnte.
Heute würde ich vollständig auf Qt setzen. Alle kleineren Tools wurden mit Qt statt MFC realisiert. Bei Qt hat sich vor allem der direkte Zugriff auf MySQL-Datenbanken ausgezahlt, da es nicht mehr notwendig war auf allen Rechnern ODBC zu konfigurieren.
Bei diesen Projekten habe ich viele Erfahrungen im Bereich Kommunikation mit Steuerungen, Datenbanken und kleineren Busen (RS232/RS485) sammeln können bzw. kann ich noch sammeln.
Außerdem sind interessante Projekte für das EigerPanel entstanden, unter anderem ein Updateprogramm, mit dem es möglich ist, von der Ferne aus, neue Versionen eines Programmes auf dem Panel aufzuspielen, oder ein kleines Startprogramm, in dem verschiedene Einstellungen für das Panel festgelegt werden können.
2009: Das 1996 erstmals erwähnte Programm zur Anzeige von Nachrichten wurde in C++ auf Linux portiert und versendet jetzt E-Mails, wenn Nachrichten anzuzeigen sind. Das Programm wird mittels CronJob einmal täglich aufgerufen und läuft auf einem Linuxserver im Internet.(gemieteter V-Server).
2013: Entwicklung einer kleinen Web-Anwendung mit Hilfe von Django und Pyhton
Mit Hilfe der Webanwendung verwalte ich meine Projekte und erzeuge meine Abrechnungen. Dabei wird aufgrund der, in einer Datenbank gespeicherten Daten, eine Zeitliste mit Hilfe von latex als PDF erzeugt.
Das Projekt dient mir zum einen zur Erfassung meiner Zeiten, unabhängig vom aktuellen Aufenthaltsort und zum anderen zur Einarbeitung in Django und Python als Sprache zur Web-Entwicklung.
2013/2014: Entwicklung einer Android-Anwendung, mit der ich meine Stunden in die oben genannte Web-Anwendung übertragen konnte. Dies ist meine erste größere Android-Anwendung. Sie unterstützt zum Einen die lokale Eingabe von Start- und Endzeiten sowie Pausen für ein Projekt. Weiterhin findet ein Datenaustausch mit Hilfe von HTTP und XML mit der Web-Anwendung statt, um zum Einen die eingegebenen Zeiten an den Server zu übertragen, und zum anderen werden Daten vom Server abgefragt und auf dem Handy zur Anzeige gebracht.
Intern speichert die Anwendung Daten in der üblichen SQLite - Datenbank.
2014/2015: Einarbeitung in Unity3D. Ich habe ein kleines Spiel implementiert, welches auf einem Brettspiel basiert. Dabei habe ich mich mit den Grundlagen von Unity und C# vertraut machen können. Das Spiel konnte ich erfolgreich als Desktopanwendung und als Web-Anwendung zum Laufen bringen.
2015: Erste Einarbeitung in Qt 5.x für die Entwicklung von Android-Anwendungen. Ich habe begonnen, eine kleine Anwendung mit Hilfe von Qt 5.x für Android zu entwickeln.
Seit dem Projekt bei Technisat/PrehCarConnect in Dresden, seit Mitte 2016 habe ich auch verstärkt leitende Tätigkeiten für das Team, übernommen und bin auch daran interessiert, mich in dieser Richtung weiter zu entwickeln.
EnterpriseArchitect
Android-Entwicklung nativ mit Eclipse und mit Qt 5
MacOSX
Android
IPCAS Ethernet -> RS485/RS232 - Umwandler: wurde verwendet als virtueller COM-Port, und mit Hilfe eines UDP-Protokolls, für den Fall, dass ein entsprechender Treiber nicht verfügbar war. Diese Vorgehensweise ermöglichte die Verwendung dieser Geräte in Umgebungen, in denen keine entsprechenden Treiber (Windows 2008 Server/64Bit Windows) verfügbar sind/waren.
Objektorientierte Entwicklung mit UML und Enterprise Architect, auch unter Verwendung von DesignPattern
bekannter Messgerätehersteller aus München
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.