karl-heinz reichel

Werbung
karl-heinz reichel
Software-Entwicklung
Profil
Name: Karl-Heinz Reichel
Staatsbürgerschaft: deutsch
Verfügbar ab: Mai 2016
Ausbildung
Studium der Elektrotechnik an der Univ. Erlangen-Nürnberg
Kenntnisse
Programmiersprachen
Assembler:
80x86, div Controller (PIC, ATMEL)
C:
Ansi C, div. Embedded C (gcc)
C++:
Gnu C++ / CLANG / Visual C++
JavaScript:
Python
C#:
Visual C#
Java:
JDK, Swing
Scripting:
Java-Script, PHP, Perl, Python, QML
SQL:
Microsoft TSQL, Oracle PL/SQL
Werkzeuge
Tools:
IDE: QtCreator, Microsoft Visual Studio, Eclipse, PyCharm, IntelliJ, CLion, KDevelop
Versionsverwaltung: GIT, CVS, SVN, Source Safe, Rational Clear Case
Atlassian Stash, GitLab
UML: Sparx Enterprise Architect
Requirementsmanagement: Doors
Datenbank-Entwurf: Sybase PowerDesigner
Report Generatoren: Crystal Reports / Combit List & Label
div. Grid & Charting Tools
Unit-Testing: QtTest / Google Test / JUnit, CppUnit
Build Server: Jenkins
Tracker: JIRA, YouTrack
Datenbanken:
Microsoft Access
Microsoft SQL Server
Oracle
MySQL
SqLite
Produkte / Standards / Erfahrungen
Erfahrungen im Bereich:
Architektur / Design
Anwendungs- & Systemprogrammierung
Refactoring bestehender Anwendungen
Spezifikation, Programmierung, Testverfahren
Erstellung von Installationen
Requirements Management
Dokumentation / Online-Hilfe
Methoden:
UML (Enterprise Architect)
Datenbank-Design (Sybase PowerDesigner)
Microsoft Technologien:
MFC, ATL, COM, COM+, Applikationsentwicklung,
Treiberentwicklung
div Frameworks
embedded SQL, ADO
C#, ASP.NET, ADO.NET, Windows FORMS, WebServices
Software-Entwicklung:
QT4 / QT5 (unter Windows / Linux / Embedded Linux ucLinux)
QML / QtQuick
NDK Entwicklung Android
Java Technologien
AWT, SWING, BEANS, XML, JDBC
Embedded Technologien
Entwicklungsumgebungen für ARM (STM / Raspi)
Entwicklungsumgebungen für PowerPC
InCircuit Emulatoren / Debugger
Busanalysatoren für Feldbusse (CAN, CanOpen)
Erfahrung
Berater / Architekt
Zeitraum: April 2015 – Mai 2016
Firma/Institut: Kommerzielle Software (ERP)
Projekt : Konzeption / Architektur / Training
Migration von Komponenten von MFC auf QT5
Aufgaben
Entwurf eines Model- / View-Konzepts zur Migration einer auf der MFC basierenden TabellenKomponente auf QT5.
Implementierungsunterstützung für kundenspezifische Tabellen- und Tree- Komponenten.
Training und Unterstützung weiterer Entwickler
im Bereich Modell/View-Architektur und QT5.
Installation und Konfiguration eines automatischen Buildprozesses mit Jenkins.
Verwendete Werkzeuge

QtCreator (C++ / QML / JavaScript)

Microsoft Visual Studio 2015

QT 5.4 (QT/QML)

Enterprise Architect

Windows
Mac OSX

GIT

Jira Tracker
Berater / Architekt
Zeitraum
:
Januar 2013 – April 2015
Firma/Institut
:
Industrie
Projekt
:
Konzeption / Architektur /
Entwicklung eines modernen Bedienkonzepts
zum Management von Anlagen / Messwerten
Aufgaben
Entwurf einer modularen, leicht skalierbaren Bedienoberfläche zum Management von
Anlagen und erfassten Messwerten.
Entwicklung einer Mehrschicht-Architektur zur einfachen Integration von
unterschiedlichen Datenquellen.
Beratungs- und Entwicklungsunterstützung für das Betriebssystem Linux.
(Crossplattform-Entwicklung)
Unterstützung der Entwickler (bisher wurde unter Microsoft MFC entwickelt) beim
Einsatz der Bibliothek QT.
Installation und Konfiguration eines automatischen Buildprozesses mit Jenkins.
Verwendete Werkzeuge
•
QtCreator (C++ / QML / JavaScript)
•
Enterprise Architect
•
QT 4.8 / 5.2 (QML)
•
Windows
•
Microsoft Visual Studio 2010/13
•
Linux ( Debian / Ubuntu)
•
GIT / Perforce
•
YouTrack Tracker (JetBrains)
Berater / Hauptentwickler
Zeitraum
:
Januar 2013 – April 2015
(teilw. 25-50%)
Firma/Institut
:
Industrie
Projekt
:
Konzeption / Architektur /
Entwicklung eines embedded Linux Systems
Aufgaben
Konfiguration - Anpassung eines embedded Linux - Kernels an bestehende Hardware
(PPC 5125)
Entwurf einer mehrschichtigen Anwendungsarchitektur (GUI - Middleware - Treiber)
Umsetzung des Grafik-Designs in QT/QML basierende Widgets.
Implementierung eines Statemachine-basierenden Workflows zur Maskensteuerung.
Erstellung von Backend-Prozessen zur Verfahrenstechnik
Erstellung von Basis-Komponenten zur Kommunikation mit Ethernet - CAN - RS232 RS485
Aufsetzen eines automatischen Build- und Deployment-Prozesses.
Verwendete Werkzeuge
•
QtCreator / KDevelop (c++)
•
Enterprise Architect
•
QT 4.8 (QML)
•
Linux / embedded Linux
(PPC 5125)
•
GIT
•
Bitbucket Tracker
Berater / Hauptentwickler
Zeitraum
:
April 2012 – Dezember 2012
Firma/Institut
:
Industrie
Projekt
:
Erstellung einer QT 4.8 embedded Applikation
Aufgaben
Konzeption und Entwicklung des Userinterfaces einer QT4.8 Applikation für ein
embedded System (PowerPC basierend).
Umsetzung des Grafik-Designs in QML basierende Widgets.
Implementierung eines statemachine-basierenden Workflows zur Steuerung der
Frameübergänge.
Implementierung von Backend-Funktionalität zur Kommunikation mit der
Verfahrenstechnik.
Integration Feldbus-Technologien
- CANOpen zur Kommunikation der Steuerung mit kundenspezifischen IO-Boards
- Ethernet Socket-Kommunikation zur Remotesteuerung der Steuerung
Aufsetzen eines automatischen Build- und Deployment-Prozesses.
Verwendete Werkzeuge
•
QtCreator / KDevelop (c++)
•
Enterprise Architect
•
QT 4.8 (QML)
•
Linux / embedded Linux
•
GIT
•
Redmine Tracker
Berater / Entwicklungsleiter
Zeitraum
:
Oktober 2011 – März 2012
Firma/Institut
:
Industriesteuerung
Projekt
:
Beratung eines Kunden zum Einsatz von Ethercat in
eine neue Kundensteuerung (3-D Fräsanwendung)
Aufgaben
Erarbeitung eines Konzepts zur Migration eines Steuerungskonzepts von properitären
Steuerungseinheiten hin zu Standard-Steuerungskomponenten (Beckhoff Ethercat)
Entwurf und Unterstützung der Erstellung einer Klassenbibliothek unter Windows zur
Kommunikation mit Ethercat-Controllern
Integration von QML-Komponenten für visuelle Effekte der Anwendung.
Verwendete Werkzeuge
•
Microsoft Visual Studio 2010
(c++)
•
Enterprise Architect
•
QT 4.8
•
MS Project
•
Git
•
JIRA Tracker
Projektmanagement
Zeitraum
:
November 2010 – Sept. 2011
Firma/Institut
:
Automotive
Projekt
:
Unterstützung Organisation Kundenprojekt
Aufgaben
Releaseplanung und Buildmanagement
Featureplanung in Zusammenarbeit mit Projektleitung und dem Kunden.
Analyse von Softwaredefekten in Zusammenarbeit mit dem Kunden
Zuweisung der akzeptierten Softwaredefekte an Entwickler
Integration von Bugfixes und Features
Tools und Software
Version Control : SVN
Entwicklungswerkzeuge:
Microsoft Visual Studio 2008 (c++) mit div. WinCE SDKs.
Dokumentation mit Microsoft Office
Planung: Microsoft Project
Bugtracking: JIRA
Anwendungsentwickler / Berater
Zeitraum
:
November 2009 - Oktober 2010
Firma/Institut
:
Automotive
Projekt
:
Umstellung einer Navigationslösung auf das standardisierte
Automotive-Datenformat NDS
Aufgaben
Erweiterung und Anpassung einer bestehenden Navigationslösung auf das
standardisierte Datenformat NDS.
Definition des Feinkonzepts der Datenzugriffsschnittstelle zu NDS
Erstellung von Testkonzepten für die neuen Komponenten.
Portierung bestehenden Datenbankzugriffsschichten auf den neuen
Datenbankzugriffslayer.
Untersuchung von Performance / Speicherverbrauch zur bisherigen properitären
Datenbank-Zugriffsschicht.
Verwendete Werkzeuge
•
Microsoft Visual Studio 2008 (C++)
•
Enterprise Architect (UML)
•
Eclipse für die NDS Simulation
•
MS Project
•
SVN
•
JIRA Tracker
Anwendungsentwickler / Berater
Zeitraum
:
Januar 2009 - Oktober 2009
Firma/Institut
:
Navigon AG
Projekt
:
Portierung eines Navigationskernels für Automotive Devices
Aufgaben
Weiterentwicklung / Redesign einer kommerziellen Navigationslösung für den Einsatz
als automotivetauglicher Navigationskern.
Erarbeitung eines Portierungskonzepts.
Portierung der Navigationslösung auf embedded Linux (ARM).
Portierung der Navigationslösung auf Android.
Erarbeitung von Testkonzepten.
Verwendete Werkzeuge
•
Microsoft Visual Studio 2008 (C++)
•
Enterprise Architect
•
Kdevelop (g++)
•
MS Project
•
Crosscompiler Toolchain (ARM
Compiler)
•
CMake
•
Perforce
•
Bugzilla Tracker
•
QT (Simulation auf dem PC)
•
Eclipse
Anwendungsentwickler
Zeitraum
:
April 2007 - Januar 2009
Firma/Institut
:
Elektrobit
Projekt
:
Erweiterung eines Navigationsgeräte Konfigurators
Aufgaben
Entwicklung einer Windows-Applikation zur Konfiguration von Navigationsgeräten.
Entwicklung von grafischen Komponenten (Widgets) zur Darstellung von Kartendaten
und berechneten Routen (OpenGL).
Erweiterung der Applikation um ein Webinterface zur Darstellung von aufgezeichneten
Routen.
Erweiterung der Applikation um ein Shopinterface zum direkten Einkauf von
Kartenmaterialen in der Anwendung.
Customizing der Applikation für verschiedene Kunden (verschiedene Styles und
Plugins)
Erstellung eines automatischen Deployments der Anwendung für verschiedene
Versionen der Anwendung.
Aufsetzen eines Continous-Buildprozesses (Cruise Control).
Verwendete Werkzeuge
•
Microsoft Visual Studio 2005 (c++)
•
Nokia QT
•
OpenGL
•
SVN
•
Enterprise Architect (UML)
•
Criuse Conrol continous build
Feature Owner / Architekt
Zeitraum
:
November 2006 - März 2007
Firma/Institut
:
Bosch/Blaupunkt
Projekt
:
Neuentwicklung einer PKW Infotainment-Plattform
Aufgaben
Analyse / Beurteilung der zu verwendenden Entwicklungswerkzeuge
(Elektrobit Tresos Guide, ADIT Plattform + Komponenten)
Implementierung eines Wissenspools beim Kunden (WiKi Basis) zur Schulung interner
Mitarbeiter.
Anforderungsanalyse/Machbarkeitsstudien der Kundenanforderungen
Gliederung des Teilprojekts HMI in Unterprojekte (Outsourcing)
Unterstützung interner und externer Mitarbeiter beim Einsatz der Entwicklertools.
Entwurf einer Systemarchitektur für das Teilprojekt HMI.
Vergabe und Tracking der einzelnen Unterprojekte.
Verwendete Werkzeuge
Elektrobit Tresos Guide
Microsoft Project
Enterprise Architect
ClearCase
Produktverantwortlicher (Feature owner)
Zeitraum
: Juni 2004 – Juni 2006
Firma/Institut
:
Alpine GmbH
Projekt
:
Entwicklung/Weiterentwicklung einer PKW Navigationsplattform
Aufgaben
:
Analyse der bestehenden Codebasis
Refactoring / Reengineering einzelner Module unter Einsatz von Telelogic Rhapsody
Implementierung eines projektweiten Unitest-Konzepts.
Definition / Design / Implementierung einer modularen Testbench-Applikation.
•
•
•
•
•
Identifizierung der Requirements unter Einsatz von Telelogic Doors
•
Kundenpräsentation und Erstellung von Schulungsunterlagen für Anwender
unternehmensweit
Erstellung eines Feinkonzepts der Testbench-Applikation
Modellierung und Design der Applikation
Implementierung der Applikation
Erstellung eines Deployment-Konzepts für die Anwendung
(Installation/automatische Updates).
Verwendete Werkzeuge
Microsoft Visual Studio 6.0 C++
Microsoft Embedded Visual C++ 4.2
Microsoft Visual Studio.Net
Telelogic Rhapsody
Telelogic Doors
CVS / SVN
Wise Install Builder
Microsoft Platform Builder
Projektleitung / Entwicklung
Zeitraum
:
März 2003 - Juni 2004
Firma/Institut
:
Stiefelmayer GmbH /BMW München
Projekt
:
Fahrzeugkonturvermessung
Aufgaben
Konzeption / Entwurf / Realisierung der Steuerung einer
Fahrzeugkonturvermessungsanlage.
Erstellung/Erprobung von Bewegungsprofilen für Lasermessmaschinen (Stiefelmayer)
Scanning von Fahrzeugoberflächen mittels 3D Lasermessmaschinen (Stiefelmayer).
Bestimmung der gemessenen Außenkonturen durch Approximation und dem Einsatz
von Freeman Code Scanning (Bitmap - Vector Konvertierung).
Bestimmung von Flächen / Abmaßen / Schwerpunkten von gescannten Messobjekten.
Bereitstellung der Messdaten für die unternehmensweite Auswertung
(Ablage in Datenbank Oracle 9i).
Prozessvisualisierung / Benutzerführung
Entwicklung einer Klassenbibliothek zur Darstellung von Prozessdaten.
Entwicklung verschiedener Auswertungsapplikationen zum Vergleich der einzelnen
Messaufträge.
Entwicklung eines Datenexporters zur Konvertierung der Meßdaten in verschiedene
Formate ( Freeman Kettencodes, Bitmaps (PNG/JPG), Vektorformate ( DXF / IGES ) )
Verwendete Werkzeuge
Tools & Software :
Microsoft C#, C++ (C++.Net)
Entwicklungswerkzeuge Oracle 9i
PDF Generator (List&Label)
CVS
InstallShield Developer
Weitere Projekte von geringerem Umfang im Bereich der hardwarenahen
Programmierung
Firmware + Applikationsentwicklung eines Kommunikationscontrollers
•
•
•
•
•
Schnittstellenerweiterung bestehender Systeme
Implementierung mehrerer Bussysteme RS422/RS485/RS232 & Arcnet
Embedded Arcnetcontroller SMC ( 8051 basierend)
Design & Entwicklung der Komponente
Programmierung der Firmware
Entwicklung + Programmierung eines Applikators
•
•
•
Design & Entwicklung der Hardware
•
•
Programmierung der Controller-Firmware
Implementierung von Schnittstellen zu Lagegebern (Encodern)
Softwareseitige Lagekompensierung bei verschiedenen
Maschinengeschwindigkeiten (Patentiert)
Inbetriebnahme und Kundenschulung vor Ort
Firmware + Applikationsentwicklung eines Industriebussystems
•
•
•
•
•
•
Entwicklung eines dezentralen Steuerungskonzepts
Implementierung des Feldbussystems CAN/CanOpen
Untergeordnete CAN Komponenten 8x51 Derivate ( 80592 Philips)
Zentral-Steuerungseinheit mit 80356EX + CAN Controller )
Programmierung der Firmware
Erstellung von Busmaster-Systemen für Test und Verifizierung
Firmware + Applikationsentwicklung eines Feldzellencontrollers
•
•
•
•
Entwicklung einer kundenspezifischen Hardwarelösung
Highspeed-Kommunikationsapplikation
Interner I2C-Busmaster zur Steuerung externer Komponenten
Firmware die Basisfunktionalität (I/0, Watchdog, Treiber für externe Komponenten)
bereitstellt
Zugehörige Unterlagen
Herunterladen