a Randstad company

Schwerpunkte auf MDSD, MDA, TDD und agiler (iterativ inkrementeller) Entwicklung vorzugsweise im Bereich RCP oder Web-Service-Back-Ends.

Profil
Top-Skills
Modellbasierte Software-Entwicklung OOD GoF-Patterns Requirements-Engineering und -management TDD UML
Verfügbar ab
02.01.2023
Aktuell verfügbar - Der Experte steht für neue Projektangebote zur Verfügung.
Verfügbar zu
60%
davon vor Ort
100%
Einsatzorte

Städte
Erlangen (D-91056, D-91058, D-91052, D-91054) (+200km)
PLZ-Gebiete
Länder
Deutschland

Remote-Arbeit ist möglich.

Remote-Arbeit
Nicht möglich
Art des Profiles
Freiberufler / Selbstständiger
Der Experte ist als Einzelperson freiberuflich oder selbstständig tätig.

3 Jahre 4 Monate

2019-09

2022-12

Supportleistungen für ein Nürnberger Bundesamt

Requirementsingenieur, SW-Architekt, -Entwickler und -Tester Atlassian Confluence Atlassian JIRA MVC ...
Rolle
Requirementsingenieur, SW-Architekt, -Entwickler und -Tester
Projektinhalte

Pflege und Erweiterung von Workflow-Management-Systemen auf JIRA-Basis mit Fokus auf den eigenentwickelten Plugins, die MVC-Services auf Velocity-Basis und SPAs auf SOY/Javascript-Basis implementieren.

Produkte
Eclipse git maven Jenkins apache velocity templates soy templates JIRA tomcat JavaScript OSGI JIRA-Plugins Bitbucket
Kenntnisse
Atlassian Confluence Atlassian JIRA MVC SPA REST GoF-Patterns JSON
Kunde
Ein Nürnberger Bundesamt im Auftrag eines Berliner Systemhauses
Einsatzort
Nürnberg, Erlangen (Home-Office)
2 Jahre 9 Monate

2018-09

2021-05

Toolchaining

Software-Architekt, -Ingenieur, -Tester und Systemintegrator JEE8 Spring Boot Docker ...
Rolle
Software-Architekt, -Ingenieur, -Tester und Systemintegrator
Projektinhalte

Modernisierung und Verfeinerung selbst erstellter Softwarekomponenten zur Verkettung gegebener Werkzeuge und Frameworks zur Unterstützung der Softwareentwicklung und Projektabwicklung; Bewertung von Softwarewerkzeugen und Frameworks bezüglich ihrer Eignung für diese Zwecke.

Kenntnisse
JEE8 Spring Boot Docker MongoDB elasticsearch BIRT
Kunde
Andreas Schmid
Einsatzort
Erlangen
1 Jahr 10 Monate

2016-11

2018-08

Diagnostics - Java and RCP Development

Product Owner, Software-Entwickler, Customer Support OTX (Open Test sequence eXchange - ISO 13209) UML2 Scrum
Rolle
Product Owner, Software-Entwickler, Customer Support
Projektinhalte

Technologischer Kontext:

Um Operationen wie

  • Diagnose,

  • Tests,

  • Re-Programmierung oder

  • Initialisierung

von Automobilkomponenten oder Funktionen mit diagnostischen Fähigkeiten durchzuführen, nutzt man diagnostische Testsequenzen.

Solche Operationen können mit off-board Testsoftware ausgeführt werden.

Die OTXSuite ist solche Software.

Neben ihrer Ausführung ist die Entwicklung und der Test solcher

Operationen das Hauptleistungsmerkmal der Suite.

Testsequenzen definieren die Abfolge von Interaktionen zwischen dem Anwender, der Diagnoseanwendung und der Kommunikationsschnittstelle des Fahrzeugs.

Der Anwender kann ein Mitglied des Werkstatt- oder Montagepersonals sein.

Die Sequenzen definieren zudem alle Berechnungen und Entscheidungen, die für eine geführte Diagnose oder ähnliche Testlogik gebraucht werden.

OTX (Open Test sequence eXchange, ISO 13209) schlägt ein offenes und standardisiertes, xml-basiertes, von Menschen und Maschinen lesbares Datenformat zur Beschreibung diagnostischer Testsequenzen vor.

Sein Einsatzzweck:

Das Format unterstützt den einheitlichen Transfer diagnostischer

Testsequenzen zwischen

  • Zulieferern elektronischer Systeme,

  • Fahrzeugherstellern,

  • Händlern und

  • Werkstätten.

In OTX definierte diagnostische Testsequenzen werden im folgenden als OTX-Sequenzen bezeichnet.

Durchgeführte Tätigkeiten:

Erster Vertrag, ursprüngliche Aufgabenstellung:

Refactoring der OTXSuite, die ursprünglich von der In2Soft GmbH entwickelt wurde.

Technische Merkmale der Suite:

  • Außendarstellung (VIEW): Grafische Darstellung einer OTX-Sequenz unter Verwendung von GEF.

  • Datenmodell (MODEL): Apache XMLBeans (https://xmlbeans.apache.org/).

Das Refactoring wurde nötig, da unter anderem die Implementierung des Datenmodells auf Apache XMLBeans basierte, deren Pflege seit Mai 2014 eingestellt ist.

Architekturelles Refactoring:

Ziel: Entwirren der Komponenten-Verantwortlichkeiten bis Komponenten mit Model-, View- & Controller-Verantwortlichkeiten klar getrennt sind.

Anschließend Austausch der Komponenten mit Model-Verantwortlichkeiten.

  • Zu diesem Zweck Analyse der OTXSuite im Bezug auf Ansätze zur Migration von Apache XMLBeans zu EMF unter Verwendung des XText-Frameworks bei gleichzeitiger Migration von Eclipse 3 nach Eclipse 4.

  • In diesem Zusammenhang Skizzierung von Ansätzen zum Aufbau einer ausreichenden Test-Abdeckung, die die Voraussetzung jeglicher Refactoring-Maßnahmen ist, bis das Refactoring abgeblasen wurde.

    • Es wurde zu Gunsten des Neubaus der OTXSuite unter Verwendung von Web-Technologien abgeblasen.

Product ownership (PO == project managment + marketing) der OTXSuite:

Übernahme der Produkt-Owner-Ship für die OTXSuite gegenüber einem englischen Kunden der KPIT um die Lücke zu schließen, die durch den Weggang des bisherigen POs entstand.

Diese Aufgabe wurde durchgeführt bis sie an einen neu eingestellten OTX-Experten übergeben werden konnte.

Erweiterung einer Authoring-Guideline:

Anpassung eines Authoring-Style-Guides an die Bedürfnisse des englischen Kunden in enger Zusammenarbeit mit dem Kunden.

Dies schloss die Definition kundenspezifischer Validierungsregeln

(Checker-Rules) zur Ergänzung der bereits in ISO 13209 enthaltenen Kern-Regeln ein.

Requirements-Engineering:

Definition kundenspezifischer Anforderungen an die OTXSuite und ein eigenständiges Validierungswerkzeug, das als OTX-Checker bezeichnet wurde.

Der Checker war darauf ausgelegt neben den Validierungsregeln des ISO 13209 weitere kundenspezifische Regeln umzusetzen.

Prozesseinbettung:

Erstellung des ersten Entwurfs des Entwicklungsprozesses in enger Zusammenarbeit mit dem Kunden.

Der Prozess deckte die Anwendung der OTXSuite,

des oben erwähnten Checkers und anderer von KPIT bereitgestellter Werkzeuge innerhalb der Fahrzeug-Entwicklung und -Produktion des Kunden ab.

6 aufeinander folgende Vertragsverlängerungen:

Product-support für einen deutschen Kunden der KPIT:

Kundensupport und Pflege der OTXSuite V1.0 für einen deutschen Kunden der KPIT auf technischer Ebene.

Pflege-Strategie: Geringst mögliche Änderung - Lasse so viel wie möglich unverändert.

Fehlereingrenzung, -verfolgung und -behebung,

Requirements-Engineering sowie Produkterweiterungen:

  • Fehlerbehebung und Umsetzung von Erweiterungen, die in enger Zusammenarbeit mit dem Kunden definiert wurden.

  • Unterstützung des Kunden im Umgang mit Datenbestandsaktualisierungen unter anderem durch das Refactoring alter mit der Suite erstellter OTX-Sequenzen.

    • Dies wurde durch Junit4-tests erreicht, die die Rolle von White-Box-Tests übernahmen.

  • Durchführung eines Konzeptübergangs innerhalb des Ansatzes des Kunden zur geführten Fehlersuche in enger Zusammenarbeit mit dem Kunden der KPIT.

    • Beim Übergang gewählte Strategie: Iterativ, inkrementell unter Verwendung von Engineering-Releases und koordiniertes, schrittweises Refactoring alter OTX-Sequenzen.

  • Ausarbeitung eines Use-Case-Models, das die funktionalen Anforderungen an den vom Kunden KPITs verfolgten Ansatz zur geführten Fehlersuche wiedergibt. Die Modellierung erfolgte in UML2 unter Verwendung von Enterprise Architect.
Produkte
Eclipse RCP Eclipse 3 Eclipse 4 Xtext Xtend Graphical Editing Framework (GEF) EMF Apache XMLBeans JIRA Bugzilla Enterprise Architect Atlassian Confluence
Kenntnisse
OTX (Open Test sequence eXchange - ISO 13209) UML2 Scrum
Kunde
KPIT Technologies GmbH
Einsatzort
München
1 Jahr 2 Monate

2015-09

2016-10

Vorbereitung eines Open-Source-Projekts

Software-Ingenieur, Tester, Systemintegrator UML2 Java Continuous Integration ...
Rolle
Software-Ingenieur, Tester, Systemintegrator
Projektinhalte

Projektkontext:

Implementierung einer Applikation zur Visualisierung des Verhaltens von UML2-konformen hierarchischen Zustandsautomaten.

Zwei Ansätze zur Erzeugung von Automaten werden umgesetzt:

Die Zustandsautomaten sind über eine DSL spezifizierbar und UML2-konform durch ein UML-Tool modellierbar. In beiden Fällen wird eine gemeinsame Java-Library verwendet. Ihre Implementierung lehnt sich stark an das UML2-Metamodel für hierarchische Zustandsautomaten an.

DETAILS:

  • DSL-basierter Ansatz: Generierter Java-Code implementiert das Verhalten unter Verwendung der Library.

  • UML-basierter Ansatz: Spring-core instanziiert, initialisiert und verdrahtet Klassen aus der Library.

Entwicklungsstand:

  • Die Java-Library ist soweit ausimplementiert, dass sie Deep-History auf alle Hierarie-Ebenen unterstützt. Parallel zueinander ablaufende Automaten werden demgegenüber noch NICHT unterstützt.

  • Spezifikation von UML-State-Charts durch eine DSL auf Xtext-Basis und Code-Generierung durch XTend2-Templates ist möglich. Die Implementierung liegt als stabiler, lauffähiger Prototyp vor.

  • Konvertierung von UML-State-Charts im XMI-Format in spring XML beans als testbarer lauffähiger Prototyp.

  • Integrationstests als parametrisierte Junit-Tests.

Nächste Schritte:

  • Aufsetzen der Build- und Testautomatisierung (CI) auf der Basis von Jenkins, SVN, GIT und Maven Tycho.

  • Visualisierung ausgewählter aus der Spezifikation erzeugter EMF (ecore)-Komponenten mittels GEF. Hierfür liegt ein lauffähiger Demonstrator vor, der im Zuge der Einarbeitung in GEF in Anlehnung an Beispiele aus dem Internet erstellt wurde.

Produkte
Spring-core Eclipse RCP e4 Jenkins Xtext XTend2 SVN Git Maven Tycho GEF EMF
Kenntnisse
UML2 Java Continuous Integration uml2 state charts (metamodel)
Einsatzort
Erlangen
7 Monate

2015-01

2015-07

Optimierung eines Web-Services zur Koordination der Paketzustellung in einem Logistikunternehmen

Unternehmensberater im Bereich Software Engineering Client-Server-Architekturen Client-Virtualisierung GoF Patterns ...
Rolle
Unternehmensberater im Bereich Software Engineering
Projektinhalte

Übernahme, Migration, Integration, Konsolidierung, Test, Dokumentation und Verfeinerung von Software zur Transformation von Zustelladressen für Pakete. Die verfeinerte Software ist Teil eines Systems zur Koordination der Paketzustellung in einem Logistikunternehmen.

  • Verfeinerung durch Quellcode-Refactoring und Optimierung der OO-Architektur der Komponenten zur Transformation von Zustelladressen;
  • Refactoring unter Befolgung allgemein anerkannter Entwurfsprinzipien (SOLID Prinzipien) und unter vorteilhafter Anwendung objektorientierter Entwurfsmuster (GoF Patterns);
  • Erstellung parametrisierter JUnit-Tests als System- und Regressionstests für den gesamten Java-Anteil des Kundenidentifikationsdienstes;
  • Schaffung der Möglichkeit Testdaten als Excel-Tabellen bereitzustellen sowie Unterstützung von Tabellenstrukturen im Umgang mit Testdaten (Apache POI);
  • Testgetriebene Entwicklung ausgehend von Testdaten, die zur Erreichung hoher Qualitätsstandards eine hohe Testabdeckung garantieren;
  • Konsolidierung durch die schrittweise Fehlereingrenzung und -korrektur sowie die Verfolgung der Verhaltensabweichung;
  • Analyse, Eingrenzung und Behebung gemeldeter Fehler;
  • Proaktive, zeitnahe, verzögerungsfreie Meldung sich abzeichnender Risiken und Probleme;
  • Erkennung möglicher Maßnahmen zur Verringerung oder Begrenzung gemeldeter Risiken und Findung von Lösungsansätzen;
  • Erstellung von Dokumenten mit anschaulichen und praxisnahen Beispielen für Nicht-Entwickler;

Zur Vorbereitung auf und begleitend zum Projekteinsatz: Erweiterung des Fachwissens über Spring und JPA zur Bewertung dieser Technologien im Hinblick auf ihre Anwendbarkeit im laufenden und in folgenden Projekten.

Produkte
Apache POI Eclipse JDBC Java EE Java SE Java Standard Edition (JSE) JPA JUnit SVN POI POI
Kenntnisse
Client-Server-Architekturen Client-Virtualisierung GoF Patterns Objektorientierte Softwareentwicklung mit UML OOA OOD OOP SOLID Prinzipien SQL TDD Test-Driven Development UML Java Clean Code
Einsatzort
Bonn
9 Monate

2014-01

2014-09

Schienenfahrzeug-Test-Automatisierung

Software-Ingenieur, Tester Client-Server-Architektur Client-Virtualisierung GoF Patterns ...
Rolle
Software-Ingenieur, Tester
Projektinhalte

Konzeption, Planung, Automatisierung, Implementierung und anschließende Ausführung von Integrations- und Systemtests, denen aufgrund des sicherheitsgerichteten Entwicklungsumfelds eine besondere Bedeutung zukommt.

Die zu testende Software kommt in verschiedenen internationalen Kundenprojekten u .a. im Hochgeschwindigkeits-Schienenverkehr zum Einsatz.

Ausgeführte Aufgaben im Detail:

  • Konzeption der Testfälle, Realisierung mittels Eclipse in Python 2.7 (PyUnit) und Integration in das kundenspezifische Testausführungssystem (TMS - Test Management System) für die automatisierte Ausführung.
  • Im Rahmen der Testfallrealisierung erfolgte sowohl die client- wie serverseitige Analyse und Implementierung von RESTfuI Webservices auf HTTP-Basis.
  • Serverseitig erfolgte die Implementierung von Mock-Ups für RESTfuI Webservices (CherryPy), gegen die zur Steigerung der Entwicklungseffizienz die clientseitige Implementierung (requests, IxmI) getestet wurde, um sie auf ihren Einsatz vorzubereiten. Hierdurch konnte die Testanlage stark entlastet werden.
  • Weiterleitung der Testergebnisse an die Reporting-Infrastruktur unmittelbar nach der Ausführung (SonarQube).
  • Risikogetriebene Auswahl und Entwicklung der Tests unter Einsatz eines agilen Entwicklungsprozesses (SCRUM).

Durch diese Vorgehensweise konnte die frühzeitige Aufdeckung und Weiterleitung einer Reihe von Fehlern in der Software erreicht werden.

Produkte
CherryPy Rational ClearCase Rational ClearQuest Eclipse PyDev lxml (Bibliothek zur Verarbeitung von XML und HTML mit Python) PyUnit requests (HTTP library für Python) Umbrello UML Modeller Lighttpd Wireshark
Kenntnisse
Client-Server-Architektur Client-Virtualisierung GoF Patterns HTTP Linux als Entwicklungsumgebung Objektorientierte Softwareentwicklung mit UM OOA OOD OOP Python 2.7 RESTfuI Webservices auf HTTP-Basis SOLID Prinzipien TDD Test-Driven Development UML REST Clean Code
Einsatzort
Erlangen
1 Jahr 1 Monat

2012-06

2013-06

Collaborative Manufacturing Network for Competitive Advantage

Software-Entwickler Anforderungs-Analyse C/C++ Client-Server-Architektur ...
Rolle
Software-Entwickler
Projektinhalte

Spezifikation und prototypische Umsetzung von ''Mobile Maintenance'' mit einem Front-End auf Android 4-Basis und einem Back-End aus in Java implementierten FCGI-Deamons, die via HTTP kommunizieren und in C++ implementierte Tests anstoßen. Im Rahmen dessen Integration eines in Java auf Eclipse-RCP-Basis implementierten Testmanagement-Werkzeugs als FCGI-Deamon und Anbindung desselben an Virtuoso-Sparql-Endpoints mittels Linked Data sowie Implementierung eines koordinierenden Daemons unter Befolgung der SOLID-Prinzipien bei vorteilhafter Verwendung geeigneter OO-Design-Patterns (GoF-Patterns).

Produkte
Android-SDK Apache AXIS 2 Apache CXF ARQ (SPARQL Processor) AWK BASH Fuseki (SPARQL server) FusionForge (Projektmanagement und -kollaboration) GIMP hiawatha-webserver JUnit 4 openSUSE Kubuntu PowerPoint Protégé (Editor zur Modellierung von Ontologien) SED SoapUI SVN Apache Tomcat Trac Umbrello UML Modeller VirtualBox Virtuoso Wireshark
Kenntnisse
Anforderungs-Analyse C/C++ Client-Server-Architektur Client-Virtualisierung Code-Generierung Eclipse-RCP Eclipse-PDE FCGI Geschäfts-Prozess-Analyse Geschäfts-Prozess-Modellierung GoF-Patterns HTTP Java Standard Edition (JSE) Java Enterprise Edition (JEE) JEE Patterns Linux als Entwicklungsumgebung Modellgetriebene Softwareentwicklung (MDSD) MVC Pattern (JEE) Objektorientierte Softwareentwicklung mit UML OOA OOD OOP Resource Description Framework (RDF) RESTfuI Webservices auf HTTP-Basis SOAP SOLID Prinzipien Test-Driven Development (TDD) UML Linux Administration REST Clean Code
Einsatzort
München
8 Monate

2011-10

2012-05

eMobility - MDSD (Model-Driven Software Development) basierend auf ROOM mittels eTrice.

Software-Ingenieur, Tester awk Bash GoF-Patterns ...
Rolle
Software-Ingenieur, Tester
Projektinhalte

Projektkontext: Entwicklung einer kundenspezifischen Variante des Modellierungswerkzeugs eTrice, das die Modellierungssprache ROOM (Real-Time Object-Oriented Modeling) unterstützt. Das Modellierungswerkzeug verfügt über einen graphischen Editor (Graphiti) und einen Texteditor (DSL auf Xtext-Basis).
Die Variante sollte die modellgestützte Entwicklung
von Steuergerätesoftware basierend auf einer erweiterten Variante von ROOM unterstützen.

Im Rahmen dessen erfüllte Aufgaben:

  • Erstellung von ROOM-Modellen zum Regressionstest des kundenspezifischen C-Code-Generators (Xtend2 Template Expressions) und von Dokumentation zur Einführung der Endbenutzer in die kundenspezifische Variante der Modellierung mit ROOM/eTrice;
  • Eingrenzung auftretender Fehler auf Java-Code- und Modell-Ebene sowie Ausarbeitung von Korrekturvorschlägen;
  • Betreuung der Endbenutzer bei der Modellierung unter Verwendung der erstellten Dokumentation;
  • Aufsetzen und Betreuung der Continuous Integration (Hudson);
Produkte
Apache Ant Apache AXIOM Eclipse-CDT Eclipse-PDE Eclipse-RCP EMF eTrice GIMP Hudson Java Standard Edition (JSE) JUnit make makefile MinGW CUTE C++ Unit Testing Easier Subversion SVN Xtend2 XText Licence Protector (Mirage Computer Systems GmbH) RCP
Kenntnisse
awk Bash GoF-Patterns Hierarchical FSMs Java Linux als Entwicklungsumgebung MDSD Modellgetriebene Softwareentwicklung Objektorientierte Softwareentwicklung mit UML UML OOA OOD OOP OSGi-Bundles ROOM Code-Generierung SED SOLID Prinzipien TDD Test-Driven Development XML C UML Superstructure State Machines Clean Code Continuous Integration
Einsatzort
Herzogenaurach
2 Jahre

2009-11

2011-10

Entwicklung eines Testmanagementwerkzeugs für den Embedded-Bereich

Software-Ingenieur awk Bash Client-Virtualisierung ...
Rolle
Software-Ingenieur
Projektinhalte

Projektkontext: Entwicklung des Testmanagementwerkzeugs CETES, das Teil eines modellbasierten Testsystems im Embedded Bereich ist.

Im Rahmen dessen:

  • Erstellung und Pflege der automatischen Erstellung des Reports zur Testfall- und Requirementsabdeckung von CETES unter Einsatz des Business Intelligence and Reporting Tools (BIRT - Report-Designer auf Eclipse-RCP-Basis);
  • Evaluierung des Licence Protectors der Mirage Computer Systems GmbH auf Eignung für CETES.
Produkte
Apache AXIOM BIRT dokuWiki Eclipse-PDE Eclipse-RCP Enterprise Architect GIMP Java Standard Edition (JSE) Oracle-DB Subversion SVN Umbrello UML Modeller VirtualBox RCP
Kenntnisse
awk Bash Client-Virtualisierung Code-Generierung GoF-Patterns Java Linux als Entwicklungsumgebung MDSD Modellgetriebene Softwareentwicklung Objektorientierte Softwareentwicklung mit UML OOA OOD OOP SQL Model Based System Engineering SED SOLID Prinzipien TDD Test-Driven Development UML XML XSD Clean Code
Einsatzort
München
11 Monate

2010-07

2011-05

Requirements Engineering im Wehrtechnik-Bereich unter Einsatz von UML

Requirements Ingenieur Objektorientierte Softwareentwicklung mit UML OOA Requirements Management ...
Rolle
Requirements Ingenieur
Projektinhalte

Im Rahmen der multinationalen Entwicklung eines Luftabwehrsystems:

  • Analyse und Qualitätssicherung der Anforderungen an zwei Subsysteme;
  • Nachverfolgung und Konsistenzprüfungen im Rahmen des Änderungsmanagements der Anforderungen;
  • Prozessoptimierung durch die Automatisierung der Änderungsantragserstellung für Anforderungen.
Produkte
IBM Rational Rose RT IBM RequisitePro Reqtify MS Excel
Kenntnisse
Objektorientierte Softwareentwicklung mit UML OOA Requirements Management UML Excel-VBA-Programmierung V-Modell
Einsatzort
Unterschleißheim
5 Jahre 10 Monate

2005-03

2010-12

Schulungsdurchführungen

Schulungsleiter
Rolle
Schulungsleiter
Projektinhalte

Gelegentliche Unterstützung des Schulungsbereichs der Kölsch & Altmann Software & Management Consulting GmbH mit der Durchführung von C++ und UML-Schulungen. Projektbezogener Aufbau von Know-How und Anwendungserfahrung mit den Realzeit-Erweiterungen von Rose RT im UML-Umfeld und Aufbereitung der gewonnenen Erfahrungen in einer Weise, die ihre Verwendung zu Schulungszwecken erlaubt.

Einsatzort
München
2 Jahre 2 Monate

2008-02

2010-03

Validierung des E/E-Bordnetz-Architektur-Prozesses für einen Automobil-Konzern

Requirements Ingenieur Anforderungs-Analyse eEPK erweiterte Ereignis-Prozess-Ketten (eEPK) ...
Rolle
Requirements Ingenieur
Projektinhalte

Projektkontext: Optimierung des Designprozesses von E/E-Bordnetzen durch die Verbesserung seiner Toolunterstützung und durch Umstellung auf einen Katalog funktionaler Anforderungen als Ausgangspunkt für die Bordnetzentwicklung.
Im Rahmen dessen erfüllte Aufgaben:

  • Anwenderseitiges Requirements Engineering für kundenspezifische Erweiterungen eines Tools zur E/E-Bordnetzentwicklung (PREEvision der Firma Aquintos);
  • Requirements- und Änderungsmanagement für einen Katalog funktionaler Anforderungen an E/E-Bordnetze;
  • Analyse und Dokumentation von Teilen des E/E-Bordnetzentwicklungsprozesses anhand eines vorgegebenen Beispiels mit Hilfe von eEPKs;
  • Synchronisation ausgewählter Teilprozesse als Basis für die Anwendung eines im Auftrag eines OEM durch einen seiner IT-Zulieferer entwickelten Tools zur Unterstützung des E/E-Bordnetzentwicklungs- und -testprozesses;
  • Requirementsdefinition für Erweiterungen und Anpassungen des letztgenannten Tools auf der Basis selbst gemachter Anwendungserfahrungen;
  • Ausarbeitung von Datenmigrationskonzepten sowie Ausführung, Betreuung und Überwachung der Datenmigration aufsetzend auf den ausgearbeiteten Konzepten;
  • Erweiterung und Verfeinerung der Datenmigrationskonzepte auf der Basis der bei der Migrationsdurchführung gemachten Erfahrungen;
  • Aufbereitung von Daten als Planungsgrundlage für die Integrationsstufenplanung von E/E-Bortnetzen.

Produkte
Apache AXIOM Apache POI Java Standard Edition (JSE) MS Excel MS Powerpoint MS Word System42 PREEvision (aquintos GmbH/Vector Informatik GmbH)
Kenntnisse
Anforderungs-Analyse eEPK erweiterte Ereignis-Prozess-Ketten (eEPK) Geschäfts-Prozess-Analyse Geschäfts-Prozess-Modellierung Java Modellgetriebener System-Entwurf OOA Requirements Management SOAP UML VisualBasic-Makros für MS Excel VisualBasic-Makros für MS Powerpoint XML XSD V-Modell
Einsatzort
Wolfsburg
3 Monate

2007-11

2008-01

Evaluierung JEE

Software-Ingenieur
Rolle
Software-Ingenieur
Projektinhalte

Projektkontext: Umsetzung einer vorhandenen firmeninternen Anwendung für das Projekt-Controlling unter Verwendung neuer Software-Architekturen auf der Basis moderner und leichtgewichtiger Frameworks zur Evaluierung der hierzu verwendeten Frameworks und Technologien.

Im Rahmen dessen:

  • Persistierung von Anwendungsdaten mit Hibernate;
  • Validierung von JPA.
Einsatzort
München
8 Jahre 10 Monate

1999-01

2007-10

Entwicklung eines Voice over IP Gateways

Software-Ingenieur, Tester, Systemintegrator, Task-Force-Manager awk Bash C/C++ ...
Rolle
Software-Ingenieur, Tester, Systemintegrator, Task-Force-Manager
Projektinhalte

Projektkontext: Erstellung und iterativ inkrementelle Erweiterung eines in C++ implementierten Real Time Voice over IP Gateways zur Ausführung unter VxWorks und Linux. Das Gateways setzt sich aus verschiedenen Subsystemen zusammen. Jedes Subsystem hat eine klar abgegrenzte Verantwortlichkeit. Es ist kompatibel zu einer vorgegebenen Schnittstelle und registriert sich bei einer koordinierenden Komponente. Über diese Komponente läuft die Kommunikation zwischen den Subsystemen. Das macht die Subsysteme austauschbar und erleichtert die Erweiterung des Systems. Jedes Subsystem implementiert einen endlichen Zustandsautomaten. Im Zusammenspiel der Subsysteme ergibt sich ein System aus verschiedenen endlichen Automaten, die miteinander über synchronen und asynchronen Meldungsaustausch kommunizieren.

Mitarbeit bei der modellbasierten Entwicklung mehrere Releases des Gateways in der jeweiligen Requirementsanalyse-, Spezifikations-, Design-, Implementations- und Integrationsphase. Je nach Phase in der Rolle des

  • Analysten,
  • OO-Designers,
  • OO-Programmierers,
  • Integrators,
  • Testers und
  • Task-Force-Leaders

letzteres im Rahmen der koordinierten Lösung sehr dringender, komplexer Probleme.

Unterstützung des Kundenservices bei der Bewältigung von Problemen mit Gateway- Releases im Kundeneinsatz zum Teil auch durch Einsatz bei Endnutzern der VoIP-Gateways vor Ort.

In enger Zusammenarbeit mit den Entwicklungsteams des Kunden Einbringung der

  • Unterstützung reibungsloser Fax- und Modem-Übertragungen,
  • der Unterstützung des SIP-Protokolls und

  • standardkonforme Einbringung des Leistungsmerkmals Anrufweiterschaltung (Call Diversion Recommendation ITU-T H.450.3).

Hierbei Implementation und Integration neuer Subsysteme. Je nach Entwicklungsschwerpunkt dauerhafte oder vorübergehende Übernahme der Verantwortung für Wartung, Erweiterung und Pflege weiterer Subsysteme. Die Entwicklung erfolgte tool-gestützt in UML unter Verwendung der UML-Tools Innovator 6.2 und Umbrello.

In den jeweiligen Spezifikationsphasen

  • Ausarbeitung von Vorschlägen für die Gestaltung des OO-Designs unter Befolgung der SOLID-Prinzipien bei vorteilhafter Kombination geeigneter GoF-Patterns unter Nutzung des UML-Tools Innovator 6.2;
  • Auswahl und Anpassung eines der gemachten Vorschläge in enger Zusammenarbeit mit den Entwicklungsteams des Kunden;

Ergebnis: UML-Modelle, aus dem Code generiert werden konnte.

In den Implementationsphasen

  • Umsetzung des jeweiligen UML-Modells unter Nutzung des Code-Generators des UML-Tools Innovator 6.2, um aus Klassendiagrammen C++-Komponenten zu erzeugen;
  • Bei der Einbringung der Fax-/Modem-Unterstützung Nutzung des Umbrello UML Modellers zur Generierung von C++-Code aus mit Umbrello erstellten Zustandsdiagrammen und zur Generierung von Testfällen aus Sequenzdiagrammen unter Einsatz eines selbst erstellten Code-Generators, der auf XSLT-Skripten basierte;
  • Testgetriebene Einbringung (TDD) manueller Erweiterungen der generierten Komponenten unter Nutzung von Microsoft Visual C++ 6.0 als Programmierumgebung, ClearCase zum Source-Code-Konfigurationsmanagement und Route98 (Mock-Up-Erstellung) zur Testausführung in der Entwicklungsumgebung;
  • Ausarbeitung und Durchführung von Regressionstests mit Route98 in der Entwicklungsumgebung;
  • Vorbereitung der Integration durch Ausarbeitung und Durchführung von überlappenden Teilintegrationstests.

In den Integrationsphasen Einsatz als Integrator und Integrationstester mit Schwerpunkt auf Last- und Stresstests.

Im Detail:

  • Fehlersuche auf dem Zielsystem mit Schwerpunkt auf Memory-Leak-Suche mit zugekauften kommerziellen und vom Kunden selbst erstellten Tools, die auf die Eingrenzung von Memory-Leaks spezialisiert waren, die nur unter hoher Systemlast auftraten;
  • Eingrenzung sporadisch auftretender Zugriffsverletzungen im Umweg über Memory-Leak-Eingrenzung, da viele Zugriffsverletzungen auch Memory-Leaks verursachen, so dass deren Behebung auch oft Zugriffsverletzungen behoben;

Ergebnis: Steigerung der Stabilität und Zuverlässigkeit durch Steigerung der Zwischenausfallzeit (Mean-Time-To-Failure) auf die geforderte Länge.

Produktbetreuung für alte Releases. Im Rahmen dessen Fehler- und Änderungsmanagements sowie die Führung und Koordination von Teams, die im Bedarfsfall zur Eingrenzung und Behebung besonders schwieriger Probleme zusammengestellt wurden.

Erleichterung der Fehlereingrenzung durch Schaffung der Möglichkeit zum Nachstellen von Endbenutzerproblemen in der Entwicklungsumgebung.

Zu diesem Zweck:

  • Generierung von Testskripten aus Trace-Ausgaben mit Hilfe selbst erstellter Shell-, awk- und sed-Skripte;
  • Erstellung von Skripten zur Isolierung und Analyse von Schlechtfällen aus umfangreichen Gesamt-Traces, die mehrere simultan ablaufende Vorgänge abdecken;
  • Portierung ausgewählter Skripte nach Java zur Herstellung der Plattformunabhängigkeit und Erweiterung um eine GUI zur Verbesserung der Benutzbarkeit durch Kollegen.

Im Rahmen der Implementation, Integration und dem Test der oben erwähnten Erweiterungen zur Steigerung der Zuverlässigkeit von analogen Fax- und Modem-Übertragungen: Eigeninitiative, selbständige Erstellung einer Reihe von Werkzeugen und Verknüpfung vorhandener Werkzeuge zu Werkzeugketten, da geeignete Standardprodukte beim Kunden nicht zur Verfügung standen oder erst hätten adaptiert werden müssen.

Im Rahmen dessen:

  • Zustandsmodellierung mit Hilfe eines Freeware-Tools unter LINUX;
  • Erstellung von XSL- und awk-Skripten zur Generierung von Quellcode für Test- und Systemkomponenten ausgehend von Sequence- und State-Diagrammen aus UML-Modellen im XMI-Format;
  • Später Portierung dieser Skripte nach Java zur Herstellung der Plattform-Unaghängigkeit;
  • Generierung von Quellcode aus einem mit dem Freeware-Tool Umbrello erstellten iterativ erweiterten und angepassten UML-Modell.

Teilintegrationstest der generierten Systemkomponenten mit aus dem UML-Modell ebenfalls generierten Testskripten sowie Erstellung der Systemdokumentation auf der Basis der durch den Test gelieferten Trace-Ausgaben.

In der Integrationsphase der Erweiterung des VoIP-Gateways um das SIP-Protokoll Eingrenzung von Memory-Leaks, die nur unter Last auftraten. Dabei erfolgreiche Führung einer mehrköpfigen, international besetzten Task-Force mit dem Ziel der Steigerung der Leistungsfähigkeit dieses Gateways bei Verwendung des SIP-Protokolls bis zur Erreichung der vorgegebenen Leistungsdaten.

Produkte
Cygwin GIMP Innovator 6 UML Modeller (MID GmbH) Java Standard Edition (JSE) MemScope (Wind River) Rational Purify Service Center (Siemens AG) Spring-Core Test & Monitoring Tool (TMT) (Siemens AG) Umbrello UML Modeller VC++ 6.0 VxWorks Wireshark Ethereal XSL-(standalone)-Prozessoren/Transformatoren XSLT-Prozessor
Kenntnisse
awk Bash C/C++ Code-Generierung CVS GoF Patterns H323 H245 HTML IP-Netzwerkanalyse auf Protokoll-Ebene JavaScript Java Linux Administration Linux als Entwicklungsumgebung Modellgetriebene Softwareentwicklung (MDSD) Memory Leak Analyse und Eingrenzung Objektorientierte Softwareentwicklung mit UML OOA OOD OOP RTP SED SIP SOLID Prinzipien TDD UML Unix-Shells Unix VoIP XML XSLT XML Metadata Interchange XMI Clean Code Code Reviews V-Modell
Einsatzort
München

6 Jahre

1988-10

1994-09

Informatik-Studium

Diplom-Informatiker Univ., Friedrich-Alexander-Universität, Erlangen-Nürnberg
Abschluss
Diplom-Informatiker Univ.
Institution, Ort
Friedrich-Alexander-Universität, Erlangen-Nürnberg
Schwerpunkt

Diplomarbeit:

„Spezifikation klassischer BLAS-,LINPACK- und EISPACK-Algorithmen in ASL-II und diesbezügliche Bewertung der Spracheigenschaften.“

Studienarbeit:

„Implementierung des primalen Schnittebenenverfahrens von Young auf einem SIMD-Rechner“

Nebenfach (Hauptstudium):

Mathematik

Nebenfach (Grundstudium):

Betriebswirtschaftslehre

Schwerpunkte:

  • Programmiersprachen,
  • parallele Programmierung für SIMD (single instruction multiple data) und MIMD (multiple instruction multiple data) Systeme,
  • Numerische Verfahren für SIMD- und MIMD-Systeme

Top Skills
Modellbasierte Software-Entwicklung OOD GoF-Patterns Requirements-Engineering und -management TDD UML
Produkte / Standards / Erfahrungen / Methoden
Anforderungs-Analyse Apache Ant Apache AXIOM Apache AXIS 2 Apache CXF Apache POI Apache Tomcat apache velocity templates Apache XMLBeans Atlassian Confluence Atlassian JIRA BIRT Bugzilla C++ Unit Testing Easier CherryPy Clean Code Code Reviews Code-Generierung Continuous Integration CUTE CVS Cygwin Docker dokuWiki Eclipse Eclipse 3 Eclipse 4 Eclipse PyDev Eclipse RCP Eclipse RCP e4 Eclipse-CDT eEPK elasticsearch EMF Enterprise Architect erweiterte Ereignis-Prozess-Ketten (eEPK) Ethereal eTrice FusionForge (Projektmanagement und -kollaboration) GEF Geschäfts-Prozess-Analyse Geschäfts-Prozess-Modellierung Git Graphical Editing Framework (GEF) H245 H323 Hierarchical FSMs HTML Hudson IBM Rational Rose RT IBM RequisitePro Innovator 6 UML Modeller (MID GmbH) IP-Netzwerkanalyse auf Protokoll-Ebene Java Enterprise Edition (JEE) JEE8 Jenkins JIRA JIRA-Plugins JUnit JUnit 4 Licence Protector (Mirage Computer Systems GmbH) Lighttpd Linux Administration lxml (Bibliothek zur Verarbeitung von XML und HTML mit Python) maven Maven Tycho MDSD Memory Leak Analyse und Eingrenzung MemScope (Wind River) MinGW Model Based System Engineering Modellgetriebene Softwareentwicklung Modellgetriebene Softwareentwicklung (MDSD) Modellgetriebener System-Entwurf MS Excel MS Powerpoint MS Word MVC OSGI OSGi-Bundles OTX (Open Test sequence eXchange - ISO 13209) POI PowerPoint PREEvision (aquintos GmbH/Vector Informatik GmbH) PyUnit Rational ClearCase Rational ClearQuest Rational Purify RCP Reqtify requests (HTTP library für Python) Requirements Management REST ROOM Scrum Service Center (Siemens AG) SOAP SoapUI soy templates SPA Spring Boot Spring-Core Subversion SVN System42 Test & Monitoring Tool (TMT) (Siemens AG) Test-Driven Development (TDD) tomcat Trac Umbrello UML Modeller UML UML Superstructure State Machines V-Modell VC++ 6.0 VirtualBox Virtuoso VoIP Wireshark XMI XML XML Metadata Interchange XSD XSL-(standalone)-Prozessoren/Transformatoren XSLT-Prozessor
Betriebssysteme
Client-Virtualisierung Kubuntu Linux als Entwicklungsumgebung openSUSE Unix VxWorks
Programmiersprachen
AWK BASH C C/C++ Excel-VBA Excel-VBA-Programmierung Java Java EE Java SE Java Standard Edition (JSE) JavaScript JPA make makefile Python 2.7 SED Unix-Shells VisualBasic-Makros für MS Excel VisualBasic-Makros für MS Powerpoint XSLT Xtend Xtend2 XText
Datenbanken
ARQ (SPARQL Processor) Fuseki (SPARQL server) JDBC MongoDB Oracle-DB SQL
Datenkommunikation
HTTP JSON RESTfuI Webservices auf HTTP-Basis RTP SIP
Design / Entwicklung / Konstruktion
Android-SDK Client-Server-Architektur Client-Server-Architekturen Continuous-Integration Eclipse-PDE Eclipse-RCP FCGI GIMP GoF Patterns GoF-Patterns hiawatha-webserver JEE Patterns MVC Pattern (JEE) Objektorientierte Softwareentwicklung mit UML OOA OOD OOP Protégé (Editor zur Modellierung von Ontologien) Resource Description Framework (RDF) SOLID Prinzipien TDD Test-Driven Development UML2 uml2 state charts (metamodel)
Ihr Kontakt zu Gulp

Fragen? Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Jetzt bei GULP Direkt registrieren und Freelancer kontaktieren