Mindestens 50% Entwicklungsarbeit
Remote erwünscht
Entwicklung für das zentrale Backend der produktiven Personalwirtschaftsverfahren der AKDB.
Das .NET/COBOL Backend ist das noch nicht vollständig implementierte Ergebnis einer Migration von einem reinen Mainframe-Verfahren auf die .NET-Plattform mit C# Code.
Die Größe des Backends erforderte eine stufenweise Migration, die großenteils von der spanischen Firma Itestra durchgeführt wurde.
Da die COBOL-Anteile erst nach Abschluss und Abnahme der Implementierung aller Module ersetzt werden kann, wurde für die Interimszeit mit der Technologie von Microfocus eine COBOL-Integration implementiert, die notwendigerweise die ohnehin schon hohe Komplexität der Software zusätzlich steigerte.
3 Teams, aufgeteilt in jeweils ein Team aus Fach- und Entwiklungsexperten, teilten sich die Aufgaben am selben Backend für die Fachbereiche Steuer, Sozialversicherungen und Brutto/Netto.
Als Methodik wurde im Verlauf des Projekts SCRUM eingeführt und pro Team den jeweiligen Besonderheiten angepasst. Die SCRUM-Master-Rollen wurden von externen Kräften übernommen.
Aufgaben in den Fachgebieten Steuer und Sozialversicherungen.
Zusätzlich zu den Standardtools wurden zahlreiche QS und DEV-OPS-Tools, bspw. zur Datenbank- und Schemagenerierung, QS-Management und COBOL/JCL-Verarbeitung verwendet.
Weiterentwicklung eine MES-Frontend- und Backend-Anwendung zur Produktionsdatenerfassung und Steuerung des MES-Systems zur Produktion von Silikonen im Werk Burghausen.
Das Backend der Anwendung dient als Bindeglied zwischen dem Produktionsleitsystem und dem SAP ERP-System und einer separaten ORACLE-Datenbank.
Meine Aufgabe waren:
1. Architekturuntersützung für die IOC-Subsysteme für Back- und Frontend (UNITY)
2. Implementierung und Design von Frontends mit WPF und MVVM, eingeschlossen Live-Anzeigen von Wiegeprozessen.
3. Erweiterungen, Anpassungen und Fehlerbehebung im Backend, eingeschlossen neuer SQL-Queries, Anpassungen und Erweiterungen der SAP-Schnittstelle und Entwicklung von automatisierten Tests.
Allgemein
Das europäische Projekt ?Single-Digital-Gateway? (jur. SDGVO), als auch das innerstaatliche deutsche Projekt zur Umsetzung der Maßgaben des Online-Zugangs-Gesetzes (OZG) haben, in vergleichbarer Weise, das Ziel, die Erstellung und Verarbeitung behördlicher Anträge für die Bürger der Europäischen Union und die Unternehmen des europäischen Binnenmarktes durch vollständige Digitalisierung zu erleichtern.
Abstrakt wird das zugrundeliegende Konzept unter der Bezeichnung OOP (Once-Only-Principle) zusammengefasst. Die technischen System des OOP sollen die Fähigkeit besitzen, die, zur Antragsstellung notwendigen Nachweise, weitgehend automatisiert erfassen, verifizieren und von Behörde zu Behörde übertragen zu können.
Aufgabenbeschreibung
Die EU-Verordnung 2018/1724 zum Single Digital Gateway (SDG) richtet an die EU-Mitgliedstaaten die Anforderung, die national online bereitgestellten Verwaltungsverfahren und Hilfsdienste auch EU-weit grenzüberschreitend diskriminierungsfrei zugänglich und abwickelbar zu machen.
Meine Aufgabe wurde wie folgt vom StMD definiert (Zitat): "Die Hauptaufgabe des Software-Architekten ist die Beratung des StMD hinsichtlich der High Level Architecture des SDG OOP unter Berücksichtigung des bayerischen eGovernments, wie z.B. einer zukünftigen Unternehmensplattform Deutschland auf Basis des Elster Unternehmenskontos."
Die deutsche Unternehmensplattform
Die Unternehmensplattform geht auf eine Initiative des StMD
zurück und hat das Ziel, bürgernahe Dienste von unternehmensspezifischen Leistungen
zu trennen. Zum Zeitpunkt dieses Schreibens wurde das Unternehmensportal in
einer grundlegenden Version veröffentlicht, benötigt allerdings weitere konzeptionelle
Ausarbeitung und beobachtet gleichzeitig den Fortschritt der Registermodernisierung als auch die Entwicklung des SDG.
Am Projekt ?Unternehmensplattform? nahm ich auf Anfrage des
Referats B1 als beratender Architekt teil.
Die Tätigkeit umfasste neben der
direkten Beratung der Beteiligten des StMD, die Präsentation verschiedener Aspekte der allgemeinen
Architektur und der Sicherheits-Anforderungen an das Basis-System (ELSTER) als
auch diverse Meetings mit weiteren, am Projekt beteiligten, Unternehmen und behördlichen
Instanzen.
KABU ist das Kernstück des Integrierten Haushalts- und Kassenverfahrens (IHV) des Freistaats Bayern. KABU XL spezifiziert bedeutende Erweiterungen des bisherigen Verfahrens, sowie plattformrelevante Migrationen.
Das System besteht im Wesentlichen aus:
Zwischen 2010 und 2014 wurde beschlossen, die Desktopanwendungen in einem einheitlichen System mit Haushalts-, Organisations-, Arbeitsgruppen und Benutzerverwaltung zu integrieren.Als Plattform wurde .NET mit der Programmiersprache C# und einem UI mit WPF spezifiziert.
Die Entwicklung am Projekt KABU XL startete 2015.
Bereits vor meiner Mitwirkung, 2017, war es offensichtlich geworden, dass die bestehende Architektur den hohen Anforderungen an das System nicht genügen konnte.
Die komplexen Anforderungen an die Datenverarbeitung, Validierung, Performanz und die individuellen Ansprüche der fachlichen Sachbearbeitung, wie auch das hohe Datenvolumen des Verfahrens verlangten nach einer angemessenen Enterprise Architektur.
Ich entwickelte eine serviceorientierte, auf 3 erweiterbaren Schichten basierende, Basisarchitektur mit einer Reihe von Infrastrukturkomponenten und Frameworks, die auf die Individualanforderungen zugeschnitten waren. Die Module der Fachkonzeptschichten wurden in enger Zusammenarbeit mit den Entwicklern besprochen und im Sinne der Gesamtarchitektur auf der Grundlage eines jeweils angemessenen Anforderungsdesigns implementiert.
Wie bei jeder großangelegten Architektur wurde auf vollständige Entkopplung Wert gelegt. WPF technologiespezifische Anforderungen, wie z.B. hochkomplexe Validierungen, deklarative Regelintegration und freie, entkoppelte Datenbindung wurden durch Framework-Dienste unterstützt.
Eine detailliertere Beschreibung der Architektur würde den Rahmen dieser Kurzbeschreibung sprengen. Im Oktober 2018 wurde von der Informatik Zentralabteilung T1 ein, vom Finanzministerium beauftragtes Architekturreview durchgeführt. Die, von mir in diesem Zusammenhang erstellte, allgemeine Dokumentation der Anwendungsarchitektur umfasst bereits 160 Seiten.
Für alle Infrastruktur- und Domänenmodule wurden umfassende Unit-, Integrations- und funktionale, automatisierte Tests erstellt.
Alle Aufgaben wurden in direkter Zusammenarbeit mit der Abteilungs-, Referats- und Projektleitung durchgeführt. An den wesentlichen Besprechungen nahmen alle Entwickler regelmäßig teil.
Im Verlauf des Projekts wurde offensichtlich, dass ein Bedarf für die Vereinheitlichung des Testmanagements und der fachlichen Anforderungsanalyse bestanden. Solche und andere synergetische Effekte zwischen Projektleitung, Entwicklung, QS, Test- und Anforderungsmanagement waren in diesem Projekt ausgesprochen hoch und positiv zu bewerten. Sie führten letztendlich zur Beauftragung des Finanzministeriums zur Durchführung einer Fachanalyse und der Evaluierung einer geeigneten ALM Plattform.
Die Dialoganwendungen des KABU Verfahrens umfassen 25 Anwendungen in VB6 und eine Anwendung in VBA über einer Access Datenbank.Microsoft beendet die offizielle Unterstützung der VB6 Laufzeit auf allen Windows Betriebssystemen im Jahr 2025.
Die VB6 Laufzeit wird darüber hinaus bereits seit dem Jahr 2005 nicht mehr aktualisiert. In der Zwischenzeit haben sich verschiedene Sicherheitsmängel gezeigt, die von Microsoft nicht mehr behoben werden.
Auf Beschluss des Finanzministeriums sollte ein Assessment bezüglich der automatisierten Migration der sogenannten Dialoganwendungen des KABU Verfahrens auf die .NET Plattform durchgeführt werden.
Die KABU Dialoganwendungen wurden Ende der 90er Jahre von externen Dienstleistern entwickelt und anschließend von internen und externen Entwicklern des LfF gepflegt und weiterentwickelt.
In einem Assessment aus dem Jahr 2010 war bereits von einer Migration aufgrund der schlechten Code Qualität abgeraten worden.
Die Grundlage des neuen Assessments bildeten
Nach der Durchführung und Analyse der Basisparameter wurden die Migrationstools durch interne Entwickler auf Hyper-V Terminals getestet. Nachdem die Versuche ergeben hatten, dass keines der Tools eine vollständige oder korrekte Migration durchzuführen imstande gewesen war, wurden die Möglichkeiten und potenziellen Aufwände manueller Nacharbeiten evaluiert.
Die Ergebnisse wurden in einem Dokument zusammengefasst, das im Rahmen des vorgegebenen Ziels die Grundvoraussetzungen, strategische und technische Empfehlungen, sowie die zu erwartenden Ergebnisse aufwandsbezogen beschreibt.
Das Assessment wurde anschließend mit einem Empfehlungsschreiben der Abteilungs- und Referatsleitung dem Finanzministerium, wie auch der Zentralabteilung übergeben.
Zum aktuellen Zeitpunkt liegt noch keine Stellungnahme seitens des Finanzministeriums vor.
Roche bietet sowohl konzerninternen wie auch externen Laboratorien die Möglichkeit während der Upstream und Downstream Fermentationsprozesse entnommene Proben mit dem DAMAS Probenmanagement digital zu verwalten.
Details weiter unten in den Projekten VETAS Migration, VETAS Pilot und VETAS Neu
Anpassungen an neue Technologien und Platformen.
Feature Erweiterungen.
DAMAS (Data Acquisition and Management and
Analysis System) ist eine Roche Eigenentwicklung, die zur Unterstützung der Planung, Ausführung und Dokumentation der Entwicklunsprozesse und deren Auswertung und Vereinfachung eingesetzt wird. DAMAS stellt die durchgängige Erfassung und Auswertung der Daten sicher, die innerhalb der Entwicklungsprozesse anfallen. In diesem Zusammenhang umfasst die Software folgende Hauptfunktionen:
Materialmanagement
Rezepterstellung
Stoffzubereitung
Verwaltung und Verwiegung von Einsatzstoffen
Probenmanagement
Reporting
Die Software besteht aus einem WPF/.Net basierten Server/Client System.
Die serverseitige Anbindung zu Oracle wird über Entity Framework 5.0 hergestellt.
Das Daten Transaktionsmodel besteht hauptsächlich aus expliziten SQL-Statements, teilweise aber auch EF O/R Features.
Die Server Anwendungen laufen auf IIS, die Schnittstellen werden durch Webservices publiziert, die mit WCF (Windows Communication Foundation) implementiert werden.
Die Client Anwendung ist eine Integrationsplatform, für die oben genannten Subsysteme (1-6).
Aufgaben:
Erstellung und Erweiterung von Features.
Verbesserung der Performanz, Erweiterbarkeit und Wartbarkeit.
Erstellen von automatisierten Komponententtests mit MS Unit Test.
Anpassung, Migration und Erweiterung des DB-Schemas.
Erstellung und Integration einer erweiterbaren Anwendungsarchitektur.
Details (Server):
Die Server- und Clientanwendungen laufen auf dem .Net Framework 4.5.1, die Implementierungssprache ist C#.
Die serverseitige Anbindung an die Oracle Datenbanken erfolgt über Entity Framework 5.0 in Anbindung an die entsprechenden
Data-Provider Module von Oracle.
Als Server wird IIS eingesetzt, die Anwendungsschnittstellen werden als Web-Services veröffentlicht.
Als Technologie zur Implementierung dient WCF.
Details (Client):
Die ursprüngliche Implementierung mit Windows Forms mit MVP wurde durch WPF mit MVVM ersetzt. Mittlerweile sind ca. 90% des Clients nach WPF migriert. Neben eigen entwickelten WPF Benutzersteuerelementen wird auch die WPF Bibliothek von "Component One" benutzt. Der Lebenszyklus der persistenten Aktivitäten ist ausnahmslos transaktions gebunden. Zukünftige Web Clients können so ohne großen Aufwand integriert werden. Die, durch das Fehlen transienter Modelle verursachten Performanzverluste, werden durch den Einsatz von Client-seitigem Multitasking reduziert. Client-seitig werden die Dateninhalte als Views verarbeitet, serverseitig werden explizite Transaktionen und gespeicherte Datenbankprozeduren verwendet. Die Isolation der Komponenten und Schnittstellen wird durch den Einsatzt von IOC Containern ermöglicht.
Die ursprüngliche Verwendung von MVVM-Light wird durch Microsoft Patterns und Practices Unity ersetzt.
Details (Test):
Da DAMAS ein validiertes System ist, müssen für alle relevanten Funktionen automatisierte Tests erstellt werden.
Als Laufzeit und Implementierungsplatform wird MS Unit Test mit C# als Implementierungsprache benutzt. Als Anforderungs Management Tool wird Doors eingesetzt. Zur Synchronisation, Historie und Validierung des Sourcecodes wird TFS (Sourcecontrol und Workitems) eingesetzt. eingesetzt.
Bei Ispa Next handelt es sich um die letzte Generation der internationalen Software für BMW Service Händler. Es ist ein, mit WPF / MVVM erstellter Rich Client, der die umfangreichen BMW Backend Landschaften bedient. Die "Velocity" der Umsetzung der User Stories sank in der 2. Hälfte des Jahres 2015 kontinuierlich. Die Ursachenanalyse zeigte Mängel in der Anwendungsarchitektur und einen nicht-refaktorierten Anteil technischer Schulden.
Sonstiges:
Exemplarisch sei hier die Umgestaltung des Reporting Systems angedeutet:
Neuentwicklung einer Windows Betriebssystem Optimierungs Software.
Nachdem das Vorgängerprojekt mit der formalen Abnahme durch den Kunden (TÜV Autoservice) beendet war,
wurde das VETAS Pilotierungsprojekt gestartet. Mit einem Volumen von 50 - 100 Pilot Testern, wurde das
produktive Rollout der Anwendung für Juni 2015 angesetzt.
Während der Pilotphase fielen zahlreiche Aufgaben an: u.a. Anpassung der Serverlandschaften und
Datenbanken, Einführung des Supports (Level 1-3), Change Requests, Software Erweiterungen, Anpassungen
und Optimierungen, Bugfixing.
Migration einer Oracle-Forms Anwendung zur Gutachtenerstellung und -Verwaltung auf .Net (C#, WPF) unter
Verwendung von Unity/Prism und Entity Framework.
Basis des Projekts ist eine Anwendung (VETAS), die seit 20 Jahren von TÜV Autoservices zur Gutachtenerstellung und Stammdatenverwaltung eingesetzt wird. Die Alt-Anwendung wurde durch einen Oracle Application Server verteilt. Einer der Gründe für die Migration war die fehlende Unterstützung von OAS für Windows 7, wie auch die Einstellung des Supports für Windows XP ab 2014.
Neuentwicklung eines Alarm Informations-Systems für Handelsschiffe
Das System verteilt sich auf 2 Servereinheiten (Master, Backup) mit je zwei Kommunikationskanälen (Redundanz) zu jedem individuellen Client (Touchscreen Panels mit Windows CE Betriebssystem, sowie Kontrollstationen auf Windows XP, Windows 7). Über das Schiff werden 30 oder mehr Geräte verteilt, die im Netzwerk mit den Kontrollstationen, der Bridge
und der Server Steuerungssoftware kommunizieren.
Zur Kommunikation der Server mit den Schiffseinheiten (Prozessstationen) dient eine, von „Kongsberg Maritime“ entwickelte Software, die sich der von den Servern bereitgestellten externen Schnittstellen bedient. Mit Ausnahme der IP-Adressen wird die Konfiguration der Einheiten dynamisch geladen, um größtmögliche Flexibilität und Anpassungsfähigkeit zu gewährleisen. Während einer 2-jährigen Softwareentwicklungspause wurde eine neue Geräte Hardware entwickelt, die nun im 1. Rollout des Systems zum Einsatz kommt.
ABLAUF
Migration einer VB.NET Forms Anwendung nach C# / WPF
Projektverlauf:
Das anwendungsspezifische Domänenmodell wurde neu konzipiert. Ein neu entwickelter Generator adaptiert
die Entitäten (POCOs) des DAL (Data-Access-Layer) und realisiert eine entkoppelte Verbindung zu den
Anforderungen der MVVM View-Model-Schicht.
Code Review für eine ASP.NET Anwendung für die Global Compliance der Daimler AG
2013 Softwarehersteller (M&M Software)
Alarm Informations-System für die Schifffahrt.
2 monatiges Folgeprojekt für Kongsberg-Maritime.
Einige Erweiterungen und Change-Requests.
Technologie: C#, .Net 3.5, .Net Compact Framework, WPF, MVVM, XML, XSD
Tools: Visual Studio 2008 und 2010, Unit test Framework,
Log4Net, SVN, Cruise Control, Bugzilla
Geräte: DFI Alarm Panels
OS: Windows 7, Windows CE 6.0, Windows XP
2012 Softwarehersteller (M&M Software)
Erweitertes Alarm Informations-System für die Schifffahrt.
Das System verteilt sich auf 2 Servereinheiten (Master, Backup) mit je zwei Kommunikationskanälen (Redundanz) zu jedem individuellen Client (Touchscreen Panels mit Windows CE Betriebssystem, sowie Kontrollstationen auf Windows XP, Windows 7).
Über das Schiff werden 30 oder mehr Geräte verteilt, die im Netzwerk mit den Kontrollstationen, der Bridge und der Server Steuerungssoftware kommunizieren.
Zur Kommunikation der Server mit den Schiffseinheiten (Process-Stations) dient eine, von ?Kongsberg Maritime? entwickelte Software, die sich der von den Servern bereitgestellten externen Schnittstellen bedient.
Mit Ausnahme der IP Adressen wird die Konfiguration der Einheiten dynamisch geladen, um größtmögliche Flexibilität und Anpassungsfähigkeit zu gewährleisen.
Während einer 2 jährigen Softwareentwicklungspause wurde eine neue Geräte Hardware entwickelt, die nun im 1. Rollout des Systems zum Einsatz kommt.
Aufgaben:
Fehlerbehebung und Anpassung sowohl der Server-, wie auch der Clientsoftware.
Überarbeitung der technischen Architektur.
Erstellung von System- und Unit Tests, speziellen Applikationen zur Simulation der Testfälle und zur Ansteuerung des Systems.
Technologie: C#, .Net 3.5, .Net Compact Framework, WPF, MVVM, XML, XSD
Tools: Visual Studio 2008 und 2010, Unit test Framework,
Log4Net, SVN, Cruise Control, Bugzilla
2011 - 2012 Führender Hersteller medizinischer Patientenmonitore (Philips Medical)
Software zur Durchführung der automatisierten Software Tests für den Systemtest, als Teil der Verifizierung und Validierung der Monitor Software Releases.
Aufgaben:
Beratung und Umsetzung einer verbesserten Architektur der Testsoftware mit dem Fokus auf Wartbarkeit, Wiederverwendung und Erweiterbarkeit.
Fehlerbehebung, Anpassung und Test der bestehenden Testsoftware.
Durchführung der automatisierten Tests und Erzeugung der Testberichte.
Ausbau und Dokumentation der Teststationen mit Geräten, Simulatoren, Infrastruktur und Netzwerkverbindungen.
? Alle Monitortypen werden nach formalen Vorgaben (SRS) getestet.
Die arbeitsintensiven und durch zahlreiche Eingangsparameter gekennzeichneten Tests werden nicht mehr manuell, sondern automatisiert durchgeführt.
? Die Testsoftware kommuniziert in mehreren Testnetzwerken mit Simulatorgeräten, Simulatorsoftware und den Testmonitoren.
Die technische Softwarearchitektur unterteilt sich in eine Integrationsplatform, WCF Servermodule, Simulationsapplikationen sowie die Steuerungssoftware für die Durchführung der Tests, implementiert in C# und Python.
Reports werden automatisch im Log4View Format generiert und durch eine Applikation in ein formales XML Dokument transformiert, das als Basis für formale Reports dient.
Technologie: C#, .Net 3.5 und 4.0, Python 2.6, C++, WCF, XML, XSD, XSLT, HTML
Tools: Visual Studio 2008 und 2010, Unittest Framework, Iron Python 2.71,
TFS, Log4View, Philips Tools, Snapshot CM
Geräte: Monitore und Measurementserver der Antares Familie, CISCO VLan,
Moxa Portmapper, Simulatoren von HP, Agilent, Philips,
Respironics, u.v.a.
OS: Windows 7, XP
2011 eResearch
Software zur Konfiguration und zum Deployment medizinischer Studien.
Aufgaben:
Konzept, Design und Entwicklung einer modular aufgebauten Client-Applikation.
3 Hauptmodule realisieren Aufgaben der Produkt Administration, der Systemkonfiguration (Released Systems) sowie die technische Konfiguration der Serverlandschaft mit dem abschließenden Deployment der Devicesoftware und deren Plugins.
Weitere Module geben Informationen über vorhandene Installationen und deren Historie, zeigen Management relevante Informationen und erlauben spezielle Backend Tests.
Technologie:
C#, .Net 3.5 und 4.0, WPF, MVVM, MVP, WCF.
Tools: Visual Studio 2010, Team Foundation Server, Sparx Enterprise Architect, SQL Server.
OS: Windows 7, XP
2008 - 2011 HUK (Versicherung)
Clientsoftware zur Erstellung und Verwaltung von Versicherungsangeboten und
Bestandsdaten mit CRM Anteilen. Die Kernfunktionalität der Applikation besteht in der Erstellung und Bearbeitung von Angeboten und Anträgen durch den Außendienst, der den Hauptumsatz dieses Konzerns bestreitet.
Aufgaben:
Konzept, Design und Entwicklung
Framework und zentrale Bibliotheken
AAV (Angebots-, Antrags-, Vertragssystem)
Integration bestehender Komponenten
Framework
Angebots- und Bestandssystem
Unterstützung von On- und Offline Betrieb:
Entwicklungsprozess
C#, .NET 4.0, 3.5, 2.0, C++, C++/CLI, Java (JNI)
Visual Studio 2008 Team Edition, Visual Studio 2005,
MS Enterprise Library, CAB, SCSF, Infragistics,
WCF, SQL Server, RSM, Innovator, IRQA, XML, CVS, Webservices
2006 - 2008 Dräger Safety
Multigas Detektor System
Software zur Steuerung eines Gaschromatographen für bis zu 40, individuell kalibrierbaren Substanzen. Präzision im Millionstel Bereich / Anteil (ppb).
Das Messgerät ist eine Stand-Alone Maschine, die sowohl entfernt, als auch über einen Touch-Screen gesteuert und bedient werden kann. Neben der eingebetteten Controller Software läuft die Hauptapplikation auf Windows CE 4.2 und 5.0 unter dem .NET Compact Framework 1.0. Das Gerät wird beispielsweise in sterilen Produktionsstätten zum Schutz vor Verunreinigungen und sicheren Umgebungen zum Schutz vor schädlichen chemischen Substanzen eingesetzt.
Aufgaben:
Codereview, Qualitätsmaßnahmen
Konzept, Design und Neuentwicklung
Codereview und Maßnahmen
Adixen Projekt
Kalibrierungssystem
Entwicklungsprozess
C#, .Net 1.1, .Net 2.0, .Net Compact Framework 1.0, C++, C,
Visual Studio 2003, Visual Studio 2005, MS Embedded C++ 4.0,
XML, Windows XP, Windows CE 4.2, 5.0, MS Active Sync, AES, OpenNETCF (eigener Built mit Erweiterungen), MKS, CVS
2006 Münchener Softwareunternehmen
Vertriebsdemo "Individual Card Design"
Web-Frontend Applet mit verschiedenen graphischen Möglichkeiten zur Individualisierung von Kreditkarten.
Administrations-Applet und Servlet zur betriebsinternen Weiterverarbeitung.
Design, Implementierung und Dokumentation
Java, JDK 1.5, JRE 1.5, Ant 1.65, Swing, Netbeans 5.0, XML, CSS, HTML
2006 Münchener Softwareunternehmen
Qualitätssicherung der SW Repositories eines Münchener Softwareherstellers
Repository - Checkout, Build und Runtime-Tests aller Hauptversionen.
Dokumentation der Konfigurationen und der Problemstellen für alle Release und Debug Versionen.
Dokumentation und Test der notwendigen Konfigurationen zum Aufbau einer Entwicklungsumgebung mit MSVC++ 6.0.
Dokumentation des CVS Repositories mit allen Branches.
Authentifizierung des Repositories mit SHA1.
C++, XML, CVS, SHA1
2006 Münchener Softwareunternehmen
Kunden / Terminmanagement eines Autozubehörhauses
Applikationserweiterung auf firmeneigenem Enterprise Framework
Analyse/Test der Individual Applikation und des Frameworks Schwerpunkte: Effektivität und Sicherheit im Entwicklungsprozess, Time-to-market, Skalierbarkeit
Java, j2re 1.4.2, JRE 1.5.0, JDK 1.5, Swing, JDBC, Netbeans 4.1 + 5.0, PostgreSQL
2004/05 Capeware Technologies, München/Mannheim
Position: /> Aufgaben: Projektmanagement und technische Leitung
Softwareentwicklung
Spezifikationen, Konzepte, Pflichtenhefte
Präsentationen
Kunden:
Kunde: BMW
Reengineering der Software des 7er Sicherheitsbusses
Automatische Transformation der Software von 12 Steuergeräten (C) in ein funktionales Modell (CAPE/C)
Generierung der Bibliotheken und eines Hybrid-Daten-Kontrollflusses mit diskreter Controller Schnittstellenbeschreibung
Konfigurierbares Reengineering mit frei wählbarer Granularität
Manuelles Reengineering der HW-Partitionierung auf Basis der Steuergeräte Spezifikationen und Lastenhefte
Analyse des Sourcecodes auf ANSI-C Konformität
Entwicklung separater, modellunabhängiger Tools und Backendbibliotheken zur Weiterverarbeitung und allgemein-verständlichen Visualisierung der reengineerten Daten, Call-Tree, static Allocation für Basistypen, Structs, Unions etc,
Dynamische Call-Stack Reduktion, Symbol Tabelle und Variable Flow
Stand Alone Tool zur Generierung einer PDF Dokumentation aus XML Export Daten
C++, MFC, STL, UML, C#, Windows, CAPE/C (Interpretations- und Transformationslogik), CodeWright,
XML, XSLT, XSL-FO(Apache) zur PDF-Generierung
AntLR BNF Parsergenerator(Java, JNI)
Projektleitung, Spezifikation (ANSI-C -> Funktionales Modell), Analyse, Systemdesign,
Implementierung der Transformations- Dlls, und der Applikationslogik, Präsentation.
2005 Qualitätskontrolle von embedded Controller - Software
Bayerischer Automobil OEM und verschiedene Zulieferer
Spezifikation eines Kontrollflusses, basierend auf C Reengineering.
Automatisierter Delta Vergleich verschiedener Softwarestände mit Schwerpunkten
Schnittstellenintegrität, Speicherbedarf und Komplexität.
Erweiterte Abhängigkeitsmatrizen zur Analyse konditionaler Zustände der Automaten und Fault-Tracking
Partielles, konfigurierbares Blackbox - Prinzip zur Realisierung von Information-hiding.
Einsatz von ANTLR Parser und CAPE/C Transformations- und Interpretationslogik
Projektleitung, Spezifikation, SW-Konzept, Angebot, Prototypen, Präsentation
C++, C#, .NET, MFC, Java, JNI, AntLR, CAPE/C
2004 Klimasystem Modellierung
Visteon - Norddeutscher Automobil Zulieferer
Konzept und Präsentation der modellbasierten, funktionalen Architektur einer Automobil Klimasteuerung.
Lastenheftanalyse
Modellierung des Systems
Präsentation
2004/05 Offene Schnittstelle und API für CAPE/C
Umstellung des CAPE-Applikationsframeworks auf ein DCOM basierendes System
CAPE/C Applikation als Server, Schnittstellen für verwalteten Code
Konzept, Spezifikation,
Implementierung der Framework Erweiterung und der Client-Prototypen
C++, C#, .NET, DCOM, ATL, UML, CAPE/C
2005 FIBEX 2 CAPE/C
Spezifikation der Umsetzung relevanter Anteile der FIBEX-Spezifikation in CAPE/C Funktionsmodellen
Konzept des Mappings aller FIBEX Elemente auf vorhandene CAPE/C Modellelemente
(Hardware Partitionierung, Bussysteme, Libraries, Instanziierung)
Formale Beschreibung der notwendigen Erweiterungen des CAPE/C Objektmodells
2004 CAPE/C Code Analyse
CAPE/C hatte durch neue Funktionalität eine Komplexität erreicht, die ein Rework sinnvoll erscheinen ließ.
Die Einarbeitungsphase im Bereich Basisentwicklung sah zu diesem Zeitpunkt ½ Jahr vor produktivem Einsatz
vor. Ziel war eine größere Flexibilität im Entwicklungsprozess und höhere Platformflexibilität.
Der Analyseansatz war die Modularisierung der Basisapplikation im Hinblick auf Abhängigkeitsminimierung,
Konzept einer echten, frei skalierbaren 3-tier Architektur,
Migration des Persistenz-Layers von dem objektorientierten Datenbanksystem zu einem relationalen Datenbanksystem.
Team Leader mit externen Mitarbeitern
2004 BMW "Magic Tool"
CAPE-Adapter zur Transformation von Message Sequence Charts der MOST BNDB Daten in CAPE/C Abhängigkeitsmatrizen
Mitarbeit an der Spezifikation
Aufsetzen des Test DB-Servers
Anpassung der Datenbankschnittstelle
Funktionale Tests
Entwicklung der für den Import benötigten speziellen Updatealgorithmen und eines Autolayouters
Oracle 8.i, CAPE/C, MSC, C++, MFC
2002-2004 Capeware GmbH, Mannheim
Position: Senior Softwareentwickler
Aufgaben: Weiterentwicklung, Pflege und Optimierung der firmeneigenen Software "CAPE/C", Tests und Fehlerbehebung
CAPE/C ist eine Applikation zur funktionalen Modellierung komplexer Bordnetze,
wie sie in heutigen Automobilen eingesetzt werden.
Plugin Zusatzmodule bieten die Option, CAPE/C als Integrationsplatform für zahlreiche gängige Tools
(MATLAB, ASCET-SD, u.a.) einzusetzen.
Die Applikation wurde seit Mitte der 90er Jahre entwickelt und zur Codegenerierung für Steuergeräte in
Schienenfahrzeugen eingesetzt. Im Jahr 2001 wurde die Software neu konzipiert, um zeitgemäßen,
höheren Anforderungen gerecht zu werden und den Automobilmarkt zu erschließen.
Die Software realer Bordnetzwerke besteht aus umfangreichen, teils Steuergeräte-übergreifend eingesetzten
Funktionsbibliotheken, RT Betriebssystemen und Applikationslogik, die in CAPE/C durch feingranulare
Funktionsbibliotheken modelliert werden. Die hieraus abgeleitete netzwerkorientierte, funktionale Strukturierung
mit implizitem Mapping der Typen auf funktionale Instanzen bildet die Grundlage des CAPE/C Systems.
Der Umfang der Basisapplikation und der Core-Dlls umfasste Mitte 2004 mehr als 800000 Zeilen Sourcecode.
Das Team bestand aus bis zu 23 Entwicklern.
Zusammenfassung der, von CAPE/C verwendeten Technologien
Sprachen: C++, Java, C#
Bibliotheken: MFC, STL, ATL, COM, ActiveX, Rogue Wave Stingray, Objective Toolkit, Objective Views, Objective Grid, Softel SFT Tree, .NET, Boost
Persistenz: XML, Object Store, Oracle 8i
Scripting: Python
Reporting: XSLT, FOP
OS: Windows NT, 2000, XP
UML: Rational Rose
VersionMgmt: CVS, Visual Source Safe
QA: PC Lint C++, Nu Mega Toolsuite
Adaptionen: Matlab, Simulink, ASCET-SD, CaliberRM, CANalyzer, CodeWright, OSEK, VxWorks, JDos, RoseRT, SourceSafe, CAN, ByteFlight
Parser: Xerces DOM, YACC, ANT-LR, MSC
2002 Komplexer Routing Algorithmus
Um einen komplexen Datenfluss graphisch überzeugend darzustellen, ist es notwendig die Flusselemente übersichtlich
anzuordnen. Ein Modell von 10 Steuergeräten enthält zwischen 400.000 und 1 Million Verbindungen über das Gesamtsystem verteilt.
Ich entwickelte eine Bibliothek generischer Routing Algorithmen mit minimaler Clientschnittstelle, die sich in das bestehende
System nahtlos integrieren ließ.
Anders als bei einem Leiterplatinen- oder Schaltplan Layouter müssen hier keine physikalischen Optimierungen vorgenommen,
doch der Router muss hochperformant sein und User Interaktion muss berücksichtigt werden . Das Konzept besteht darin, dass der User die Hauptelemente willkürlich platziert und der Router den verbleibenden Raum benutzt, um das Linienlayout zu berechnen.
Im reinen Import Modus, wie auch bei der Übersetzung von externen Datenbankinformationen wird ein vorgeschalteter Element Autoplacer benutzt, um ein initiales Elementlayout zu optimieren.
Neben einem Default Routing existieren verschiedene Konfigurationen, die untergeordnete Algorithmen ein- bzw. ausschalten, um nach Bedarf das Layout zu individualisieren, oder Performance und Qualität zu balancieren.
Konzept, Design, Implementierung
C++, STL, MFC
2002/03 CAPE/C Graphisches Framework
Das graphische Framework der Anwendung verwendet die Component Bibliotheken von Rogue Wave "Stingray".
Es ist in das (C++)MFC-Framework als MVC Adapter integriert.
In der Anfangsphase förderten die Stingray Bibliotheken eine zügige Entwicklung, jedoch traten bereits bei den ersten "Real-World" Modellen ernstzunehmende Performance Probleme auf. Da Rogue Waves MVC und Command Architektur die eigenen graphischen Component Bibliotheken starr einbindet, musste das gesamte graphische Framework entschlackt, das Objektmodell überarbeitet und die Bibliothek teilweise neu kompiliert werden.
Die notwendige Performanz-Steigerung (in extremen Fällen und bei sehr großen Modellen >100) wurde erreicht.
Rework Konzept, Implementierung
C++, Stringray, MFC, Object Store, XML
2003 Element Gruppen
Ein einzelner Graph(eine CAPE/C Node) mit z.b. 200 Terminalen und 1000 Liniensegmenten kann auch auf einem 19'' Bildschirm unübersichtlich werden. Der User hat deshalb die Option, terminale Elemente mit den dazugehörigen Verbindungen in logische Gruppen zusammenzufassen.
Ein Element-Group-Subsystem analysiert das Buisness Modell und ermöglicht dem User über eine interaktive Selektion Elementgruppen zur Laufzeit zu aktivieren, deaktivieren oder zu verändern. Alle Gruppierungen sind persistent.
Konzept, Design,
Graphik, Buisnesslogik, Persistenz, UI
C++, MFC, Stringray, Objective Views, Object Store, XML
2003/04 Rechteverwaltungssubsystem: Konfigurationstool, Codegenerator
CAPE/C kann als Standalone oder Multiuser betrieben werden.
Der Multiuser Betrieb stellt sowohl Online, wie auch Offline Modus bereit. Ein User kann in Abhängigkeit von seinen Zugriffsrechten einzelne Elemente bis hin zu Teilsystemen exklusiv auschecken, offline bearbeiten und anschließend online synchronisieren.
Um den Offline Betrieb zu ermöglichen und spätere, sichere Synchronisation zu gewährleisten ist es notwendig den Online Betrieb im Offline-Modus
zu simulieren.
Rechte von Gruppen und Individualusern werden durch ein diskretes Rechte Framework im UI-Layer realisiert. Die systemweiten Ressourcen werden durch ein Standalone Tool geparst, analysiert und der User Zugriff ressourcenabhängig, feingranular definiert. Alle Definitionen werden als XML serialisiert, übersetzt und entsprechender Applikationscode wird generiert.
Ein zweites, dynamisches Subsystem realisiert die Zugriffsoptionen zur Laufzeit auf Basis lokaler Datenbankinformationen.
Konzept, Design und Implementierung
C++, MFC, XML, Object Store, Stingray
2004 Adaption der UML 2.0
Einige Automobil Hersteller hatten begonnen, die neue UML 2.0 Spezifikation für das Bordnetz Design zu nutzen
Ziel war es, ein partielles Roundtrip Engineering mit CAPE/C als UML Platform zu realisieren. Starke proprietäre Individualisierungen seitens der Kunden machten es unmöglich einen einheitlichen Übersetzungsstandard zu spezifizieren.
Die Implementierungsphase wurde nicht eingeleitet.
Mitarbeit am Grobkonzept, Prototyp eines erweiterten Objektmodells, Übersetzung, UI
UML(Rational Rose), C++, C#, XML, MFC, .NET
2002/04 CAPE/C Graphic
Ein Teil meiner Aufgabe war die Entwicklung und Pflege aller graphischen Komponenten und des UI.
Das Framework hostete beliebig viele Projekte, wobei ein einzelnes Projekt bis zu 20 verschiedene View Typen haben konnte.
Das graphische Komponenten Objekt Modell bestand aus etwa 300, zum Teil parameterisierten Klassen die vom MVC Framework getrieben wurden. Die Views bestanden aus Graphen, Strukturbäumen, Listen und Messaging Fenstern mit loser Kopplung an das Buisness Modell und
feingranularer Update Logik, da ein klassisches MVC Design (View basierte Observer) den Performance und Speichermöglichkeiten nicht gerecht werden konnte.
Das Objektmodell war zum Teil auf das Stringray Component Object Model aufgebaut, zum Teil auf GDI Komponenten basierend.
Alle Komponenten waren Drag & Drop enabled. Komplexe, zum Teil verschachtelte Property Dialoge ermöglichten dem Benutzer intuitives Property Handling der referenzierten Buisness Objekte. Über eine Command Prozessor Architektur wurden alle Änderungen implizit in die Object Store Datenbank serialisiert. Transaktionssicherheit im Multiuser Online Betrieb wurde durch Rollback und Exception Handling garantiert.
Über XML Konfigurationen konnte der Benutzer sowohl das Aussehen, wie auch das Mapping proprietärer Elemente auf alle Graphiken beeinflussen.
Um die aufwendigen Diagramme fachgerecht im Stil eines technischen Layouts zu präsentieren, entwickelte ich einen komplexen Autorouter.
Alle Graphiken konnten in verschiedene Bildformate exportiert werden.
Konzepte, Design, Implementierung
C++, XML, Stringray, GDI+, O-Views, O-Grid, MFC, Windows-API
2000 - 2001 Itera Consulting Group, Grosch & Link AG, Frankfurt a.M.
Position: Software Entwickler, Consultant,
Durchführung interner Schulungen
(C++, OOP, Design Pattern)
Externe Projekte:
2001 Softwarehaus
Kjaer-Vibro
System zur Zustandsüberwachung und Diagnose von Anlagen und Maschinen
Erstellen eines serverseitigen ATL-Connection-Point Frameworks.
Erweiterung der Delphi-Client Applikationen um COM Event Sources.
Entwurf eines Reporting Systems
Konzept, Implementierung, Dokumentation
ATL, C++, O-Pascal (Delphi), COM, SQL, Interbase
2001 Softwarehaus
SAP
Ersatzteilbestellungssystem für die Erdölindustrie
Modul zur clientseitigen Verarbeitung von CEP Packages außerhalb des SAP R3.
Erstellung eines graphischen ActiveX Controls zur Verwendung im Webbrowser.
Dynamische Generierung der CEP Packagestrukturen aus XML Schema.
Up- und Download Funktionalität via HTTPS zwischen Client und SAP Webserver.
Lokaler Excel Export der CEP Packagedaten.
GUI, Find Algorithmen, XML Schema Interpreter
Implementierung, Dokumentation
C++, JS, HTML, STL, ATL, ActiveX, MFC, XML, SAP R3
2000/01 Softwarehaus
Dürr
Anbieter von Systemen für die Automobilfertigung
Migration einer Touchscreen Werkhallen Diagnosesoftware von OS/2 nach Windows NT
Überarbeitung der Kommunikationsschicht und der Benutzeroberfläche einer prozeduralen Software in C.
Rework zu einem objektorientierten Fachkonzept in C++ und Aktualisierung des GUIs.
Umstellung des Kommunikationslayers von named Pipes nach COM.
Analyse, Pflichtenheft, Entwurf und Prototyping
C++, C, COM, Named Pipes, MFC, TCP IP
1990 - 2000 Freiberuflicher Softwareentwickler in den USA (Auswahl)
1999 Dienstleistung, Handel
GUI Entwicklung für Handelsunternehmen
Tabellarische Darstellungen und Charts in Kombination mit neuen Auswahlmasken für Personalwesen und Sales Provision
Graphische Bibliothek und Übersetzungsalgorithmen, MySQL Backend, erweiterte Komponenten für Reporting
C++, MFC, MySQL
1998 Handel
Abrechnungs- und CRM Software, spezialisiert für Direktvertrieb
Warendurchsatz, Endkunden- und Mitgliederverwaltung, Umsätze(Gesamt, Einzel, Gruppen), Punktwert- und Bonusberechnung,Termine, Erinnerungen, Aufgaben, kundenspezifische Preislisten, Warenkatalog, Sales Tax, Umlagen, etc.
C++, MFC, STL, MySQL
1997/98 Softwarehaus
Code Anal">Code Analyzer für Visual Studio 5.0
Tool Sammlung zur Unterstützung der Teamentwicklung mit C++
C++, IDL, rc und Project-Script Parser und Analyzer, Smart Merger und konfigurierbarer Backup(Submitsafety,local Version), Konfigurierbares Renaming komplexer Abhängigkeiten, Spezialtools für Workspace und Projektmanagement in Visual C++ 5.0,User Defined Wizard Creator
Entwurf und Realisierung
C++, MFC, STL
1997 Softwarehaus
Kompositions Software "Partitur"
Applikation zur computergestützten Komposition von Musik
Standard Notation mit Anastasia Fonts, User definierte Notation über integrierten Editor, 16 Channel Midi Sequencer, Erweiterungsfähige Template Library für Standard Harmoniesequenzen für vierstimmigen Satz, An Tonalität gebundene Harmonieanalyse
C++, MFC, STL, Midi
1996/97 Handel
Verteilte Anwendung für Einkauf, Verkauf und Inventur
Konvertierung proprietärer Datenformate in konfigurierbare, einheitliche Reports und Datasheets
XML als Backend Format, Implementierung der Parser/Translator, GUIs und eines COM Client-Server Systems
XML, Windows SDK, MFC, DCOM, STL, MSXML
1996 Immobilien
CRM System Erweiterung
Systemanbindung zur Verwaltung vertraulicher Kundendaten, Use-Cases auf der Basis von Kunden User-Stories, Applikation, GUI, Verschlüsselung
Windows SDK, MFC, DDE, STL, MSAccess, UML
1996 Industrie
Ersatzteilverwaltung und Bestellung Flugzeugbau
Funktionserweiterung einer Clientapplikation durch Multithreading
Design und Implementierung der Thread Funktionalitäten und der damit verbundenen Synchronisation
C++, MFC
1996 Dienstleistungen
Handelsunternehmen Intranet
Konzept und Entwicklung einer Sicherheitssoftware für FAT-Filesystem für Windows 95
Benutzerdefinierte Sicherheit auf Applikationsebene, als Ersatz für fehlende User-Sicherheitseinstellungen im Windows 95 Betriebssystem
C++, MFC, Windows API
1996 Dienstleistungen
Softwareentwicklungsprozess Beratung Logistik Software
Beratung OOD, OOP
Überarbeitung der Use-Cases, Sequenzdiagramme und des Objektmodells, Konzepterstellung, Dokumentation, Roundtrip-engineering mit UML, Reduzierung der Abhängigkeiten, Ressourcenplanung
C++, UML, MS Project, Oracle
1995/96 Bau
Rework/Dokumentation einer Software zur Berechnung von Klimaanlagen
QA, Erstellung eines Frameworks für kontext-sensitive Hilfe, Profiling und Anpassung. Partielles Redesign des Fachkonzeptes
C++, Doxygen, HTML Help Workshop
1996 Shareware
Konfigurationstool für Windows 95 und Windows NT
Zahlreiche Systemeinstellungen über Registry und Systemfiles, Analyse von COM-Komponenten bzgl. aktiver Links, Undo-Fähigkeit sämtlicher Änderungen
Konzept und Implementierung
C++, MFC, COM
1995/96 Softwarehaus
Computergestütztes Erlernen von Fremdsprachen
Fachkonzept, Implementierung und graphisches Interface, User Einstellungen, Dictionnary, Tutor, Schwierigkeitsgrade, Automatisiertes Lernen der Stärken und Schwächen des Benutzers
C++, MFC, UML, MS Word, ODBC, MS-Access
1995 Softwarehaus
Word processor für Farsi (persisch)
Rich-Text Applikation mit Spezialisierung für persische Schrift
Keyboard Konfiguration und Eingabe über On-Screen Keyboard, Mitarbeit an Konzept und Implementierung, Graphic Import Library, GUI
C++, MFC, STL, Irna-Fonts
1994 Dienstleistungen
Road-Service Dispatch System
Event getriebenes System zur Optimierung von Außendienst Serviceleistungen, Zentrale Zeiterfassung und Verteilung von Serviceaufträgen, Zeiten und Wegstrecken, Implementierung Eingabemasken und Eventhandling
C, MS-DOS, Windows 3.11
1986 - 1990 Olivetti Systems & Networks, Berlin
Administrative Software
Verwaltung von Endbenutzern, Serviceleistungen, elektronischen Bauelementen und deren Historie
Ein-,Ausgang von Elektronikelementen, Kosten, Anfälligkeit und Standards
Registrierung von Modifizierungen und externen Reparaturen
Einfaches Reporting und Statistiken
Testsoftware zur Diagnose von Elektronikperipherien
C, MS-C, x86 Assembler, GWBasic
MS-DOS, UNIX, HAI, PCOS
Ausbildung Fernsehtechnik
Studium Informatik
Erfahrungen
Entwicklungstools
Methoden und Technologien
Bibliotheken
Internet Technologie
Unit Testing
Modellierung mit UML
QA
Mindestens 50% Entwicklungsarbeit
Remote erwünscht
Entwicklung für das zentrale Backend der produktiven Personalwirtschaftsverfahren der AKDB.
Das .NET/COBOL Backend ist das noch nicht vollständig implementierte Ergebnis einer Migration von einem reinen Mainframe-Verfahren auf die .NET-Plattform mit C# Code.
Die Größe des Backends erforderte eine stufenweise Migration, die großenteils von der spanischen Firma Itestra durchgeführt wurde.
Da die COBOL-Anteile erst nach Abschluss und Abnahme der Implementierung aller Module ersetzt werden kann, wurde für die Interimszeit mit der Technologie von Microfocus eine COBOL-Integration implementiert, die notwendigerweise die ohnehin schon hohe Komplexität der Software zusätzlich steigerte.
3 Teams, aufgeteilt in jeweils ein Team aus Fach- und Entwiklungsexperten, teilten sich die Aufgaben am selben Backend für die Fachbereiche Steuer, Sozialversicherungen und Brutto/Netto.
Als Methodik wurde im Verlauf des Projekts SCRUM eingeführt und pro Team den jeweiligen Besonderheiten angepasst. Die SCRUM-Master-Rollen wurden von externen Kräften übernommen.
Aufgaben in den Fachgebieten Steuer und Sozialversicherungen.
Zusätzlich zu den Standardtools wurden zahlreiche QS und DEV-OPS-Tools, bspw. zur Datenbank- und Schemagenerierung, QS-Management und COBOL/JCL-Verarbeitung verwendet.
Weiterentwicklung eine MES-Frontend- und Backend-Anwendung zur Produktionsdatenerfassung und Steuerung des MES-Systems zur Produktion von Silikonen im Werk Burghausen.
Das Backend der Anwendung dient als Bindeglied zwischen dem Produktionsleitsystem und dem SAP ERP-System und einer separaten ORACLE-Datenbank.
Meine Aufgabe waren:
1. Architekturuntersützung für die IOC-Subsysteme für Back- und Frontend (UNITY)
2. Implementierung und Design von Frontends mit WPF und MVVM, eingeschlossen Live-Anzeigen von Wiegeprozessen.
3. Erweiterungen, Anpassungen und Fehlerbehebung im Backend, eingeschlossen neuer SQL-Queries, Anpassungen und Erweiterungen der SAP-Schnittstelle und Entwicklung von automatisierten Tests.
Allgemein
Das europäische Projekt ?Single-Digital-Gateway? (jur. SDGVO), als auch das innerstaatliche deutsche Projekt zur Umsetzung der Maßgaben des Online-Zugangs-Gesetzes (OZG) haben, in vergleichbarer Weise, das Ziel, die Erstellung und Verarbeitung behördlicher Anträge für die Bürger der Europäischen Union und die Unternehmen des europäischen Binnenmarktes durch vollständige Digitalisierung zu erleichtern.
Abstrakt wird das zugrundeliegende Konzept unter der Bezeichnung OOP (Once-Only-Principle) zusammengefasst. Die technischen System des OOP sollen die Fähigkeit besitzen, die, zur Antragsstellung notwendigen Nachweise, weitgehend automatisiert erfassen, verifizieren und von Behörde zu Behörde übertragen zu können.
Aufgabenbeschreibung
Die EU-Verordnung 2018/1724 zum Single Digital Gateway (SDG) richtet an die EU-Mitgliedstaaten die Anforderung, die national online bereitgestellten Verwaltungsverfahren und Hilfsdienste auch EU-weit grenzüberschreitend diskriminierungsfrei zugänglich und abwickelbar zu machen.
Meine Aufgabe wurde wie folgt vom StMD definiert (Zitat): "Die Hauptaufgabe des Software-Architekten ist die Beratung des StMD hinsichtlich der High Level Architecture des SDG OOP unter Berücksichtigung des bayerischen eGovernments, wie z.B. einer zukünftigen Unternehmensplattform Deutschland auf Basis des Elster Unternehmenskontos."
Die deutsche Unternehmensplattform
Die Unternehmensplattform geht auf eine Initiative des StMD
zurück und hat das Ziel, bürgernahe Dienste von unternehmensspezifischen Leistungen
zu trennen. Zum Zeitpunkt dieses Schreibens wurde das Unternehmensportal in
einer grundlegenden Version veröffentlicht, benötigt allerdings weitere konzeptionelle
Ausarbeitung und beobachtet gleichzeitig den Fortschritt der Registermodernisierung als auch die Entwicklung des SDG.
Am Projekt ?Unternehmensplattform? nahm ich auf Anfrage des
Referats B1 als beratender Architekt teil.
Die Tätigkeit umfasste neben der
direkten Beratung der Beteiligten des StMD, die Präsentation verschiedener Aspekte der allgemeinen
Architektur und der Sicherheits-Anforderungen an das Basis-System (ELSTER) als
auch diverse Meetings mit weiteren, am Projekt beteiligten, Unternehmen und behördlichen
Instanzen.
KABU ist das Kernstück des Integrierten Haushalts- und Kassenverfahrens (IHV) des Freistaats Bayern. KABU XL spezifiziert bedeutende Erweiterungen des bisherigen Verfahrens, sowie plattformrelevante Migrationen.
Das System besteht im Wesentlichen aus:
Zwischen 2010 und 2014 wurde beschlossen, die Desktopanwendungen in einem einheitlichen System mit Haushalts-, Organisations-, Arbeitsgruppen und Benutzerverwaltung zu integrieren.Als Plattform wurde .NET mit der Programmiersprache C# und einem UI mit WPF spezifiziert.
Die Entwicklung am Projekt KABU XL startete 2015.
Bereits vor meiner Mitwirkung, 2017, war es offensichtlich geworden, dass die bestehende Architektur den hohen Anforderungen an das System nicht genügen konnte.
Die komplexen Anforderungen an die Datenverarbeitung, Validierung, Performanz und die individuellen Ansprüche der fachlichen Sachbearbeitung, wie auch das hohe Datenvolumen des Verfahrens verlangten nach einer angemessenen Enterprise Architektur.
Ich entwickelte eine serviceorientierte, auf 3 erweiterbaren Schichten basierende, Basisarchitektur mit einer Reihe von Infrastrukturkomponenten und Frameworks, die auf die Individualanforderungen zugeschnitten waren. Die Module der Fachkonzeptschichten wurden in enger Zusammenarbeit mit den Entwicklern besprochen und im Sinne der Gesamtarchitektur auf der Grundlage eines jeweils angemessenen Anforderungsdesigns implementiert.
Wie bei jeder großangelegten Architektur wurde auf vollständige Entkopplung Wert gelegt. WPF technologiespezifische Anforderungen, wie z.B. hochkomplexe Validierungen, deklarative Regelintegration und freie, entkoppelte Datenbindung wurden durch Framework-Dienste unterstützt.
Eine detailliertere Beschreibung der Architektur würde den Rahmen dieser Kurzbeschreibung sprengen. Im Oktober 2018 wurde von der Informatik Zentralabteilung T1 ein, vom Finanzministerium beauftragtes Architekturreview durchgeführt. Die, von mir in diesem Zusammenhang erstellte, allgemeine Dokumentation der Anwendungsarchitektur umfasst bereits 160 Seiten.
Für alle Infrastruktur- und Domänenmodule wurden umfassende Unit-, Integrations- und funktionale, automatisierte Tests erstellt.
Alle Aufgaben wurden in direkter Zusammenarbeit mit der Abteilungs-, Referats- und Projektleitung durchgeführt. An den wesentlichen Besprechungen nahmen alle Entwickler regelmäßig teil.
Im Verlauf des Projekts wurde offensichtlich, dass ein Bedarf für die Vereinheitlichung des Testmanagements und der fachlichen Anforderungsanalyse bestanden. Solche und andere synergetische Effekte zwischen Projektleitung, Entwicklung, QS, Test- und Anforderungsmanagement waren in diesem Projekt ausgesprochen hoch und positiv zu bewerten. Sie führten letztendlich zur Beauftragung des Finanzministeriums zur Durchführung einer Fachanalyse und der Evaluierung einer geeigneten ALM Plattform.
Die Dialoganwendungen des KABU Verfahrens umfassen 25 Anwendungen in VB6 und eine Anwendung in VBA über einer Access Datenbank.Microsoft beendet die offizielle Unterstützung der VB6 Laufzeit auf allen Windows Betriebssystemen im Jahr 2025.
Die VB6 Laufzeit wird darüber hinaus bereits seit dem Jahr 2005 nicht mehr aktualisiert. In der Zwischenzeit haben sich verschiedene Sicherheitsmängel gezeigt, die von Microsoft nicht mehr behoben werden.
Auf Beschluss des Finanzministeriums sollte ein Assessment bezüglich der automatisierten Migration der sogenannten Dialoganwendungen des KABU Verfahrens auf die .NET Plattform durchgeführt werden.
Die KABU Dialoganwendungen wurden Ende der 90er Jahre von externen Dienstleistern entwickelt und anschließend von internen und externen Entwicklern des LfF gepflegt und weiterentwickelt.
In einem Assessment aus dem Jahr 2010 war bereits von einer Migration aufgrund der schlechten Code Qualität abgeraten worden.
Die Grundlage des neuen Assessments bildeten
Nach der Durchführung und Analyse der Basisparameter wurden die Migrationstools durch interne Entwickler auf Hyper-V Terminals getestet. Nachdem die Versuche ergeben hatten, dass keines der Tools eine vollständige oder korrekte Migration durchzuführen imstande gewesen war, wurden die Möglichkeiten und potenziellen Aufwände manueller Nacharbeiten evaluiert.
Die Ergebnisse wurden in einem Dokument zusammengefasst, das im Rahmen des vorgegebenen Ziels die Grundvoraussetzungen, strategische und technische Empfehlungen, sowie die zu erwartenden Ergebnisse aufwandsbezogen beschreibt.
Das Assessment wurde anschließend mit einem Empfehlungsschreiben der Abteilungs- und Referatsleitung dem Finanzministerium, wie auch der Zentralabteilung übergeben.
Zum aktuellen Zeitpunkt liegt noch keine Stellungnahme seitens des Finanzministeriums vor.
Roche bietet sowohl konzerninternen wie auch externen Laboratorien die Möglichkeit während der Upstream und Downstream Fermentationsprozesse entnommene Proben mit dem DAMAS Probenmanagement digital zu verwalten.
Details weiter unten in den Projekten VETAS Migration, VETAS Pilot und VETAS Neu
Anpassungen an neue Technologien und Platformen.
Feature Erweiterungen.
DAMAS (Data Acquisition and Management and
Analysis System) ist eine Roche Eigenentwicklung, die zur Unterstützung der Planung, Ausführung und Dokumentation der Entwicklunsprozesse und deren Auswertung und Vereinfachung eingesetzt wird. DAMAS stellt die durchgängige Erfassung und Auswertung der Daten sicher, die innerhalb der Entwicklungsprozesse anfallen. In diesem Zusammenhang umfasst die Software folgende Hauptfunktionen:
Materialmanagement
Rezepterstellung
Stoffzubereitung
Verwaltung und Verwiegung von Einsatzstoffen
Probenmanagement
Reporting
Die Software besteht aus einem WPF/.Net basierten Server/Client System.
Die serverseitige Anbindung zu Oracle wird über Entity Framework 5.0 hergestellt.
Das Daten Transaktionsmodel besteht hauptsächlich aus expliziten SQL-Statements, teilweise aber auch EF O/R Features.
Die Server Anwendungen laufen auf IIS, die Schnittstellen werden durch Webservices publiziert, die mit WCF (Windows Communication Foundation) implementiert werden.
Die Client Anwendung ist eine Integrationsplatform, für die oben genannten Subsysteme (1-6).
Aufgaben:
Erstellung und Erweiterung von Features.
Verbesserung der Performanz, Erweiterbarkeit und Wartbarkeit.
Erstellen von automatisierten Komponententtests mit MS Unit Test.
Anpassung, Migration und Erweiterung des DB-Schemas.
Erstellung und Integration einer erweiterbaren Anwendungsarchitektur.
Details (Server):
Die Server- und Clientanwendungen laufen auf dem .Net Framework 4.5.1, die Implementierungssprache ist C#.
Die serverseitige Anbindung an die Oracle Datenbanken erfolgt über Entity Framework 5.0 in Anbindung an die entsprechenden
Data-Provider Module von Oracle.
Als Server wird IIS eingesetzt, die Anwendungsschnittstellen werden als Web-Services veröffentlicht.
Als Technologie zur Implementierung dient WCF.
Details (Client):
Die ursprüngliche Implementierung mit Windows Forms mit MVP wurde durch WPF mit MVVM ersetzt. Mittlerweile sind ca. 90% des Clients nach WPF migriert. Neben eigen entwickelten WPF Benutzersteuerelementen wird auch die WPF Bibliothek von "Component One" benutzt. Der Lebenszyklus der persistenten Aktivitäten ist ausnahmslos transaktions gebunden. Zukünftige Web Clients können so ohne großen Aufwand integriert werden. Die, durch das Fehlen transienter Modelle verursachten Performanzverluste, werden durch den Einsatz von Client-seitigem Multitasking reduziert. Client-seitig werden die Dateninhalte als Views verarbeitet, serverseitig werden explizite Transaktionen und gespeicherte Datenbankprozeduren verwendet. Die Isolation der Komponenten und Schnittstellen wird durch den Einsatzt von IOC Containern ermöglicht.
Die ursprüngliche Verwendung von MVVM-Light wird durch Microsoft Patterns und Practices Unity ersetzt.
Details (Test):
Da DAMAS ein validiertes System ist, müssen für alle relevanten Funktionen automatisierte Tests erstellt werden.
Als Laufzeit und Implementierungsplatform wird MS Unit Test mit C# als Implementierungsprache benutzt. Als Anforderungs Management Tool wird Doors eingesetzt. Zur Synchronisation, Historie und Validierung des Sourcecodes wird TFS (Sourcecontrol und Workitems) eingesetzt. eingesetzt.
Bei Ispa Next handelt es sich um die letzte Generation der internationalen Software für BMW Service Händler. Es ist ein, mit WPF / MVVM erstellter Rich Client, der die umfangreichen BMW Backend Landschaften bedient. Die "Velocity" der Umsetzung der User Stories sank in der 2. Hälfte des Jahres 2015 kontinuierlich. Die Ursachenanalyse zeigte Mängel in der Anwendungsarchitektur und einen nicht-refaktorierten Anteil technischer Schulden.
Sonstiges:
Exemplarisch sei hier die Umgestaltung des Reporting Systems angedeutet:
Neuentwicklung einer Windows Betriebssystem Optimierungs Software.
Nachdem das Vorgängerprojekt mit der formalen Abnahme durch den Kunden (TÜV Autoservice) beendet war,
wurde das VETAS Pilotierungsprojekt gestartet. Mit einem Volumen von 50 - 100 Pilot Testern, wurde das
produktive Rollout der Anwendung für Juni 2015 angesetzt.
Während der Pilotphase fielen zahlreiche Aufgaben an: u.a. Anpassung der Serverlandschaften und
Datenbanken, Einführung des Supports (Level 1-3), Change Requests, Software Erweiterungen, Anpassungen
und Optimierungen, Bugfixing.
Migration einer Oracle-Forms Anwendung zur Gutachtenerstellung und -Verwaltung auf .Net (C#, WPF) unter
Verwendung von Unity/Prism und Entity Framework.
Basis des Projekts ist eine Anwendung (VETAS), die seit 20 Jahren von TÜV Autoservices zur Gutachtenerstellung und Stammdatenverwaltung eingesetzt wird. Die Alt-Anwendung wurde durch einen Oracle Application Server verteilt. Einer der Gründe für die Migration war die fehlende Unterstützung von OAS für Windows 7, wie auch die Einstellung des Supports für Windows XP ab 2014.
Neuentwicklung eines Alarm Informations-Systems für Handelsschiffe
Das System verteilt sich auf 2 Servereinheiten (Master, Backup) mit je zwei Kommunikationskanälen (Redundanz) zu jedem individuellen Client (Touchscreen Panels mit Windows CE Betriebssystem, sowie Kontrollstationen auf Windows XP, Windows 7). Über das Schiff werden 30 oder mehr Geräte verteilt, die im Netzwerk mit den Kontrollstationen, der Bridge
und der Server Steuerungssoftware kommunizieren.
Zur Kommunikation der Server mit den Schiffseinheiten (Prozessstationen) dient eine, von „Kongsberg Maritime“ entwickelte Software, die sich der von den Servern bereitgestellten externen Schnittstellen bedient. Mit Ausnahme der IP-Adressen wird die Konfiguration der Einheiten dynamisch geladen, um größtmögliche Flexibilität und Anpassungsfähigkeit zu gewährleisen. Während einer 2-jährigen Softwareentwicklungspause wurde eine neue Geräte Hardware entwickelt, die nun im 1. Rollout des Systems zum Einsatz kommt.
ABLAUF
Migration einer VB.NET Forms Anwendung nach C# / WPF
Projektverlauf:
Das anwendungsspezifische Domänenmodell wurde neu konzipiert. Ein neu entwickelter Generator adaptiert
die Entitäten (POCOs) des DAL (Data-Access-Layer) und realisiert eine entkoppelte Verbindung zu den
Anforderungen der MVVM View-Model-Schicht.
Code Review für eine ASP.NET Anwendung für die Global Compliance der Daimler AG
2013 Softwarehersteller (M&M Software)
Alarm Informations-System für die Schifffahrt.
2 monatiges Folgeprojekt für Kongsberg-Maritime.
Einige Erweiterungen und Change-Requests.
Technologie: C#, .Net 3.5, .Net Compact Framework, WPF, MVVM, XML, XSD
Tools: Visual Studio 2008 und 2010, Unit test Framework,
Log4Net, SVN, Cruise Control, Bugzilla
Geräte: DFI Alarm Panels
OS: Windows 7, Windows CE 6.0, Windows XP
2012 Softwarehersteller (M&M Software)
Erweitertes Alarm Informations-System für die Schifffahrt.
Das System verteilt sich auf 2 Servereinheiten (Master, Backup) mit je zwei Kommunikationskanälen (Redundanz) zu jedem individuellen Client (Touchscreen Panels mit Windows CE Betriebssystem, sowie Kontrollstationen auf Windows XP, Windows 7).
Über das Schiff werden 30 oder mehr Geräte verteilt, die im Netzwerk mit den Kontrollstationen, der Bridge und der Server Steuerungssoftware kommunizieren.
Zur Kommunikation der Server mit den Schiffseinheiten (Process-Stations) dient eine, von ?Kongsberg Maritime? entwickelte Software, die sich der von den Servern bereitgestellten externen Schnittstellen bedient.
Mit Ausnahme der IP Adressen wird die Konfiguration der Einheiten dynamisch geladen, um größtmögliche Flexibilität und Anpassungsfähigkeit zu gewährleisen.
Während einer 2 jährigen Softwareentwicklungspause wurde eine neue Geräte Hardware entwickelt, die nun im 1. Rollout des Systems zum Einsatz kommt.
Aufgaben:
Fehlerbehebung und Anpassung sowohl der Server-, wie auch der Clientsoftware.
Überarbeitung der technischen Architektur.
Erstellung von System- und Unit Tests, speziellen Applikationen zur Simulation der Testfälle und zur Ansteuerung des Systems.
Technologie: C#, .Net 3.5, .Net Compact Framework, WPF, MVVM, XML, XSD
Tools: Visual Studio 2008 und 2010, Unit test Framework,
Log4Net, SVN, Cruise Control, Bugzilla
2011 - 2012 Führender Hersteller medizinischer Patientenmonitore (Philips Medical)
Software zur Durchführung der automatisierten Software Tests für den Systemtest, als Teil der Verifizierung und Validierung der Monitor Software Releases.
Aufgaben:
Beratung und Umsetzung einer verbesserten Architektur der Testsoftware mit dem Fokus auf Wartbarkeit, Wiederverwendung und Erweiterbarkeit.
Fehlerbehebung, Anpassung und Test der bestehenden Testsoftware.
Durchführung der automatisierten Tests und Erzeugung der Testberichte.
Ausbau und Dokumentation der Teststationen mit Geräten, Simulatoren, Infrastruktur und Netzwerkverbindungen.
? Alle Monitortypen werden nach formalen Vorgaben (SRS) getestet.
Die arbeitsintensiven und durch zahlreiche Eingangsparameter gekennzeichneten Tests werden nicht mehr manuell, sondern automatisiert durchgeführt.
? Die Testsoftware kommuniziert in mehreren Testnetzwerken mit Simulatorgeräten, Simulatorsoftware und den Testmonitoren.
Die technische Softwarearchitektur unterteilt sich in eine Integrationsplatform, WCF Servermodule, Simulationsapplikationen sowie die Steuerungssoftware für die Durchführung der Tests, implementiert in C# und Python.
Reports werden automatisch im Log4View Format generiert und durch eine Applikation in ein formales XML Dokument transformiert, das als Basis für formale Reports dient.
Technologie: C#, .Net 3.5 und 4.0, Python 2.6, C++, WCF, XML, XSD, XSLT, HTML
Tools: Visual Studio 2008 und 2010, Unittest Framework, Iron Python 2.71,
TFS, Log4View, Philips Tools, Snapshot CM
Geräte: Monitore und Measurementserver der Antares Familie, CISCO VLan,
Moxa Portmapper, Simulatoren von HP, Agilent, Philips,
Respironics, u.v.a.
OS: Windows 7, XP
2011 eResearch
Software zur Konfiguration und zum Deployment medizinischer Studien.
Aufgaben:
Konzept, Design und Entwicklung einer modular aufgebauten Client-Applikation.
3 Hauptmodule realisieren Aufgaben der Produkt Administration, der Systemkonfiguration (Released Systems) sowie die technische Konfiguration der Serverlandschaft mit dem abschließenden Deployment der Devicesoftware und deren Plugins.
Weitere Module geben Informationen über vorhandene Installationen und deren Historie, zeigen Management relevante Informationen und erlauben spezielle Backend Tests.
Technologie:
C#, .Net 3.5 und 4.0, WPF, MVVM, MVP, WCF.
Tools: Visual Studio 2010, Team Foundation Server, Sparx Enterprise Architect, SQL Server.
OS: Windows 7, XP
2008 - 2011 HUK (Versicherung)
Clientsoftware zur Erstellung und Verwaltung von Versicherungsangeboten und
Bestandsdaten mit CRM Anteilen. Die Kernfunktionalität der Applikation besteht in der Erstellung und Bearbeitung von Angeboten und Anträgen durch den Außendienst, der den Hauptumsatz dieses Konzerns bestreitet.
Aufgaben:
Konzept, Design und Entwicklung
Framework und zentrale Bibliotheken
AAV (Angebots-, Antrags-, Vertragssystem)
Integration bestehender Komponenten
Framework
Angebots- und Bestandssystem
Unterstützung von On- und Offline Betrieb:
Entwicklungsprozess
C#, .NET 4.0, 3.5, 2.0, C++, C++/CLI, Java (JNI)
Visual Studio 2008 Team Edition, Visual Studio 2005,
MS Enterprise Library, CAB, SCSF, Infragistics,
WCF, SQL Server, RSM, Innovator, IRQA, XML, CVS, Webservices
2006 - 2008 Dräger Safety
Multigas Detektor System
Software zur Steuerung eines Gaschromatographen für bis zu 40, individuell kalibrierbaren Substanzen. Präzision im Millionstel Bereich / Anteil (ppb).
Das Messgerät ist eine Stand-Alone Maschine, die sowohl entfernt, als auch über einen Touch-Screen gesteuert und bedient werden kann. Neben der eingebetteten Controller Software läuft die Hauptapplikation auf Windows CE 4.2 und 5.0 unter dem .NET Compact Framework 1.0. Das Gerät wird beispielsweise in sterilen Produktionsstätten zum Schutz vor Verunreinigungen und sicheren Umgebungen zum Schutz vor schädlichen chemischen Substanzen eingesetzt.
Aufgaben:
Codereview, Qualitätsmaßnahmen
Konzept, Design und Neuentwicklung
Codereview und Maßnahmen
Adixen Projekt
Kalibrierungssystem
Entwicklungsprozess
C#, .Net 1.1, .Net 2.0, .Net Compact Framework 1.0, C++, C,
Visual Studio 2003, Visual Studio 2005, MS Embedded C++ 4.0,
XML, Windows XP, Windows CE 4.2, 5.0, MS Active Sync, AES, OpenNETCF (eigener Built mit Erweiterungen), MKS, CVS
2006 Münchener Softwareunternehmen
Vertriebsdemo "Individual Card Design"
Web-Frontend Applet mit verschiedenen graphischen Möglichkeiten zur Individualisierung von Kreditkarten.
Administrations-Applet und Servlet zur betriebsinternen Weiterverarbeitung.
Design, Implementierung und Dokumentation
Java, JDK 1.5, JRE 1.5, Ant 1.65, Swing, Netbeans 5.0, XML, CSS, HTML
2006 Münchener Softwareunternehmen
Qualitätssicherung der SW Repositories eines Münchener Softwareherstellers
Repository - Checkout, Build und Runtime-Tests aller Hauptversionen.
Dokumentation der Konfigurationen und der Problemstellen für alle Release und Debug Versionen.
Dokumentation und Test der notwendigen Konfigurationen zum Aufbau einer Entwicklungsumgebung mit MSVC++ 6.0.
Dokumentation des CVS Repositories mit allen Branches.
Authentifizierung des Repositories mit SHA1.
C++, XML, CVS, SHA1
2006 Münchener Softwareunternehmen
Kunden / Terminmanagement eines Autozubehörhauses
Applikationserweiterung auf firmeneigenem Enterprise Framework
Analyse/Test der Individual Applikation und des Frameworks Schwerpunkte: Effektivität und Sicherheit im Entwicklungsprozess, Time-to-market, Skalierbarkeit
Java, j2re 1.4.2, JRE 1.5.0, JDK 1.5, Swing, JDBC, Netbeans 4.1 + 5.0, PostgreSQL
2004/05 Capeware Technologies, München/Mannheim
Position: /> Aufgaben: Projektmanagement und technische Leitung
Softwareentwicklung
Spezifikationen, Konzepte, Pflichtenhefte
Präsentationen
Kunden:
Kunde: BMW
Reengineering der Software des 7er Sicherheitsbusses
Automatische Transformation der Software von 12 Steuergeräten (C) in ein funktionales Modell (CAPE/C)
Generierung der Bibliotheken und eines Hybrid-Daten-Kontrollflusses mit diskreter Controller Schnittstellenbeschreibung
Konfigurierbares Reengineering mit frei wählbarer Granularität
Manuelles Reengineering der HW-Partitionierung auf Basis der Steuergeräte Spezifikationen und Lastenhefte
Analyse des Sourcecodes auf ANSI-C Konformität
Entwicklung separater, modellunabhängiger Tools und Backendbibliotheken zur Weiterverarbeitung und allgemein-verständlichen Visualisierung der reengineerten Daten, Call-Tree, static Allocation für Basistypen, Structs, Unions etc,
Dynamische Call-Stack Reduktion, Symbol Tabelle und Variable Flow
Stand Alone Tool zur Generierung einer PDF Dokumentation aus XML Export Daten
C++, MFC, STL, UML, C#, Windows, CAPE/C (Interpretations- und Transformationslogik), CodeWright,
XML, XSLT, XSL-FO(Apache) zur PDF-Generierung
AntLR BNF Parsergenerator(Java, JNI)
Projektleitung, Spezifikation (ANSI-C -> Funktionales Modell), Analyse, Systemdesign,
Implementierung der Transformations- Dlls, und der Applikationslogik, Präsentation.
2005 Qualitätskontrolle von embedded Controller - Software
Bayerischer Automobil OEM und verschiedene Zulieferer
Spezifikation eines Kontrollflusses, basierend auf C Reengineering.
Automatisierter Delta Vergleich verschiedener Softwarestände mit Schwerpunkten
Schnittstellenintegrität, Speicherbedarf und Komplexität.
Erweiterte Abhängigkeitsmatrizen zur Analyse konditionaler Zustände der Automaten und Fault-Tracking
Partielles, konfigurierbares Blackbox - Prinzip zur Realisierung von Information-hiding.
Einsatz von ANTLR Parser und CAPE/C Transformations- und Interpretationslogik
Projektleitung, Spezifikation, SW-Konzept, Angebot, Prototypen, Präsentation
C++, C#, .NET, MFC, Java, JNI, AntLR, CAPE/C
2004 Klimasystem Modellierung
Visteon - Norddeutscher Automobil Zulieferer
Konzept und Präsentation der modellbasierten, funktionalen Architektur einer Automobil Klimasteuerung.
Lastenheftanalyse
Modellierung des Systems
Präsentation
2004/05 Offene Schnittstelle und API für CAPE/C
Umstellung des CAPE-Applikationsframeworks auf ein DCOM basierendes System
CAPE/C Applikation als Server, Schnittstellen für verwalteten Code
Konzept, Spezifikation,
Implementierung der Framework Erweiterung und der Client-Prototypen
C++, C#, .NET, DCOM, ATL, UML, CAPE/C
2005 FIBEX 2 CAPE/C
Spezifikation der Umsetzung relevanter Anteile der FIBEX-Spezifikation in CAPE/C Funktionsmodellen
Konzept des Mappings aller FIBEX Elemente auf vorhandene CAPE/C Modellelemente
(Hardware Partitionierung, Bussysteme, Libraries, Instanziierung)
Formale Beschreibung der notwendigen Erweiterungen des CAPE/C Objektmodells
2004 CAPE/C Code Analyse
CAPE/C hatte durch neue Funktionalität eine Komplexität erreicht, die ein Rework sinnvoll erscheinen ließ.
Die Einarbeitungsphase im Bereich Basisentwicklung sah zu diesem Zeitpunkt ½ Jahr vor produktivem Einsatz
vor. Ziel war eine größere Flexibilität im Entwicklungsprozess und höhere Platformflexibilität.
Der Analyseansatz war die Modularisierung der Basisapplikation im Hinblick auf Abhängigkeitsminimierung,
Konzept einer echten, frei skalierbaren 3-tier Architektur,
Migration des Persistenz-Layers von dem objektorientierten Datenbanksystem zu einem relationalen Datenbanksystem.
Team Leader mit externen Mitarbeitern
2004 BMW "Magic Tool"
CAPE-Adapter zur Transformation von Message Sequence Charts der MOST BNDB Daten in CAPE/C Abhängigkeitsmatrizen
Mitarbeit an der Spezifikation
Aufsetzen des Test DB-Servers
Anpassung der Datenbankschnittstelle
Funktionale Tests
Entwicklung der für den Import benötigten speziellen Updatealgorithmen und eines Autolayouters
Oracle 8.i, CAPE/C, MSC, C++, MFC
2002-2004 Capeware GmbH, Mannheim
Position: Senior Softwareentwickler
Aufgaben: Weiterentwicklung, Pflege und Optimierung der firmeneigenen Software "CAPE/C", Tests und Fehlerbehebung
CAPE/C ist eine Applikation zur funktionalen Modellierung komplexer Bordnetze,
wie sie in heutigen Automobilen eingesetzt werden.
Plugin Zusatzmodule bieten die Option, CAPE/C als Integrationsplatform für zahlreiche gängige Tools
(MATLAB, ASCET-SD, u.a.) einzusetzen.
Die Applikation wurde seit Mitte der 90er Jahre entwickelt und zur Codegenerierung für Steuergeräte in
Schienenfahrzeugen eingesetzt. Im Jahr 2001 wurde die Software neu konzipiert, um zeitgemäßen,
höheren Anforderungen gerecht zu werden und den Automobilmarkt zu erschließen.
Die Software realer Bordnetzwerke besteht aus umfangreichen, teils Steuergeräte-übergreifend eingesetzten
Funktionsbibliotheken, RT Betriebssystemen und Applikationslogik, die in CAPE/C durch feingranulare
Funktionsbibliotheken modelliert werden. Die hieraus abgeleitete netzwerkorientierte, funktionale Strukturierung
mit implizitem Mapping der Typen auf funktionale Instanzen bildet die Grundlage des CAPE/C Systems.
Der Umfang der Basisapplikation und der Core-Dlls umfasste Mitte 2004 mehr als 800000 Zeilen Sourcecode.
Das Team bestand aus bis zu 23 Entwicklern.
Zusammenfassung der, von CAPE/C verwendeten Technologien
Sprachen: C++, Java, C#
Bibliotheken: MFC, STL, ATL, COM, ActiveX, Rogue Wave Stingray, Objective Toolkit, Objective Views, Objective Grid, Softel SFT Tree, .NET, Boost
Persistenz: XML, Object Store, Oracle 8i
Scripting: Python
Reporting: XSLT, FOP
OS: Windows NT, 2000, XP
UML: Rational Rose
VersionMgmt: CVS, Visual Source Safe
QA: PC Lint C++, Nu Mega Toolsuite
Adaptionen: Matlab, Simulink, ASCET-SD, CaliberRM, CANalyzer, CodeWright, OSEK, VxWorks, JDos, RoseRT, SourceSafe, CAN, ByteFlight
Parser: Xerces DOM, YACC, ANT-LR, MSC
2002 Komplexer Routing Algorithmus
Um einen komplexen Datenfluss graphisch überzeugend darzustellen, ist es notwendig die Flusselemente übersichtlich
anzuordnen. Ein Modell von 10 Steuergeräten enthält zwischen 400.000 und 1 Million Verbindungen über das Gesamtsystem verteilt.
Ich entwickelte eine Bibliothek generischer Routing Algorithmen mit minimaler Clientschnittstelle, die sich in das bestehende
System nahtlos integrieren ließ.
Anders als bei einem Leiterplatinen- oder Schaltplan Layouter müssen hier keine physikalischen Optimierungen vorgenommen,
doch der Router muss hochperformant sein und User Interaktion muss berücksichtigt werden . Das Konzept besteht darin, dass der User die Hauptelemente willkürlich platziert und der Router den verbleibenden Raum benutzt, um das Linienlayout zu berechnen.
Im reinen Import Modus, wie auch bei der Übersetzung von externen Datenbankinformationen wird ein vorgeschalteter Element Autoplacer benutzt, um ein initiales Elementlayout zu optimieren.
Neben einem Default Routing existieren verschiedene Konfigurationen, die untergeordnete Algorithmen ein- bzw. ausschalten, um nach Bedarf das Layout zu individualisieren, oder Performance und Qualität zu balancieren.
Konzept, Design, Implementierung
C++, STL, MFC
2002/03 CAPE/C Graphisches Framework
Das graphische Framework der Anwendung verwendet die Component Bibliotheken von Rogue Wave "Stingray".
Es ist in das (C++)MFC-Framework als MVC Adapter integriert.
In der Anfangsphase förderten die Stingray Bibliotheken eine zügige Entwicklung, jedoch traten bereits bei den ersten "Real-World" Modellen ernstzunehmende Performance Probleme auf. Da Rogue Waves MVC und Command Architektur die eigenen graphischen Component Bibliotheken starr einbindet, musste das gesamte graphische Framework entschlackt, das Objektmodell überarbeitet und die Bibliothek teilweise neu kompiliert werden.
Die notwendige Performanz-Steigerung (in extremen Fällen und bei sehr großen Modellen >100) wurde erreicht.
Rework Konzept, Implementierung
C++, Stringray, MFC, Object Store, XML
2003 Element Gruppen
Ein einzelner Graph(eine CAPE/C Node) mit z.b. 200 Terminalen und 1000 Liniensegmenten kann auch auf einem 19'' Bildschirm unübersichtlich werden. Der User hat deshalb die Option, terminale Elemente mit den dazugehörigen Verbindungen in logische Gruppen zusammenzufassen.
Ein Element-Group-Subsystem analysiert das Buisness Modell und ermöglicht dem User über eine interaktive Selektion Elementgruppen zur Laufzeit zu aktivieren, deaktivieren oder zu verändern. Alle Gruppierungen sind persistent.
Konzept, Design,
Graphik, Buisnesslogik, Persistenz, UI
C++, MFC, Stringray, Objective Views, Object Store, XML
2003/04 Rechteverwaltungssubsystem: Konfigurationstool, Codegenerator
CAPE/C kann als Standalone oder Multiuser betrieben werden.
Der Multiuser Betrieb stellt sowohl Online, wie auch Offline Modus bereit. Ein User kann in Abhängigkeit von seinen Zugriffsrechten einzelne Elemente bis hin zu Teilsystemen exklusiv auschecken, offline bearbeiten und anschließend online synchronisieren.
Um den Offline Betrieb zu ermöglichen und spätere, sichere Synchronisation zu gewährleisten ist es notwendig den Online Betrieb im Offline-Modus
zu simulieren.
Rechte von Gruppen und Individualusern werden durch ein diskretes Rechte Framework im UI-Layer realisiert. Die systemweiten Ressourcen werden durch ein Standalone Tool geparst, analysiert und der User Zugriff ressourcenabhängig, feingranular definiert. Alle Definitionen werden als XML serialisiert, übersetzt und entsprechender Applikationscode wird generiert.
Ein zweites, dynamisches Subsystem realisiert die Zugriffsoptionen zur Laufzeit auf Basis lokaler Datenbankinformationen.
Konzept, Design und Implementierung
C++, MFC, XML, Object Store, Stingray
2004 Adaption der UML 2.0
Einige Automobil Hersteller hatten begonnen, die neue UML 2.0 Spezifikation für das Bordnetz Design zu nutzen
Ziel war es, ein partielles Roundtrip Engineering mit CAPE/C als UML Platform zu realisieren. Starke proprietäre Individualisierungen seitens der Kunden machten es unmöglich einen einheitlichen Übersetzungsstandard zu spezifizieren.
Die Implementierungsphase wurde nicht eingeleitet.
Mitarbeit am Grobkonzept, Prototyp eines erweiterten Objektmodells, Übersetzung, UI
UML(Rational Rose), C++, C#, XML, MFC, .NET
2002/04 CAPE/C Graphic
Ein Teil meiner Aufgabe war die Entwicklung und Pflege aller graphischen Komponenten und des UI.
Das Framework hostete beliebig viele Projekte, wobei ein einzelnes Projekt bis zu 20 verschiedene View Typen haben konnte.
Das graphische Komponenten Objekt Modell bestand aus etwa 300, zum Teil parameterisierten Klassen die vom MVC Framework getrieben wurden. Die Views bestanden aus Graphen, Strukturbäumen, Listen und Messaging Fenstern mit loser Kopplung an das Buisness Modell und
feingranularer Update Logik, da ein klassisches MVC Design (View basierte Observer) den Performance und Speichermöglichkeiten nicht gerecht werden konnte.
Das Objektmodell war zum Teil auf das Stringray Component Object Model aufgebaut, zum Teil auf GDI Komponenten basierend.
Alle Komponenten waren Drag & Drop enabled. Komplexe, zum Teil verschachtelte Property Dialoge ermöglichten dem Benutzer intuitives Property Handling der referenzierten Buisness Objekte. Über eine Command Prozessor Architektur wurden alle Änderungen implizit in die Object Store Datenbank serialisiert. Transaktionssicherheit im Multiuser Online Betrieb wurde durch Rollback und Exception Handling garantiert.
Über XML Konfigurationen konnte der Benutzer sowohl das Aussehen, wie auch das Mapping proprietärer Elemente auf alle Graphiken beeinflussen.
Um die aufwendigen Diagramme fachgerecht im Stil eines technischen Layouts zu präsentieren, entwickelte ich einen komplexen Autorouter.
Alle Graphiken konnten in verschiedene Bildformate exportiert werden.
Konzepte, Design, Implementierung
C++, XML, Stringray, GDI+, O-Views, O-Grid, MFC, Windows-API
2000 - 2001 Itera Consulting Group, Grosch & Link AG, Frankfurt a.M.
Position: Software Entwickler, Consultant,
Durchführung interner Schulungen
(C++, OOP, Design Pattern)
Externe Projekte:
2001 Softwarehaus
Kjaer-Vibro
System zur Zustandsüberwachung und Diagnose von Anlagen und Maschinen
Erstellen eines serverseitigen ATL-Connection-Point Frameworks.
Erweiterung der Delphi-Client Applikationen um COM Event Sources.
Entwurf eines Reporting Systems
Konzept, Implementierung, Dokumentation
ATL, C++, O-Pascal (Delphi), COM, SQL, Interbase
2001 Softwarehaus
SAP
Ersatzteilbestellungssystem für die Erdölindustrie
Modul zur clientseitigen Verarbeitung von CEP Packages außerhalb des SAP R3.
Erstellung eines graphischen ActiveX Controls zur Verwendung im Webbrowser.
Dynamische Generierung der CEP Packagestrukturen aus XML Schema.
Up- und Download Funktionalität via HTTPS zwischen Client und SAP Webserver.
Lokaler Excel Export der CEP Packagedaten.
GUI, Find Algorithmen, XML Schema Interpreter
Implementierung, Dokumentation
C++, JS, HTML, STL, ATL, ActiveX, MFC, XML, SAP R3
2000/01 Softwarehaus
Dürr
Anbieter von Systemen für die Automobilfertigung
Migration einer Touchscreen Werkhallen Diagnosesoftware von OS/2 nach Windows NT
Überarbeitung der Kommunikationsschicht und der Benutzeroberfläche einer prozeduralen Software in C.
Rework zu einem objektorientierten Fachkonzept in C++ und Aktualisierung des GUIs.
Umstellung des Kommunikationslayers von named Pipes nach COM.
Analyse, Pflichtenheft, Entwurf und Prototyping
C++, C, COM, Named Pipes, MFC, TCP IP
1990 - 2000 Freiberuflicher Softwareentwickler in den USA (Auswahl)
1999 Dienstleistung, Handel
GUI Entwicklung für Handelsunternehmen
Tabellarische Darstellungen und Charts in Kombination mit neuen Auswahlmasken für Personalwesen und Sales Provision
Graphische Bibliothek und Übersetzungsalgorithmen, MySQL Backend, erweiterte Komponenten für Reporting
C++, MFC, MySQL
1998 Handel
Abrechnungs- und CRM Software, spezialisiert für Direktvertrieb
Warendurchsatz, Endkunden- und Mitgliederverwaltung, Umsätze(Gesamt, Einzel, Gruppen), Punktwert- und Bonusberechnung,Termine, Erinnerungen, Aufgaben, kundenspezifische Preislisten, Warenkatalog, Sales Tax, Umlagen, etc.
C++, MFC, STL, MySQL
1997/98 Softwarehaus
Code Anal">Code Analyzer für Visual Studio 5.0
Tool Sammlung zur Unterstützung der Teamentwicklung mit C++
C++, IDL, rc und Project-Script Parser und Analyzer, Smart Merger und konfigurierbarer Backup(Submitsafety,local Version), Konfigurierbares Renaming komplexer Abhängigkeiten, Spezialtools für Workspace und Projektmanagement in Visual C++ 5.0,User Defined Wizard Creator
Entwurf und Realisierung
C++, MFC, STL
1997 Softwarehaus
Kompositions Software "Partitur"
Applikation zur computergestützten Komposition von Musik
Standard Notation mit Anastasia Fonts, User definierte Notation über integrierten Editor, 16 Channel Midi Sequencer, Erweiterungsfähige Template Library für Standard Harmoniesequenzen für vierstimmigen Satz, An Tonalität gebundene Harmonieanalyse
C++, MFC, STL, Midi
1996/97 Handel
Verteilte Anwendung für Einkauf, Verkauf und Inventur
Konvertierung proprietärer Datenformate in konfigurierbare, einheitliche Reports und Datasheets
XML als Backend Format, Implementierung der Parser/Translator, GUIs und eines COM Client-Server Systems
XML, Windows SDK, MFC, DCOM, STL, MSXML
1996 Immobilien
CRM System Erweiterung
Systemanbindung zur Verwaltung vertraulicher Kundendaten, Use-Cases auf der Basis von Kunden User-Stories, Applikation, GUI, Verschlüsselung
Windows SDK, MFC, DDE, STL, MSAccess, UML
1996 Industrie
Ersatzteilverwaltung und Bestellung Flugzeugbau
Funktionserweiterung einer Clientapplikation durch Multithreading
Design und Implementierung der Thread Funktionalitäten und der damit verbundenen Synchronisation
C++, MFC
1996 Dienstleistungen
Handelsunternehmen Intranet
Konzept und Entwicklung einer Sicherheitssoftware für FAT-Filesystem für Windows 95
Benutzerdefinierte Sicherheit auf Applikationsebene, als Ersatz für fehlende User-Sicherheitseinstellungen im Windows 95 Betriebssystem
C++, MFC, Windows API
1996 Dienstleistungen
Softwareentwicklungsprozess Beratung Logistik Software
Beratung OOD, OOP
Überarbeitung der Use-Cases, Sequenzdiagramme und des Objektmodells, Konzepterstellung, Dokumentation, Roundtrip-engineering mit UML, Reduzierung der Abhängigkeiten, Ressourcenplanung
C++, UML, MS Project, Oracle
1995/96 Bau
Rework/Dokumentation einer Software zur Berechnung von Klimaanlagen
QA, Erstellung eines Frameworks für kontext-sensitive Hilfe, Profiling und Anpassung. Partielles Redesign des Fachkonzeptes
C++, Doxygen, HTML Help Workshop
1996 Shareware
Konfigurationstool für Windows 95 und Windows NT
Zahlreiche Systemeinstellungen über Registry und Systemfiles, Analyse von COM-Komponenten bzgl. aktiver Links, Undo-Fähigkeit sämtlicher Änderungen
Konzept und Implementierung
C++, MFC, COM
1995/96 Softwarehaus
Computergestütztes Erlernen von Fremdsprachen
Fachkonzept, Implementierung und graphisches Interface, User Einstellungen, Dictionnary, Tutor, Schwierigkeitsgrade, Automatisiertes Lernen der Stärken und Schwächen des Benutzers
C++, MFC, UML, MS Word, ODBC, MS-Access
1995 Softwarehaus
Word processor für Farsi (persisch)
Rich-Text Applikation mit Spezialisierung für persische Schrift
Keyboard Konfiguration und Eingabe über On-Screen Keyboard, Mitarbeit an Konzept und Implementierung, Graphic Import Library, GUI
C++, MFC, STL, Irna-Fonts
1994 Dienstleistungen
Road-Service Dispatch System
Event getriebenes System zur Optimierung von Außendienst Serviceleistungen, Zentrale Zeiterfassung und Verteilung von Serviceaufträgen, Zeiten und Wegstrecken, Implementierung Eingabemasken und Eventhandling
C, MS-DOS, Windows 3.11
1986 - 1990 Olivetti Systems & Networks, Berlin
Administrative Software
Verwaltung von Endbenutzern, Serviceleistungen, elektronischen Bauelementen und deren Historie
Ein-,Ausgang von Elektronikelementen, Kosten, Anfälligkeit und Standards
Registrierung von Modifizierungen und externen Reparaturen
Einfaches Reporting und Statistiken
Testsoftware zur Diagnose von Elektronikperipherien
C, MS-C, x86 Assembler, GWBasic
MS-DOS, UNIX, HAI, PCOS
Ausbildung Fernsehtechnik
Studium Informatik
Erfahrungen
Entwicklungstools
Methoden und Technologien
Bibliotheken
Internet Technologie
Unit Testing
Modellierung mit UML
QA
"Die Arbeit des Consultants hat entscheidend zum Erfolg einer unserer kritischen Produktionssysteme beigetragen. Im Rahmen eines Migrationsprojektes wurde eine bewährte Anwendung auf eine modern, zeitgerechte Technologie umgestellt. Der Consultant hat dafür die Architektur entworfen und war massgeblich an der Umsetzung beteiligt. Durch den hohen Arbeitseinsatz des Consultants konnte die Produktionsanwendung zeitgerecht fertiggestellt werden."
— Projekt Migration einer Anwendung, 08/13 - 11/14 Referenz durch Bereichsleiterin Anwendungsentwicklung, Münchener Dienstleistungsunternehmen, vom 16.11.14
"[...] Der Consultant erwies sich als stets hoch motivierter und engagierter Mitarbeiter, der auch in Situationen mit extrem hohem Arbeitsanfall stets ruhig, überlegt und zielorientiert mit nicht nachlassendem Eifer sowie Qualitätsbewusstsein alle Aufgaben eigeninitiativ durchführte. Mit Kreativität, geschärftem Analysevermögen und sehr schneller Auffassungsgabe entwickelte er sehr gute Lösungen, die er effektiv und gewinnbringend umsetzte. Durch seinen kollegialen Führungsstil hat er seine Mitarbeiter zu hohen Leistungen und sehr guten Ergebnissen führen können. Kooperativität, Kollegialität und Teamorientierung prägen das Verhalten des Consultants. Er ist in allen Situationen kommunikativ, verantwortungsbewusst und kann sich gegen Widerstand zum Wohle des Unternehmens durchsetzen. Die ihm übertragenen Aufgaben erfüllte er in jeder Hinsicht stets zu unserer vollsten Zufriedenheit. Sein persönliches Verhalten gegenüber Vorgesetzten, Kollegen und jeglichen dritten Personen war stets vorbildlich. Wir haben den Consultant als einen Mitarbeiter kennen gelernt, der durch klare Zielsetzungen und einen hohen loyalen, kooperativen Arbeitsstil das Vertrauen der Geschäftsführung besaß. [...] Wir danken ihm für die hervorragende geleistete Arbeit und wünschen ihm für die berufliche und persönliche Zukunft alle Gute."
— Projekt Senior Consultant, 04/04 - 08/05
Referenz durch Geschäftsführer, Softwarehaus (20 MA), vom 30.09.05
Projekt im Rahmen einer Festanstellung durchgeführt
"[...] Mit seinem Fachwissen und seiner Berufserfahrung übertraf er die Anforderungen seines Arbeitsplatzes erheblich. Im Team arbeitete der Consultant aktiv mit. Er zeigte sich den Ideen der anderen aufgeschlossen und brachte eigene Vorschläge ein. Der Consultant hatte hervorragende Ideen, entwickelte Konzepte und setzte diese auch um. Er hat die Fähigkeit auch komplexe Sachverhalte präzise darzustellen und anschaulich zu vermitteln. Der Consultant hatte eine positive Einstellung zu seiner Arbeit, war Veränderungen aufgeschlossen und stellte sich schnell auf neue Situationen ein. Er hatte ein sicheres Auftreten, eine natürliche Autorität und besaß gute Umgangsformen. Er war stets freundlich und hilfsbereit. Wir haben den Consultant als loyalen, ehrgeizigen und zuverlässigen Mitarbeiter sehr geschätzt. Sein Verhalten gegenüber Vorgesetzten, Kollegen und Mitarbeitern war stets vorbildlich. [...]"
— Projekt Senior Developer, 03/02 - 03/04
Referenz durch Geschäftsführer, Unternehmen für Engineering-Technologie, vom 31.03.04
Projekt im Rahmen einer Festanstellung durchgeführt
"[...] Seine umfassenden Fachkenntnisse erstreckten sich auch auf andere Systeme und Sprachen und wurden auch hier eingesetzt. Mit seiner langjährigen Berufserfahrung bewältigte er anspruchsvolle Projekte auch unter hohem Zeitdruck sauber und professionell. Die Reaktion unserer Kunden war ausnahmslos sehr positiv. Technisch hielt er sich stets auf dem neuesten Stand. Spezifische Anforderungen erarbeitete er konsequent und zeitnah. Die Disziplin und das Auftreten des Consultants waren vorbildlich. Er war ein wichtiger Bestandteil unseres Teams, der es verstand, seine Mitarbeiter zu motivieren und stets bereit war, seine Fachkenntnis zum Support Anderer einzusetzen. [...] Wir bedauern diese Entscheidung sehr, da wir einen wertvollen Mitarbeiter verlieren. Wir danken ihm für seine Mitwirkung und wünschen ihm weiterhin viel Erfolg und persönlich alles Gute."
— Projekt Lead-Entwickler (Fachbereich OOP, C++ und für die MS Windows Betriebssysteme), 11/00 - 12/01
Referenz durch Vorstand, Unternehmen im Bereich E-Business, vom 17.12.01
Projekt im Rahmen einer Festanstellung durchgeführt