Persönliche Daten
Name Detlef Höffner, Dipl.-Wirtsch.-Ing.
Geburtsdatum 11.10.1963
Anschrift Koselstr. 17
60318 Frankfurt
Email Detlef.Hoeffner@gmx.de
Familienstand verheiratet
Ausbildung
1970-1974 Grundschule in Bad Wimpfen
Sprachkenntnisse
Deutsch Muttersprache
Englisch diskussionssicher
Französisch Grundkenntnisse
Stärken
Generalist mit umfassender Ausbildung und kurzen Einarbeitungszeiten in neue Themen
Focus auf pragmatischer und erfolgreicher Realisierung von Software
Kommunikationsstarker Businessanalyst mit ausgeprägtem analytischen Denken
Tiefgehende Kenntnisse von Softwarearchitekturen für verteilte Systeme und OOA, OOD und OOP
(JAVA, C++ und C#)
Fachlicher Focus auf Anwendungen im Finanzbereich, insbesondere Marktdaten, Marktrisiko,
Kreditrisko
Projektübersicht
Seit 07/2009
In dem Integrationsprojekt wurden die funktionalen Inhalte und die Abdeckung an Marktdaten und
berechneten Daten in einem System konsolidiert. Meine Tätigkeitsschwerpunkt bezog sich auf die
Analyse, Spezifikation, Prüfung und Abnahme zusätzlicher Funktionalitäten. Wesentliche
Datenlieferanten waren Bloomberg, Reuters und mark-IT.
Tätigkeiten:
• Analyse fachlicher Anforderungen im Marktrisikoumfeld
• Spezifikation und Abstimmung von Anforderungen mit Abnehmern
• Spezifikation von Lösungen
• Konzeption, Design der Umsetzung
• Konzeption und Durchführung von Fachtests
• Umsetzung komplexer Funktionalitäten in C++ (liquid tenor Interpolation)
• Abstimmung von Anforderungen mit internen Kunden aus den Funktionen
• Marktrisiko Methoden,
• Berechnungsengines historische Simulation,
• Kreditrisiko,
• ABS Modelling
Fachliche Inhalte:
Spezifikation der Abbildung, Berechnung, Marktdatengewinnnung zahlreicher Instrumente, u.a. Zero
rates, Zero spreads to swap, Yield rates, Yield spreads, Discount factor, Hazard rates, Default rates.
Inflationsindizes, Inflationskurven. Als Ausgangsdaten wurden jeweils isoliert, z.T. auch kombiniert
folgende Instrumente eingesetzt:
• Bonds
• Credit Default Swaps (CDS)
• Interest rate Swaps
• Futures
• Money Market Zinssätze
Berechnet wurden Kurven für folgende Märkte und Segmente:
• Kurven für risikofreie Zinssätze
• Kurven für den öffentlichen Sektor
• Kurven für Segment (Country, Currency, Branche, Rating) abhängige Zinssätze
• Kurven für MBS
Konzepte für
• MissingValue-Alghorithmen,
• Liquid tenor Interpolation (Interpolation der Werte für beliebige Laufzeiten),
• Proxykonzepte für fehlende oder unvollständige Instrumente.
04/2009 - 06/2009
Abstimmung und Design des Datenmodells und der Anwendung. Die zentrale ABS-Plattform bildet die
ABCP und ABS-Strukturen ab. Modelliert wurden beide Seiten der Transaktionen die Asset-Seite incl.
der Pollstruktur (Assetklassen, Nominale, Positionsstatistiken) und die Finanzierungsseite (Tranchen,
Ratings, Risikorelevante Eigenschaften). Daneben wurden Konzepte zur Messung und Controlling des
Risikos abgebildet, wie z.B. Positionslimit auf Subportfolioebene mit , die flexibel definierbaren
Bildungskriterien.
Datenbanken Oracle 10
Teamlead Design und Umsetzung des Basel 2 Securitisation Frameworks (ABS) für eine
Grossbank
Für eine deutsche Grossbank wird der Basel II Securitisation Framework umgesetzt. Die Entwicklung,
der Test und die Produktionseinführung findet dabei direkt in der Fachabteilung RisikoControlling statt.
Die Anwendung ist in JAVA unter Nutzung von JDO datenbankunabhängig umgesetzt, um eine
effiziente Entwicklung und anschließende Migration auf die Zielumgebung DB2 zu ermöglichen.
Aufgaben:
· Teamleitung und Koordination
· Definition und Abstimmung der Anwendungsarchitektur
· Definition und Abstimmung des Entwicklungsvorgehens, des Test- und Migrationskonzeptes
· Beratung bei den fachlichen Vorgaben
· Umsetzung wesentlicher fachlicher Teile der Berechnungsengine
Erstellung einer JAVA-GUI-Anwendung zur Erfassung von ABS-Strukturdaten für eine große
Investmentbank
Teamlead Design und Umsetzung des Basel 2 Securitisation Frameworks (ABS) für eine
Grossbank
Für eine deutsche Grossbank wird der Basel II Securitisation Framework umgesetzt. Die Entwicklung,
der Test und die Produktionseinführung findet dabei direkt in der Fachabteilung RisikoControlling statt.
Die Anwendung ist in JAVA unter Nutzung von JDO datenbankunabhängig umgesetzt, um eine
effiziente Entwicklung und anschließende Migration auf die Zielumgebung DB2 zu ermöglichen.
Aufgaben:
· Teamleitung und Koordination
· Definition und Abstimmung der Anwendungsarchitektur
· Definition und Abstimmung des Entwicklungsvorgehens, des Test- und Migrationskonzeptes
· Beratung bei den fachlichen Vorgaben
· Umsetzung wesentlicher fachlicher Teile der Berechnungsengine
Im Rahmen der Überführung und Konsolidierung von Anwendungen aus dem Fachbereich in den IT-
Bereich wurden 2 Anwendungen habe ich 2 Anwendungen zur Darstellung, Berechnung und
Manipulation von Zins und Volatilitätskurven analysiert und einen Maßnahmenkatalog incl.
Aufwandsschätzungen aufgestellt.
Die erste Anwendung ermöglicht die Darstellung und Berechnung von Kurven für folgende Arten von
Instrumenten:
• Risikofreie Zinskurven aus Depositrates, Futurerates und Swapsätzen für Währungen,
• Government Bond Zinskurven für Länder/Währungspaare,
• Pfandbrief Zinssätze für Währungen,
• Jumbo Pfandbriefe Zinssätze für Währungen,
• OIS (Overnight Swapsätze) für Währungen,
• Inflationsraten für Währungen,
• FX Rate Implied Volatilities für Währungspaare,
• Cap Floor Implied Volatilities für Währungen,
• Swaption Implied Volatilities für Währungen,
• Credit Default Swaprates (CDS) für Firmen/Währungspaare.
Die zweite Anwendung dient der Berechnung, Darstellung und Pflege der Governmentkurven- und
sog. Bonitätskurven. Diese Kurven werden auf täglicher Basis berechnet. Die Darstellung der Kurven
erfolgt in 2-dimensionalen Charts, in denen der Yield bzw. der Spread in Abhängigkeit von der Laufzeit
dargestellt wird.
Folgende Tätigkeiten habe ich durchgführt:
• Erstellung und Dokumentation von Mindestanforderungen an Architektur und Design der
Anwendungen.
• Dokumentation der Funktionalität der Anwendungen.
• Analyse und Bewertung von Architektur und Design der Anwendungen.
• Erstellung eines Maßnahmenkataloges zur Integration der Anwendungen in die existierende IT-
Landschaft und zur Überführung in den Produktionsbetrieb.
Im Rahmen der Übergabe von Tools zum Download und zur Analyse von Daten von den Lieferanten
Reuters und Bloomberg wird eine Analyse und Migrationsempfehlung für 2 Tools erarbeitet. Das erste
Tool wertet vom Bloomberg-Terminal bezogene Daten aus, das 2. Tool wertet von Reuters 3000
bezogen Daten aus. Beide Tools sind in Visual Basic 6.0 implementiert und werden voraussichtlich
nach JAVA migriert.
Folgende Aufgaben habe ich dabei u.a. wahrgenommen:
• Analyse der Architektur und des Designs der Anwendungen.
• Nachdokumentation der Funktionalität.
• Bewertung und Erarbeitung einer Migrationsempfehlung.
• Erstellung eines JAVA-Interfaces zum Zugriff auf das Bloombergterminal über JNI
Im Rahmen des Insourcings der Marktgerechtigkeitsprüfung wurde die bestehende JAVA- Anwendung
zur Marktgerechtigkeitsprüfung von Zinsprodukten fachlich erweitert und mandantenfähig gemacht.
Dazu musste zunächst das Datenbankschema erweitert werden, um die Mandantenfähigkeit sowie
neue Produktgruppen (Aktien- und FX-Derivate) zu unterstützen. Dann mussten die notwendigen
Funktionalitäten abgestimmt, designed und umgesetzt werden. Dazu gehörten im wesentlichen die
Erweiterung der GUI für die Mandantenfähigkeit, Erstellen von neuen Dialogen zur Erfassung, Suche,
Änderung der Daten von einzelnen Deals, Erweiterung der Importschnittstellen, Information der
Händler über einzelne nicht marktgerechte Geschäfte per Mail.
Zu meinem Aufgaben gehörte dabei das Abstimmen der konkreten Anforderungen, das technische
Design zur Umsetzung der Anforderungen und die Umsetzung selbst. Dabei waren die
Ansprechpartner Projektleiter und Anwender des Systems. Trotz hohen Zeitdrucks wegen der
notwendigen Produktionseinsetzung zu Beginn des neuen Jahres wurde die Anwendung
termingerecht fertiggestellt.
Folgende Aufgaben habe ich dabei u.a. wahrgenommen:
• Abstimmung und Konzeption der Erweiterung des Datenmodells zur Unterstützung der
Mandantenfähigkeit und der neuen Instrumenttypen
• Konzeption und Umsetzung der Mandantenfähigkeit und fachlicher neuer Funktionalitäten
(insbesondere Abdeckung weitere Instrumenttypen OTC-Aktienderivate, FX-Derivate)
• Design und Umsetzung der fachlichen Prüfregeln zur Feststellung der Marktgerechtigkeit
einzelner Geschäfte.
• Fachliche Abstimmung und Erweiterung der Datenimportprozesse von den Frontendsystemen
(Murex) zum Import der notwendigen Informationen zur Unterstützung der Mandantenfähigkeit.
• Fachliche Abstimmung und Erweiterung der Datenimportprozesse für Vergleichsmarktdaten, um
mandantenspezifische Marktdatenselektionen zu ermöglichen.
Architekt und Entwickler in einem JAVA EJB Großprojekt, in dem eine Software für die
Finanzverwaltung erstellt wird (Fiscus GmbH)
Im Gesamtprojekt wird eine Software für die Finanzbehörden erstellt, die bundesweit eingesetzt wird.
Die Gesamtarchitektur ist modeldriven (MDA). Fachliche Anforderungen werden in einem CASE-Tool
(Rational Rose) erfast und große Teile des Codes werden generiert.
Ich bin in dem fachlichen Teilprojekt als Architekt tätig, das die von den anderen fachlichen Projekten
gemeinsam benötigten Daten verwaltet (shared data). Hierbei handelte es sich im Wesentlichen um
personenbezogene Daten.
Folgende Aufgaben habe ich dabei u.a. bisher wahrgenommen:
• Erstellen von Arbeitspaketspezifikationen und Aufwandsschätzungen für einzelne
Projektabschnitte.
• Design und Implementierung eines optimierten Querygenerators. Der Querygenerator isoliert die
Abbildung der Objekte in der Datenbank von den fachlichen Queries. Durch das Neudesign des
Querygenerators konnten die Antwortzeiten durchschnittlich halbiert werden.
• Optimierung von Datenbankzugriffen mittels PL/SQL. Optimierung der Erzeugung von
Domainindexen.
• Erstellen eines Kriterienkataloges zur Bewertung des eingesetzten OO-Mappingtools im Vergleich
zu Alternativlösungen.
• Erstellen einer Liste von Verbesserungsvorschlägen der Gesamtarchitektur insbesondere zur
Verbesserung des Performance des Systems. Für die einzelnen Maßnahmen wurde jeweils ein
Aufwand/Nutzen-Verhältnis ermittelt.
• Analyse von DB-Zugriffszeiten unter Nutzung von OracleText und phonetischer Suche.
• Kalkulation des länderspezifischen Festplattenplatzbedarfs. Dabei wurde der Bedarf nach
fachlichen Entitäten uns technischen Kategorien (Tablespace, Indexe) aufgeschlüsselt.
Betriebssystem Windows XP
Entwicklungsumgebung Eclipse, CM Synergy (früher Continuus), Rational Rose
Applicationserver OC4J, JBoss
Datenbank Oracle
Tools Microsoft Office, Mari Project
2/2003-6/2003
Erstellung von JAVA Anwendungen zum automatischen Laden von Marktdaten aus dem
Internet. Portierung einer Bibliothek mit Finanzalgorithmen (Financial Numerical Recipes)
von C++ nach JAVA und C# für einen Softwaredienstleister.(venito GmbH)
Ich habe für einen Softwaredienstleister eine JAVA-Anwendung konzipiert und entwickelt, die
Marktdaten von verschiedenen Anbietern (Börsen und Brokern) aus dem Internet automatisch lädt und
abspeichert. Die Basis ist dabei ein konfigurierbarer HTML-Parser, der die entsprechenden Seiten
HTML analisiert und die Daten transformiert. Die Daten werden dann über eine
Zeitreihenspeicherframework entweder in Files oder in relationale Datenbanken abgelegt. Außerdem
habe ich die umfangreiche Bibliothek C++ Financial Algorithms (Financial Numerical Recipes) von C+
+ nach JAVA und C# portiert. Diese Bibliothek verfügt über viele wesentlichen Algorithmen, die bei
Berechnungen im Derivatebereich eingesetzt werden. Dabei wurde neben einer einfachen
Strukturierung auf eine effiziente Umsetzung in JAVA geachtet.
U.a. wurden folgende Algorithmen portiert:
- Term structure Berechnung nach verschiedenen Verfahren (spline interpoliert, linear interpoliert)
- Implizite Volatilität für Optionen auf Aktien, FX, Futures; (European, American); Berücksichtigung
von Dividenden
- Berechnung der Greek letters für Optionen
- Duration ( modified, Macaulay )
- Inetrpolation (linear, spline)
Betriebssystem Windows XP
Entwicklungsumgebung Eclipse, MSVC++, TogetherJ
Datenbank SAP DB, Oracle, SQL Server
7/1999 -12/2002
Für eine deutsche Grossbank wurde ein globales Marktdatensystem neu konzipiert und entwickelt.
In dem Projekt war ich von Beginn an mit der Planung, des Vorgehens, der Definition der fachlichen
und technischen Architektur, Erstellung des fachlichen Datenmodells, Auswahl der Werkzeuge,
Auswahl von Mitarbeitern etc. befasst. Die Teamgröße betrug zunächst 2 Mitarbeiten und wuchs
sukzessive auf bis zu 20 Mitarbeiter. Im Laufe des über 3 jährigen Projektes habe ich viele
verschiedenen Aufgaben erledigt. Schwerpunkte waren dabei die Konzeption und Entwicklung
technischer Basiskomponenten und die Analyse und Spezifikation fachlicher Anforderungen in
Abstimmung mit den Fachabteilungen. Ich habe dabei die Entwicklung des Systems von Anfang an
über die ersten Produktreleases bis hin zur vollständigen, planmäßigen und erfolgreichen
Inproduktionsbringung mit der angeforderten fachlichen Funktionalität und Anbindung aller Abnehmer
begleitet. Heute ist das System das globale Marktdatensystem der Bank.
Das Marktdatensystem ist der zentrale interne Marktdatenanbieter und stellt qualitätsgesicherte und
normalisierte Marktdaten und weiter verarbeitete Daten für viele bankinterne Abnehmer aus Back- und
Frontoffice bereit. Die Marktdaten werden von verschiedenen Anbietern (u.a. Reuters, Bloomberg,
Telerate, Olsen) über verschiedene Schnittstellen Tick by Tick oder zu definierten
Snapshotzeitpunkten mehrmals täglich geholt. Daran anschließend werden diese Daten
qualitätsgesichert und priorisiert und in eine lieferantentunabhängige Struktur überführt. Basierend auf
diesen lieferantenabhängigen Strukturen finden weitere Verarbeitungsschritte statt, wie z.B.
Inter/Extrapolation von fehlenden Werten, Berechnung von implizite Volatilitäten, Berechnung von
Volatilitätsmatrizen, Berechnung von Zins- oder Renditekurven. Das System läuft unter Sun Solaris
und ist 6 Tage je Woche 24 Stunden am Tag verfügbar. Insgesamt werden in dem System über 3
Millionen Instrumente verwaltet und für über 100 000 Zeitreihen Tickdaten von verschiedenen
Anbietern (im wesentlichen Reuters und Bloomberg) geholt. Diese Daten werden mehrmals täglich in
mehrstufigen Verarbeitungsschritten im Batchbetrieb weiterverarbeitet, um sie dann den internen
Abnehmern bereitzustellen. Die internen Abnehmer sind u.a. die Backoffice Risikosysteme, Systeme
zu Überprüfung des Eigenhandels, Systeme zur Kalkulation der internen Zinsspannen. Das System
verarbeitet mehrere 10 000 komplexe Anfragen dieser Abnehmer je Stunde.
Technisch eingesetzt wurde dabei u.a. Sybase, C++, Asset Control, perl, csh, awk, XML, COM, MS-
Excel. Das Vorgehen innerhalb des Projektes war dabei eine pragmatische Mischung aus einem Top-
Down Vorgehen und ExtremeProgramming (XP). Fachliche Anforderungen wurden im Regelfall vor
der Umsetzung vollständig spezifiziert. Anschließend wurde ein Grobdesign dokumentiert,
abgenommen und dann umgesetzt, wobei von vornherein in Regressionstests eine sehr hohe
Codeabdeckung realisiert wurde. Durch den im Projekt konzipierten und entwickelten vollständig
automatisierten Build-, Test- und Integrationsprozess stellten wir eine außerordentlich hohe Qualität
der Software und gleichzeitig einen sehr effizienten Softwareentwicklungsprozess sicher.
Die Projektsprache war Englisch.
Folgende Aufgaben habe ich dabei u.a. wahrgenommen:
• Definition des Entwicklungsvorgehens
• Richtlinien zur Qualitätssicherung
• Auswahl von Mitarbeitern
• Evaluierung von WebSphere-Enterprise als Applicationserver. Im Rahmen der Evaluierung wurde
eine Anwendung mit WebSpere-Enterprise erstellt. Dies erfolgte in Kooperation mit IBM-
Mitarbeitern aus den Entwicklungslabors.
• Erstellung eines Datenmodells für das System, das u.a. folgende Instrumente umfasste: stocks
(Aktien), Bonds (Anleihen), interest rates (Zinsen), options (Optionen), warrants (Optionsscheine),
index, convertibles, commodities.
• Definition der Architektur für das globale Marktdatensystem. Es wurde sowohl die technische als
auch die fachliche Architektur für das System festgelegt. Zur technischen Architektur gehörte die
Evaluierung und Entscheidung des Persistenzsystems (Asset Control und Sybase), die Sprache
(C++) und Entwicklungsumgebung (Rational Rose, Sniff, sun workshop, MSVC++, perl,
ClearCase), die Schichten des Systems, die Art und Weise der Verarbeitung (multithreaded mit
Tasks als Ausführungseinheiten), die Kommunikation mit externen Datenlieferanten und
Abnehmern (u.a. Reuters Triarch, Bloomberg datalicense (FTP), MQ-Series, TCP/IP, XML).
• Erstellung verschiedener MS-Excel-Sheets mit VB-Programmen zur Definition des Datenmodells
und der vielfältigen Systemkonfiguration mit entsprechenden Generatoren, zur Änderung von
Metadaten (Instrumenttypen, Börsen, Währungen, Mappingdefinitionen, ... ) des Systems, zur
Auswertung von Marktdaten, zur Pflege von Marktdaten, ...
• Entwurf und Implementierung von Kernkomponenten des Systems, u.a. einen transaktionalen
Objektmanager der persistente Objekte verwaltet und die Schnittstelle zur Datenbank kapselte.
• Design und Implementierung von finanzmathematischen Algorithmen zur Berechnung von
Volatilitätsmatrizen und Interest Rate Repo Kurven in C++ für Solaris und Windows NT.
• Design- und Implementierung eines Frameworks zur Verarbeitung beliebiger
Berechnungsaufgaben unter Einsatz von Threadpools und Taskqueues in C++ für Solaris und
Windows NT.
• Konzept und Design für eine universelle Request/Response basierte Schnittstelle zur Abfrage
aller bereitgestellten Services. Dabei wurde ein Konzept gewählt, dass die fachliche Schnittstelle
von der technischen Umsetzung entkoppelt. Damit konnte eine zentrale Anforderung umgesetzt
werden, neue Services und neue fachliche Anforderungen bereitstellen zu können ohne eine neue
Version der technischen Schnittstelle ausliefern zu müssen. Technische Schnittstellen wurden
zunächst in C++, COM und XML-Format angeboten. Vorgesehen war darüber hinaus JAVA.
• Konzept und Design für einen multithreaded Applicationserver in C++. Der Applicationserver stellt
zentrale Services für die Abnehmersysteme bereit. Durch die im Design verankerte Trennung von
Fachlichkeit und Technik konnten neue fachliche Anforderungen und Services ohne Änderung des
Applicationservers oder der Kommunikationsschnittstellen bereitgestellt werden. Der Aufwand zur
Bereitstellung neuer fachlicher Services war daher minimal, da nur die spezifische Businesslogik
implementiert und getestet werden musste. Alles weitere (Steuerung der Verarbeitung,
Kommunikation, Schnittstelle zu den Clients in C++, COM, XML, ...) war unabhängig vom
fachlichen Inhalt und der fachlichen Parameter der Schnittstelle.
• Spezifikation der fachlichen Services in Abstimmung mit den bankinternen Abnehmersystemen.
Die Anforderungen der bankinternen Abnehmer wurden analysiert, in einer fachlichen
Schnittstellenspezifikation dokumentiert und abgenommen. Dabei wurden Services zur Abfrage
aller im System enthaltenen Instrumentarten in Abhängigkeit von gewünschter Zeitspanne,
Periodizität, Extra/Interpolationsart,... spezifiziert. Für die Risikosystem wurden Scenarios
spezifiziert, Fallback Rules für Ersatzdaten bzw. Kalkulation gewünschter Zeitreihen unter
Zuhilfenahme der Kursverläufe von Indexen, Wildcardrequests die ganze Serien von Zeitreihen
liefern, …
• Design und Implementierung der Business Services im Rahmen des allgemeinen
ApplicationServer-konzeptes. Ich habe die obengenannten Services fachlich in C++ im
Applicationserver umgesetzt und getestet.
• Konzept, Design und Implementierung einer Hauptspeicherdatenbank für die Instrumentdaten.
Um die hohe Anfragelast der bankinternen Abnehmer (bis zu mehreren 10000 komplexe
Requests/Stunde, wobei 1 Reply z.T. mehr als 100 Zeitreihen umfasst) mit kurzen Antwortzeiten
zu bewältigen, wurde für die Instrumentbezogenen Daten eine Hauptspeicherdatenbank
entwickelt und eingesetzt. Die Hauptspeicherdatenbank ist in der Lage Anfragen mit logisch
verknüpften Prädikaten zu optimieren und auszuwerten. Da der Applicationserver 24 h online ist,
wurde die Hauptspeicherdatenbank auch updatefähig gemacht. Bei den Antwortzeiten wurden so
im Vergleich zur Sybase-Datenbank Verbesserungen von bis zu Faktor 100 erzielt.
Betriebssystem Solaris, Windows NT
Sniff, Emacs, Microsoft Visual Studio, Excel, Asset Control, perl,
Entwicklungsumgebung awk, csh, ClearCase, rcs, Rational Rose, Sun Workshop Pro,
Sniff++
Reuters Triarch, Bloomberg Data License, Olsen CSV, Summit,
Schnittstellen
CSV, Datastream
Datenbank Oracle und Sybase
Tools Microsoft Office
7/1998-6/1999
Beim größten deutschen Systemdienstleister in der Touristikbranche wurde eine neue moderne
Software zur Kunden- und Auftragsverwaltung entwickelt. Die neue Software musste dabei auf eine
existierende proprietäre technische Infrastruktur aufsetzen. Das System war ein verteiltes System für
eine sehr hohe Anzahl von Benutzerarbeitsplätzen (>15000).
Da die eingesetzte Architektur sehr hohe Aufwände und Instabilitäten bei der Umsetzung mit sich
brachte, wurde die Notwendigkeit von Änderungen der Architektur erkannt. Dabei wurde mein
Konzept, das eine Umstellung der Client/Server-Kommunikation auf stateless Services, die mittels
einer an IDL angelehnten Sprache definiert werden von 5 konkurrierenden Konzepten als bestes
Konzept zur Umsetzung ausgewählt. Das Konzept sah eine Generierung entsprechender technischer
C++-Schnittstellen incl. der notwendigen Funktionalität zur Kommunikation zwischen Client und Server
aus der IDL-Spezifikation vor.
Darüber hinaus habe ich das Konzept für die System- und Benutzerfehlerbehandlung überarbeitet und
implementiert. Sog. Systemfehler führen dabei zum Abbruch der Transaktion und werden mit dem C+
+-Exceptionmechanismus signalisiert, während Bedienfehler als sog. Alternativ-OK signalisiert
wurden. Diese Fehlerbehandlung war zentraler Bestandteil der Architektur. Zum Aufgabenumfang
gehörte Konzeption, das Design, die Umsetzung und die Einführung von Projektmitarbeitern in die
Konzepte.
7/1997 - 6/1998
Konzeption und Entwicklung einer Prozesssteuerung in einer verteilten Umgebung für einen
großen Finanzdienstleister aus dem Sparkassenverbund (izb soft)
Im Rahmen eines Systems zur Unterstützung der Kreditvergabe und -bearbeitung wurde eine
Prozesssteuerung zur Steuerung und Verteilung von Bearbeitungsschritten (Tasks) in einer verteilten
Umgebung entwickelt. Diese sog. Prozesssteuerung war Teil einer strategischen Architektur für
dezentrale Systeme und wurde im Rahmen der Entwicklung einer Anwendung im Kreditbereich
eingesetzt. Die Implementierung erfolgte in JAVA und C++ unter Verwendung von CORBA zur
Unterstützung der verteilten Kommunikation. Für die Beschreibung der Bearbeitungsschritte und
deren Abhängigkeiten wurde eine Sprache, die sog. Workflow Definition Language (WDL) konzipiert.
Das Modell war dabei an die Konzepte der WfMC angelehnt.
Folgende Aufgaben habe ich dabei u.a. wahrgenommen:
• Konzeption, Design und Implementierung des Beschreibungsmodells sowie einer speziellen
Sprache zur Definition der Struktur, Abfolgebeziehungen und Kommunikationsschnittstellen der
einzelnen Prozessschritte.
• Konzeption, Design und Implementierung eines Generators der aus JAVA-Klassen C++-
Wrapperklassen generiert. Diese C++-Wrapperklassen stellen Proxyklassen für die JAVA-Klassen
dar und erlauben somit einen nahtlosen Zugriff von C++ auf JAVA über JNI. Der Generator nutzte
das JAVA Reflection API, um die entsprechenden Metainformationen für die JAVA.-Klassen zu
erhalten. Darauf basierend wurden entsprechende C++-Wrapperklassen generiert, die über JNI
auf die JVM zugreifen.
Betriebssystem Windows NT
Rational Rose, MSVC++, MS J++, JBuilder, Visual Cafe, MS
Entwicklungsumgebung
Visual Source Safe
Datenbank Objectivity
ORB Orbix von iona
Tools Microsoft Office
1997
Vorbereitung und Durchführung mehrerer mehrtägiger Schulungen "JAVA für C++-Programmierer" für
einen Unternehmen aus dem Finanzdienstleistungsbereich im Sparkassenverbund. Schwerpunkte der
Schulungen war JAVA im Vergleich zu C++, Bausteine und Basiskonzepte der JAVA
Klassenbibliotheken AWT und JFC sowie das JAVA Beans-Konzept. Bei der Durchführung wurde
Wert auf sofortige Umsetzung der gelernten Inhalte gelegt, um den Teilnehmern eine Vertiefung und
Überprüfung des Verständnisses zu ermöglichen.
1996/1997
Konzeption und Qualitätssicherung der Anpassung eines C++-Compilers für ein proprietäres
Betriebssystem.
Für ein Unternehmen aus dem Telekommunikationsbereich (Alcatel) wurde zusammen mit dem
Hersteller eines C++-Compilers dieser Compiler für das S12-System (digitales Koppelnetzwerk mit
einem eigenem proprietären Betriebssystem) erweitert und angepasst. Der Compiler wurde in einen
Softwareproduktionsprozess eingebunden, der bis dato für Assembler- und Chill-Programme
ausgelegt war. Zu meinen Aufgaben gehörte es Anforderungen für den Compiler festzuschreiben und
neue Releases des Compilers auf den Zielsystemen einzusetzen und zu testen. Dabei musste ich in
einer komplexen Softwareproduktionsumgebung mit vielen verschiedenen Betriebssystemen arbeiten,
die alle in den Prozess mit Teilaufgaben einbezogen wurden, darunter Solaris, MVS, VAX.
Die Projektsprache war Englisch.
Konzeption der Schnittstellen, Kommunikation mit dem Hersteller,
Tätigkeit
Entwicklung, Test und Qualitätssicherung.
Entwicklungsumgebung Rational Rose, MSVC++, Sun workshop
Sun Solaris, Windows NT, MS DOS, IBM MVS, DEC VAX sowie
Betriebssystem
ein proprietäres Betriebssystem
1996
Konzeption und Entwicklung eines Compilers für erweiterten JAVA-Sourcecode und Design
und Implementierung einer templatebasierten Klassenbibliothek in JAVA für typensichere
Container
Konzeption nach Booch und Entwicklung eines portablen Compilers für einen erweiterten JAVA Code
in C++ unter Windows NT/95, OS/2 und LINUX. Ziel des Systems ist es, die stark an C++ angelehnte
Sprache JAVA um Eigenschaften zu erweitern, die in C++ besonders für große Projekte von
Bedeutung sind: Diese Spracherweiterungen umfassen.
- class templates,
- default parameters,
- namespaces und
- operator overloading.
Prototypen für den lexikalischen Analyzer und den Parser wurden mit lex und yacc erstellt. Darauf
basierend wurden spezielle Klassen für die lexikalische Analyse und den Parser entwickelt, die einen
optimierten Fehlerbehandlungsmechanismus, der auf C++-Exceptions beruht, beinhalten. Der Parse-
Tree, der Codegenerator und der Optimizer des Compilers wurden mit dem Werkzeug Rational Rose
nach Booch entworfen. Dabei wurden class diagrams, interaction diagrams und Szenarios eingesetzt.
Soweit als möglich wurden bewährte Design patterns wie von Gamma et.al. vorgeschlagen, bei der
Konzeption verwendet. Siehe JUMP Compiler.
1995
Das Analysewerkzeug hatte die Aufgabe statistische Zusammenhänge zwischen einer hohen Zahl
unterschiedlicher Börsenkurse herauszufiltern oder die Zeitreihen nach dem Auftreten bestimmte
Muster hin zu untersuchen. Die Zeitreihen mussten dazu normalisiert werden und fehlende Daten mit
mathematischen Interpolationsmethoden ermittelt werden. Als mathematische Bibliothek wurde die
Matrixklassenbibliothek MatV eingesetzt.
1995
Konzeption und Entwicklung eines Batchdatenkonverters für einen Börsenverein
Ein Batchdatenkonverter und ein Analysewerkzeug für die Auswertung grosser Datenmengen wurden
für einen Börsenverein konzipiert und entwickelt. Aufgrund der hohen Datenmenge war dabei die
Performance des Systems ein wichtiger Aspekt bei der Auslegung des Systems. Aufgabe des
Datenkonverters ist es, die Datenbestände von Tools zur technischen Aktienanalyse (Metastock und
Parity) täglich zu aktualisieren. Dabei mussten die Börsenkurse von einem bestimmten Format eines
Datenanbieters in das Format des jeweiligen Zielsystems konvertiert werden und die entsprechenden
Datenbestände angepasst werden. Die aktuellen Daten mussten auf Plausibilität überprüft werden.
Bei Fehlern mussten in Abhängigkeit von der Art des Fehlers entsprechende automatische
Fehlerbehandlungsmechanismen zur Verfügung stehen. Zeitgleich wurden signifikante statistische
Daten, wie new Highs, new Lows, Winners, Losers, branchenabhängige relative Veränderungen usw.
errechnet.
1992-1994
Im Rahmen einer Tätigkeit im Vertrieb und Marketing bei Ernst und Young CASE Services und
KnowledgeWare habe ich Veranstaltungen zur Firmen und Produktpräsentation (ADW) konzipiert und
durchgeführt. Für den marktführenden Anbieter von CASE-Tools KnowledgeWare betreute ich
verschiedene Grosskunden im Industrie- und Bankensektor. Im Rahmen einer Produkteinführung
(ObjectView) habe ich Veranstaltungen, Schulungen, Press Releases und Artikel verfasst (siehe z.B.
Entwickler koennen fehlende SQL- und C/S-Erfahrungen kompensieren Toolboxen beschleunigen die
Programmierung mit Prototyping )
1991-1992
Datenbankanbindung in einem Dokumentenmanagementsystem
1991
Qualitätssicherung in einem delta COBOL-Projekt im Telekommunikationsbereich
Qualitätssicherung in einem Teilabschnitt eines Großprojektes unter MVS mit delta COBOL für ein
Telekommunikationsunternehmen. Schwerpunkt der Tests lag auf der Verifizierung der korrekten
Funktionalität des Systems im Multiuserbetrieb, insbesondere beim parallelen Zugriff auf Daten.
Tätigkeit: Entwicklung von Testszenarien, Durchführung der Tests, Abgleich der Ergebnisse mit den
Projektbereichsverantwortlichen, Validierung behobener Fehler
Der Interpreter ermöglicht mittels einer einfachen Scriptsprache Batchroutinen zu entwickeln, die dazu
genutzt werden automatisiert beliebige Programme auf Hostsystemen zu starten und deren Ablauf zu
überwachen und zu protokollieren. Das System wurde unter OS/2 in C entwickelt und anschließend
auf AIX portiert.
1991
1989-1990
1987-1988
Konzeption und Entwicklung eines Betriebssystems zur Prozesssteuerung unter x86 für einen
Energieversorger. Das Betriebssystem wurde unter MS/DOS entwickelt und anschließend auf das
Zielsystem übertragen. Die Funktionalität des Betriebssystems umfasste u.a.:
• Kommandozeileninterpreter mit aktiver Syntaxunterstützung
• Schnittstellen zum Datentransfer ( Up- und Download )
• x86 Disassembler
• x86 Fullscreen-Debugger