06.09.2022 aktualisiert


Softwareentwickler C#, c++
Skills
· Windows 10 / 8 / 7
· Windows CORE / CE / Mobile
· plattformübergreifende Entwicklungen in C#
(Mono/CORE)
· plattformübergreifende Entwicklungen in C++ (Qt)
Programmiersprachen:
· C#
· C++
Technologien:
· .NET Framework 1.1 – 5.0
· .NET Core
· MS Visual C++, MFC
· Qt
Spezialkenntnisse:
· Systementwurf / Systemarchitektur
· GUI Entwicklungen
· HMI Entwicklungen
· WPF, XAML, MVVM, PRISM, Controls für WPF
· SQL (MS Sql Server, Sq-Lite)
· Windows Forms
· Linq
· XML, XSD
· WCF, WF
· OLE, ActiveX, COM, DCOM, ATL, Remoting
· Open-GL (3D Animationen unter C++)
· Direct-X (3D Animationen unter WPF)
· CAN Bus, EtherCAT, RS 232 / 485, TCP/IP, ISA Bus
· Entwicklung von Windows Services
· oo-Technologien
· Multi-Threading
· boost library
· STL
· Microsoft Foundation Classes (MFC)
· Git, TFS (Team Foundation Server), Azure DevOps,
Visual SourceSafe
· Qualitätsmanagement für Medizinprodukte
· Messdatenaufbereitung und Visualisierung in 2D Charts
(SCI-Chart Komponente für WPF)
· Rest full services
· Unit Testing
· IOT, Industrie 4.0, PTC-ThingWorx, Symmedia, Axoom
Erfahrung
Sprachen
Projekthistorie
Die Software kommuniziert mit dem Datenspeicher. Sie spielt Updates der Gerätesoftware auf, parametriert diese und liest die Daten des Speichers aus.
Der Kunde besaß eine über viele Jahre gewachsene und somit sehr unstrukturierte 1.0 Version der Software. Als ihn der für diese Software verantwortliche Mitarbeiter verließ, ergab sich die Situation, dass die Software von anderen Entwicklern nicht gewartet oder gar weiterentwickelt werden konnte.
Ausgehend von diesem Softwarestand wurde von mir eine komplette Neuentwicklung durchgeführt. Die Ausgangsbasis bestand aus 5.42 MB Daten in 800 reinen Code-Files (nur *.cs, und *.xaml Dateien). Ich habe daraus eine Software mit 568 Code-Files erzeugt, die 1,98 MB Daten umfasst. Die neue Software enthält bei deutlich gesteigertem Funktionsumfang somit nur noch ca. 35% der Codelines der Ausgangssoftware.
Die Arbeit wurde komplett in unserem Büro durchgeführt, in regelmäßigem Turnus gab es TeamViewer Meetings oder auch Besprechungen beim Kunden vor Ort.
Verwendete Technologien:
- C#
- WPF, XAML, PRISM, Controls für WPF
- Kommunikation mit den Geräten über natives-USB
- Mehrsprach-Fähigkeit
Im Rahmen dieser Aufgabe habe ich diverse Module einer komplexen Software entwickelt, über welche Automobilprüfstände konfiguriert und betrieben werden.
Einige Aufgaben waren:
- Erstellung einer Fernbedienung auf einem Windows Embedded CE System zur Fernsteuerung der Prüfstandssoftware über Tcp/Ip.
- Erstellung einer WPF basierten Software zur Erstellung von Prüfstandsdefinitionen. (Eigenverantwortliche Komplettentwicklung)
- Erstellen eines Modules, um die Datenströme der Anlage entgegenzunehmen, aufzubereiten (downsamplen, filtern), an andere Applikationen weiterzureichen und zu speichern.
- Entwicklung einer Kommunikationsschnittstelle, um verschiedene Prozesse über Tcp/Ip (und damit auch rechnerübergreifend) miteinander zu vernetzen (Ähnlich WCF). Über diese Schnittstelle werden auch die Microcontroller angesteuert, die die Regelung der Anlage in Echtzeit übernehmen.
- Einbindung von externen Signalquellen, die Signale über CAN oder über EtherCAT liefern.
- Entwicklung eines Layout-Editors, um Prüfstandsdefinitionen grafisch darzustellen, und dort Systemzustände zu visualisieren.
Verwendete Technologien:
- C#
- C++
- WPF
- Linq
- COM
- CAN / EtherCAT
- Windows Embedded
- Interprozesskommunikation über Tcp/Ip
- Team Foundation Server
- Internationalisierung
- Bugzilla
Während der Festigkeitsprüfung von Bauteilen verändern diese über die Zeit ihre Charakteristik. Die Software dient dazu, solche Veränderungen zu erkennen, und in Form von Kraft-Weg Diagrammen darzustellen. Als Diagramm-Modul kam die SCI Chart Komponente für WPF zum Einsatz.
Verwendete Technologien:
- C#
- WPF, XAML, PRISM
- SCI Chart für WPF