| Persönliches
 
 | 
| Wohnort | München | 
| Ausbildung | Dipl.-Ing. Maschinenbau (TU) Vordiplom an der Universität Erlangen-Nürnberg (4 Semester, Durchschnitt 1,9)
 Hauptstudium an der TU Darmstadt (8 Semester, Durchschnitt 1,8)
 
 | 
| Sprachen | Deutsch Muttersprache, Englisch fließend, Französisch fließend | 
| Einsatzgebiet | International, bevorzugt Raum München | 
| Kontakt | E-Mail | 
| Fachliches
 
 | 
| Branchen | Bank, Versicherung, Rückversicherung, Logistik, Internet, Handel, IT, EDV, Forschung, Entwicklung, Kunst, Intranet, Industrie, Maschinenbau, Automatisierung, Elektrotechnik, Bildung, Lehre, Medien, Landwirtschaft, Uni, Automobil | 
| Hardware | PC, Server-PC, PC-Netzwerk, Industrie-PC, Sun Sparc/Ultra WS, SGI Onyx, IBM Workstation, HP 9xx, SGI Crimson | 
| Betriebssyteme | Windows 95/98/NT/2000/2003/XP/Vista/7/8/Server 2008/Server 2012, Linux/Ubuntu, SunOS/Solaris, IRIX, AIX, HPUX | 
| Sprachen | C# (Visual), C++, C, VB, PHP, ASP, ASP.NET, JavaScript, VBScript, XML, XSLT, Less, CSS, HTML, Meta-HTML, SQL, Access-Basic, lex | 
| Techniken | .NET 1.0 - 4.0, MVC, Razor, jQuery, Bootstrap, AJAX, Silverlight, MSBuild, Windows.Forms, Web-Services, WCF, WPF, COM, ATL, STL, MFC, Active Directory, ADSI, WMI, ActiveX, DHTML, HTA, LDAP, Ethernet, Multi-Tasking, Multi-Threading, Windows-Service, H1, S5, CAD, FEM, IGES, GL, OpenGL, X11, OSF-Motif, VOGL | 
| Datenbanken | SQL-Server, MySQL, Oracle, Access, mSQL, Informix | 
| Produkte | Visual Studio alle Versionen, Team Foundation Server, Visual InterDev, Visual SourceSave, IIS, Apache, HomeSite, SixCMS, Imperia, Cassiopeia, OpenShop, Info-Office, MS Membership-Server, Emacs, Samba, Pro/ENGINEER, Pro/TOOLKIT, AutoCAD, Word, Excel, Pro/DEVELOP, PATRAN, Pro/FEM, CATIA, Syrco | 
| Projekt 38
 
 | 
| Zeitraum | November 2013 - | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Immobilien, Internet | 
| Firma / Institution | Privat | 
| Umgebung | PC, Windows 7, Windows Server 2012, C#, Javascript, .NET Framework 4.0, ASP.NET MVC 4, Razor, HTML 5, CSS 3, Less, jQuery, Bootstrap 3, Responsive Design, Google Maps, T4 Templates, MySql Server 5.6, DevArt LinqConnect 4.4, Internet Information Server (IIS) 7.5, Microsoft Visual Studio .NET 2010 Professional Edition, JetBrains Resharper 7.1, Microsoft Team Foundation Server | 
| Aufgabe | Vollständiges Redesign und Neuimplementierung der Website Homeswopping auf Basis 
                aktueller Technik (noch nicht online) | 
| Beschreibung |  | 
                Der 2004 als Experiment begonne Web-Dienst www.homeswopping.de  
                (siehe Projekt 24), eine Plattform zum permanenten Wohnungstausch, hat sich als Erfolg erwiesen. 
                Ca. 2000 aktuelle Wohnungsangebote sprechen für sich.
                 
                Einer weiteren Steigerung des Erfolgs stehen jedoch nicht nur die unzeitgemäße 
                Optik, sondern auch das Fehlen wichtiger Funktionen im Wege. 
                 
                Neben vielen anderen Verbesserungen soll beispielsweise die Kommunikation zwischen 
                den Tauschwilligen nicht mehr direkt per E-Mail, sondern über die Seite erfolgen. 
                Damit kann zuverlässiger festgestellt werden, welcher Inserent noch aktiv ist, womit 
                schließlich das Datum der letzten Aktivität angezeigt werden kann bzw. inaktive 
                Angebote früher ausgelistet werden können. Dies ist ein vielfacher und 
                verständlicher Kundenwunsch. 
                                 
                Ferner soll die Eingrenzung des Suchgebiets nicht mehr über Postleitzahlgebiete, 
                sondern als Umkreissuche mit interaktiver Kartenanzeige realisiert werden. 
                Die Verwendung von Postleizahlgebieten behindert zudem eine Interationalisierung. 
                 
                Es ist weiterhin heute Standard, dass Web-Anwendungen auch auf dem Tablet oder 
                Smartphone verwendbar sind, was eine nicht zu unterschätzende Entwicklungs-
                Herausforderung darstellt.                
                  
                Da nicht nur die Optik der Seite, sondern auch deren grundlegende Technik 
                (Linux, PHP) in weiten Teilen dem Stand von 2004 entspricht, macht es wenig 
                Sinn, derart tiefgreifende Änderungen auf der bestehenden Basis umsetzen 
                zu wollen. Auch mit Hinblick auf eine zukünftig noch bessere Wartbarkeit wurde 
                daher beschlossen, die Anwendung unter Verwendung moderner Technik 
                (Windows Server, .NET MVC) komplett neu zu entwickeln.
             | 
| Tätigkeiten |  | 
|  | Überführung der bestehenden Website von einem Linux-Server auf Windows-Server 2012: Einrichten von IIS 7.5, PHP, MySql Server 5.6, hMailServer |  
|  | Evaluierung bzw. Einarbeitung in verschiedenste clientseitige Frameworks, u.a. Bootstrap, Yaml, Google Closure und jQuery UI |  
|  | Einrichten der Entwickungsumgebung mit den Techniken/Produkten Visual Studio 2010, Resharper 7, MVC 4, Bootstrap 3, Less, jQuery 1.x, IIS 7.5, MySql Server 5.6, DevArt LinqConnect 4.4, Team Foundation Server |  
|  | Aufsetzen der Solution- und Projektstruktur für MVC 4, Razor, jQuery, Bootstrap 3 und Less |  
|  | Entwicklung einer Struktur und eines Sets von Klassen zur einheitlichen Konfigurationsverwaltung in einer einzigen, übersichtlichen und redundanzfreien (XML-)Datei für alle Projekte und alle Umgebungen (Entwicklung/Produktion) |  
|  | Entwicklung des Basis-Layouts mit Bootstrap 3, HTML5, Less, CSS3 und jQuery |  
|  | Entwicklung eines jQuery Slider-Plugins für Bootstrap 3 |  
|  | Konzeption und Implementierung der neuen Datenbankstruktur, inklusive Neuentwicklung/Anpassung diverser MySql Stored Procedures und Functions |  
|  | Tool zur automatischen Überführung und Konvertierung von Bestandsdaten in die neue Datenbankstruktur |  
|  | Nebenprodukt: CountryInfo, LanguageInfo und CurrencyInfo Klassen, veröffentlicht auf CodeProject.com |  
|  | Tool zur Extraktion eines MySql Information Schemas in C# Klassen unter Verwendung von T4 Templates |  
|  | ... |  | 
| Projekt 37
 
 | 
| Zeitraum | Juli 2010 - Juli 2013 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Versicherung | 
| Firma / Institution | Rückversicherung, München | 
| Umgebung | PC, Windows Vista, Windows 7, Windows Server 2008, C#, .NET Framework 3.5, .NET Framework 4.0, ASP.NET, Windows.Forms, Internet Information Server (IIS) 6, 7 und 7.5, Active Directory, Microsoft Visual Studio .NET 2008 Team Edition, Microsoft Visual Studio .NET 2010 Team Edition, Microsoft VS Team Foundation Server, HP Quality Center | 
| Aufgabe | Development Lead für eine Infrastrukturkomponente | 
| Beschreibung |  | 
                Bei der angesprochenen Infrastrukturkomponente handelt es sich um eine Art 
                Wrapper um das Active Directory (AD) mit angeschlossener Datenbank für 
                spezielle Zwecke. Über einen Web-Service wird Anwendungen ein vereinfachter,
                performanter, geregelter, einheitlicher, lesender Zugriff auf das AD gewährt, 
                wobei die Autorisierung und eine hohe Verfügbarkeit sichergestellt werden. 
                Um diesen Dienst herum existieren eine Reihe administrativer und 
                unterstützender Anwendungen, die vornehmlich als Windows.Forms 
                Applikationen ausgeführt sind. 
                
 Die Aufgabe bestand zunächst aus der Wartung und Erweiterung aller erwähnten 
                Komponenten. Um die Wartbarkeit und Funktionsfähigkeit der historisch gewachsenen 
                Anwendung einschließlich aller ihrer Nebenkomponenten auch zukünftig gewährleisten 
                zu können, sowie sie in den hausüblichen TFS-Buildprozess eingliedern zu können, 
                wurde es schließlich notwendig, sie strukturell komplett zu überarbeiten. Aus 
                einer Vielzahl von z.T. nicht mehr verwendeten und/oder redundanten Projekten 
                und Solutions wurde eine (einzige) übersichtliche, sauber strukturierte Solution 
                mit wenigen, untereinander schlüssig referenzierten Projekten erstellt. Die 
                Projekte und Unterordner wurden konsistent benannt und Namespaces entsprechend 
                angepasst. Redundanzen wurden entfernt und Vorgehensweisen vereinheitlicht.
 
 In Zuge dieser Grundsanierung wurde auch die Umstellung auf .NET 4.0 / Visual 
                Studio 2010 und IIS 7.5 vollzogen, sowie ein vollautomatischer One-Click-
                Buildprozess implementiert. Darüber hinaus wurde eine Windows-Forms Setup-Anwendung 
                geschaffen, die einen Inital-Setup (u.a. Event-Log einrichten, Scheduled Tasks 
                anlegen, Webservice im IIS 7.5 einrichten, Selbst-Check, ...) als auch ein Update 
                auf eine neue Version, sowie einen Rollback auf eine vorherige Version 
                vollautomatisch unterstützt.
 | 
| Tätigkeiten |  | 
|  | Genereller technischer Ansprechpartner und Verantwortlicher des Projekts |  
|  | Umstellung des Gesamtprojekts von .NET 2.0 auf .NET 3.5 |  
|  | Neuimplementierung zentraler Teile der Anwendung (u.a. Zugriff auf AD und Datenbank) |  
|  | Ablösung der vorherigen Health-Monitoring Infrastruktur durch eine neu erstellte Variante |  
|  | Einbindung des neuen Health-Monitorings in alle relevanten Anwendungsteile u.a. Zugriff auf DC und Datenbank, Speicherverbrauch, Synchronisationsmechanismus, etc.) |  
|  | Implementierung einer Webseite zur Anzeige des momentanen Zustands aller relevanten Anwendungsteile |  
|  | Implementierung einer Webseite zur Anzeige des Zustands aller Services |  
|  | Verbesserung der Thread-Safety wesentlicher Komponenten |  
|  | Überarbeitung der Startsequenz |  
|  | Grundsanierung der Anwendungsstruktur |  
|  | Umstellung des Gesamtprojekts von .NET 3.5 auf .NET 4.0 |  
|  | Umstellung des Gesamtprojekts von IIS 6.0 auf IIS 7.5 |  
|  | Konzeption und Implementierung einer Setup/Deploy Anwendung |  
|  | Beratung den Service einsetzender Projekte bei technischen Problemen (u.a. mit AD und der Einführung von IIS 7.5) |  
|  | ... |  | 
| Projekt 36
 
 | 
| Zeitraum | Juli 2010 - März 2012 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Versicherung | 
| Firma / Institution | Rückversicherung, München | 
| Umgebung | PC, Windows Vista, C#, C++, .NET Framework 3.5, Windows.Forms, Windows Communication Foundation (WCF), Microsoft Visual Studio .NET 2008 Team Edition, Microsoft VS Team Foundation Server, Dundas Charts for Windows Forms, HP Quality Center | 
| Aufgabe | Development Lead für eine Berechnungsplattform | 
| Beschreibung |  | 
                Die angesprochene Plattform dient der Formulierung und Durchführung komplexer versicherungsmathematischer Berechnungen.
                Sie kann von anderen Anwendungen als Komponente eingebunden, oder aber über eine graphische Oberfläche als Stand-Alone
                Lösung verwendet werden. 
                
 Die Aufgabe umfasste die Wartung und Erweiterung letztgenannter graphischer Oberfläche, welche als Window.Forms Anwendung
                implementiert ist und zahlreiche Spezialkomponenten, wie z.B. Dundas (Charts), GrapeCity/Farpoint (Spreadsheet),
                Lasalle (AddFlow, Workflow-Visualisierung) und Infragistics (Menü, Oberfläche) verwendet. Ferner bietet sie eine API zur
                anwendungsspezifischen Anpassung der GUI.
 
 Letztere anwendungsspezifischen Anpassungen, die von anderen Projekten unter Verwendung der API geschrieben wurden, 
                befanden sich in einer separaten Solution, waren aber Teil der Gesamtlösung und mussten somit bei einer Auslieferung, 
                sowie bei Tests mitkompiliert werden. Die hieraus entstehenden gegenseitigen Abhängigkeiten machten mit anderen 
                Umständen zusammen den Build-Vorgang recht komplex. Daneben war die Einarbeitung und Beherrschung der Struktur bzw.  
                der Programmierphilosophie der genannten Spezialkomponenten eine weitere Herausforderung des Projekts.
 | 
| Tätigkeiten |  | 
|  | Genereller technischer Ansprechpartner und Verantwortlicher des Projekts |  
|  | Neuformulierung und -gliederung des komplexen Build-Vorgangs (diverse Scripts) |  
|  | Upgrade der Farpoint Spread Komponente auf die neuste Version 5 inklusive notwendiger Anpassungen |  
|  | Implementierung eines WCF-Servers |  
|  | Umsetzung diverser Change Requests und Defects, vornehmlich bzgl. der Spezialkomponenten Dundas Chart und Farpoint Spread |  
|  | Umstellung des Gesamtprojekts von .NET 2.0 auf .NET 3.5 |  
|  | ... |  | 
| Projekt 35
 
 | 
| Zeitraum | April 2008 - Mai 2011 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Versicherung | 
| Firma / Institution | Rückversicherung, München | 
| Umgebung | PC, Windows Vista, C#, .NET Framework 2.0 und 3.5, ASP.NET, .NET 2.0 AJAX Extensions, Microsoft Visual Studio .NET 2008 Team Edition, Microsoft VS Team Foundation Server, MSIE 6,7 und 8, Oracle Database 10, Toad for Oracle, HP Quality Center | 
| Aufgabe | Technische Leitung und Mitentwicklung des Projekts Pharmapool | 
| Beschreibung |  | 
                Als Reaktion auf die Contergan-Katastrophe wurde 1978 der Pharmapool geschaffen, um Arzneimittelrisiken zu versichern.
                Auf der einen Seite stehen dabei die Akteure der Pharma-Branche - von der kleinen Apotheke bis zum großen Hersteller -,
                auf der anderen Seite der Pharmapool, ein Zusammenschluss aus Versicherungen und Rückversicherungen.
                
 Um ein Risiko, d.h. z.B. ein Medikament, zu versichern, wendet sich der Versicherungsnehmer, also der Hersteller des
                Medikaments, an einen oder auch mehrere Erstversicherer. Diese Versichern das Risiko gegenüber dem Versicherungsnehmer,
                welcher dafür den Versicherern eine Prämie zahlt. Die Höhe der Prämie richtet sich im Wesentlichen nach den mit dem Risiko
                erwirtschafteten Umsätzen und welcher Risikoklasse - rezeptpflichtig, apothekenpflichig oder freiverkäuflich - es
                zuzuordnen ist. Kurz gesagt: je häufiger und teurer sich ein Medikament verkauft und je höher die Gefahr eines Schadens
                durch das Medikament ist, desto teurer wird die Versicherung.
 
 Da im Falle eines Schadens die zu begleichenden Summen exorbitant werden können, versichern sich die Erstversicherer
                - auch Zedenten genannt - ihrerseits wieder, nämlich beim Pharmapool. Hierbei bezahlen die Zedenten pro Risiko dem
                Pharmapool eine Prämie, die sich ebenfalls nach dessen Umsatz und Risikoklasse richtet. Der Pharmapool
                gibt seinerseits einen Teil seines Gesamtrisikos über Kumule (Haftung, wenn mehr als eine bestimmte Anzahl von Risiken
                durch ein Schadensereignis betroffen sind) und Layer (Haftung, ab und bis zu einer festgelegten Schadensumme, z.B.
                10 - 20 Mio Euro) an Rückversicherer weiter und bezahlt dafür, natürlich, diesen entsprechende Prämien. Das nach der
                Rückversicherung - auch Retrozession genannt - verbleibende Risiko, d.h. der übrige Teil der von den Zedenten bezahlten
                Prämien und im Schadensfall die verbleibende Haftung, wird anteilig unter den Poolmitgliedern aufgeteilt. Hat
                beispielsweise eine Versicherung fünf Prozent Poolanteil, so erhält sie fünf Prozent des sich nach Retrozession und
                sonstigen Kosten ergebenden Betrags, muss aber auch im Schadensfall fünf Prozent der durch den Pharmapool zu tragenden
                Haftungssumme begleichen.
 
 Die Verwaltung der beschriebenen Daten und Zusammenhänge, vom Einpflegen der Gesellschaften, Risiken, Umsätzen, Schäden,
                Tarifen und sonstige Basisdaten, etc., etc. über die Durchführung komplizierter Abrechnungen zwischen den einzelnen
                Beteiligten bis hin zur Erstellung und dem Versand verschiedenster Dokumente erfordert eine komplexe, auf die speziellen
                Anforderungen des Pharmapools ausgerichtete Software. Hier wurde für eine auf ASP.NET, AJAX, MS Reporting Server und
                Oracle basierende Intranet-Web-Applikation entschieden, d.h. die zum Projektstart modernsten verfügbaren
                (Web-)Technologien verwendet.
 
 Zum Einstiegszeitpunkt in das Projekt, ca. zwei Jahre nach dessen Start, befand sich die Anwendung einige Monate vor
                der Auslieferung der ersten Produktivversion, die jedoch noch nicht den gesamten in der Spezifikation definierten
                Funktionsumfang enthielt.
 | 
| Tätigkeiten |  | 
|  | Genereller technischer Ansprechpartner und Verantwortlicher des Projekts, z.B. bei Koopertaionen mit exteren Partnern (hier: Forschungsprojekt der TU-München) |  
|  | Übernahme und Weiterentwicklung des Bereichs Architektur, Basis- und Querschnittstechnologien |  
|  | Übernahme und Weiterentwicklung des kompliziertesten Anwendungsbereichs Einzelrisiko |  
|  | Selbständige technische Konzeption und Entwicklung der sog. Exterenen Anbindung, einer separaten, Internet-Web-Applikation zur Anbindung der Zedenten. |  
|  | Erstellung bzw. Überarbeitung vieler Teile (Seiten, Menü, Prozesse, Masterpage, Styles, ...) der Anwendung, technisch und optisch |  
|  | Erstellung bzw. Überarbeitung verschiedenster, anspruchsvoller Controls, sowohl User- (.ascx) als auch Custom-Controls, fast immer unter zum Teil intensivem Einsatz von AJAX bzw. JavaScript |  
|  | Erstellung bzw. Überarbeitung und Integration diverser Basistechnologien, z.B. |  
|  | Basisklasse für Hintergrundprozesse (separate Tasks) und Implementierung konkreter Hintergrundprozesse, z.B. Berechnung von Versicherungsnehmer-Gruppen |  
|  | Zentralisierte, vielschichtige, über Benutzerrollen gesteuerte Zugriffssteuerung und Rechteverwaltung über eine modifizierte Sitemap und Basisklassen für Seiten, Controls, etc. |  
|  | Steigerung von Stabilität, Wartbarkeit und Performanz u.a. durch Zusammenfassung bzw. Zentralisierung mehrfach implementierter Funktionalitäten, z.B. durch Einführung von Basisklassen, Interfaces oder generalisierter (häufig generischer) Klassen |  
|  | ... |  | 
| Projekt 34
 
 | 
| Zeitraum | Juli 2007 - März 2008 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Internet | 
| Firma / Institution | Internet Start-Up, München | 
| Umgebung | PC, Windows XP, C#, .NET Framework 2.0, ASP.NET, System.Windows.Forms, Microsoft Visual Studio .NET 2005, Microsoft Visual SourceSafe, Microsoft SQL Server, Mantis Bug Tracking System | 
| Aufgabe | Aufbau des Internet-Portals VideoMap | 
| Beschreibung |  | 
                VideoMap ist das erste Video-Portal mit interaktiver Weltkarte. Die technisch anspruchsvolle
                Mischung aus inhaltlichen Elementen angelehnt an YouTube, Lokalisten und Google Maps wurde von nur
                zwei Entwicklern innerhalb von ca. acht Monaten von Grund auf selbst entwickelt.
                
 Bei VideoMap kann ein registriertes Mitglied Videos und Fotos hochladen und sie auf der Weltkarte zu platzieren.
                Videos und Mitglieder können auf der Weltkarte gesucht und angeschaut werden. Es werden alle
                Funktionalitäten geboten, die man von anderen Video-Portalen kennt, wie z.B. Videos bewerten, weiterempfehlen,
                kommentieren, etc.. Darüber hinaus existiert eine umfangreiche Community, die ebenfalls alle gewohnten
                Features bietet, wie z.B. Freundschaften anbieten, Freundespfade, Chat, Mitteilungen, usw..
 
 Das Portal fußt auf dem .NET Framework 2.0 und ASP.NET, erweitert um umfangreiche Basisklassen, u.a.
                Web-Controls zur Darstellung verschiedener Entities (Videos, Fotos, Mitglieder und Gruppen) und einer
                eleganten, schlanken Datenzugriffsschicht.
 
 VideoMap war seit Ende September 2007 online und ist inzwischen wegen mangelndem kommerziellen Erfolgs eingestellt.
 | 
| Tätigkeiten |  | 
|  | Einrichten der Entwicklungsumgebung zur Arbeit im Home-Office mit zentralem Entwicklungsserver im Internet |  
|  | Herstellen der VPN-Verbindung zum Zentralserver, installieren und konfigurieren von SourceSafe, SQL-Server und Mantis |  
|  | Konzeption und Implementierung einer Console-Anwendung zur Ermittlung der nächstgelegenen Städte zu einem beliebigen Punkt auf der Erde |  
|  | Anwendung zur automatisierten Erstellung von komplexen Datenbank-Triggern |  
|  | Entwurf und Umsetzung mehrerer Stored-Procedures, z.B. zur Berechnung von Charts |  
|  | Erstellung diverser Seiten des Auftritts, u.a. der Sign-Up Bereich, das Kundenportal und die Benutzerverwaltung |  
|  | Kapselung der Google Map in einem Server-Control inklusive umfangreicher server- und clientseitiger (JavaScript) Erweiterungen |  
|  | Entwicklung einer Windows-Forms Applikation zur Erstellung von Map-Overlays (siehe Overlay zum Oktoberfest) |  
|  | Entwurf und Implementierung eines Windows Services zum automatischen Download von Videos |  
|  | Konzeption und Umsetzung eines Windows Services zur automatischen Generierung von Thumbnail-Bildern von Videos |  
|  | Design und Implementierung einer vielzahl von Mail-Templates und Routinen für deren automatisierten Versand |  
|  | ... |  | 
| Projekt 33
 
 | 
| Zeitraum | Januar 2007 - Juli 2007 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Versicherung | 
| Firma / Institution | Rückversicherung, München | 
| Umgebung | PC, Windows XP, C#, .NET Framework 2.0, System.Windows.Forms, Microsoft Visual Studio .NET 2005 Team Edition, Microsoft VS Team Foundation Server, Oracle Database 10, Toad for Oracle, Infragistics NetAdvantage, Mercury TestDirector | 
| Aufgabe | Bearbeitung verschiedenster Aufgabenstellungen im Zusammenhang mit einer Plattform zur Prognose und
                Verwaltung von Schadensverläufen | 
| Beschreibung |  | 
                Eine Rückversicherung ist - im Kerngeschäft - die Versicherung von Erstversicherungen. Erstversicherungen
                versichern den Endkunden direkt, z.B. die KFZ-Haftpflichtversicherung einer Privatperson. Eine
                Rückversicherung hingegen sichert Risiken ab, die ein Erstversicherer allein nicht tragen kann, z.B.
                wenn die Gesamtschadenssumme aller Gebäudebrandschutzverträge einer Erstversicherung einen festgelegten
                Betrag in einem Jahr überschreitet.
                
 Um für das Eintreten eines Schadens gewappnet zu sein, muss die Rückversicherung Reserven bilden.
                Das Problem hierbei ist, dass viele Schäden - man denke z.B. an Naturkatatstrophen - zwar enstanden
                sind, jedoch häufig erst sehr viel später - zum Teil erst Jahre danach - gemeldet werden und zudem
                die Schadenshöhe oft erst aufwändig ermittelt werden muss, was die Bekanntheit des tatsächlich zu
                zahlenden Betrags weiter in die Zukunft verschiebt. Die Rücklagen hingegen müssen bereits beim Auftreten
                des Schadens gebildet werden. Diesen Teil der Rücklagen nennt man IBNR (Incurred But Not Reported)
                Reserven.
 
 Um die Höhe der zu bildenden Reserven abschätzen zu können, zieht man die Versicherungsverläufe der
                vergangenen Jahre heran und schließt aus ihnen auf die Zukunft. Je breiter und homogener die Datenbasis
                hierbei ist, umso präziser kann die Abschätzung ausfallen. Daher werden Vertragsarten, die von ihrer
                Verlaufscharakteristik her ähnlich sind, zusammengfasst und von Ausreißern bereinigt.
 
 Aus softwaretechnischer Sicht spielen dabei grob gesehen drei Systeme eine Rolle: Als Datenbasis dient
                das SAP-System, in dem alle Einzelverträge und deren Verläufe erfasst sind. Zur Berechnung existiert ein
                separates Programm, das speziell aufbereitete und aggregierte Verlaufsdaten, die die Vergangenheit
                widerspiegeln, entgegennimmt und sie als Ergebnis um die prognostizierten Verläufe ergänzt. Dazwischen
                steht die sogenannte IBNR-Plattform, die die Aufbereitung, Visualisierung und Verwaltung der Daten durch
                den Fachbereich, d.h. speziell hierfür ausgebildetes Personal, ermöglicht.
 
 Die IBNR-Plattform ist eine mandantenfähige, multi-user Windows-Forms Anwendung, geschrieben in C# auf
                Basis des Microsoft .NET Frameworks 2.0. Die Dateneinheiten, die mit ihr bearbeitet werden, sind
                sogenannte Segmente, die im Wesentlichen aufaggregierte Vertragsverläufe aus dem SAP-System darstellen. 
                Segmente werden mehrstufig hierarchisch zusammengefasst, als auch weiter untergliedert.
 
 Der Bildschirmaufbau der meisten Masken hat auf der linken Seite eine Darstellung der Segment-Hierachie,
                den sogenannten Segment-Baum, der zur Auswahl der zu bearbeitenden Segmente dient. Auf der rechten Seite
                werden die Verlaufsdaten, d.h. Prämien, Zahlungen, (bekannte) Schäden und Rückstellungen des gewählten
                Segments bzw. der Überstruktur in einer Matrix dargestellt.
 
 Neben dieser Hauptfunktionalität existieren noch eine große Anzahl weiterer Funktionen, z.B. die
                Erstellung von Reports, Ermittlung und Festlegung von Kennzahlen, usw., die das System insgesamt
                sehr umfangreich und komplex werden lassen.
 | 
| Tätigkeiten |  | 
|  | Entwurf und Entwicklung der Speicherung von Favoriten für Segmente |  
|  | Performance-Verbesserungen in Bereich des Datenzugriffs und der Aufbereitung |  
|  | Darstellung diverser Kennzahlen in verschiedenen Diagrammen mit Infragistics NetAdvantage |  
|  | Bugfixes und Verbesserungen an vielen, unterschiedlichen Programmteilen, auch strukturell und am Anwendungskern |  
|  | Entwurf und Erstellung von Unit-Tests |  
|  | Auswahlmaske und Batch Export diverser Segmente und Kennzahlen nach Excel |  
|  | Definition, Aufgliederung und Schätzung mehrerer Arbeitspakete |  
|  | Test und Dokumentation |  | 
| Projekt 32
 
 | 
| Zeitraum | April 2006 - Oktober 2006 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Logistik | 
| Firma / Institution | Hersteller von Logistiksoftware, München | 
| Umgebung | PC, Windows XP, C#, .NET Framework 2.0, .NET Framework 1.1, System.Windows.Forms, ASP.NET, Microsoft Visual Studio .NET 2005, Microsoft Visual Studio .NET 2003, Microsoft Visual SourceSafe, Microsoft SQL Server | 
| Aufgabe | Design und Implementierung von Teilen einer Anwendung zur Gestaltung von als Text- und Bild-Graphiken
                hinterlegten Fragebögen zur Unterstützung der Digital Pen Technologie. | 
| Beschreibung |  | 
                Ein sogenannter Digital Pen sieht aus wie ein etwas zu dick geratener Kugelschreiber und funktioniert auch
                wie ein solcher. Zusätzlich ist jedoch in seiner Spitze eine Miniatur-Kamera eingebaut, die auf den
                Schreibpunkt fokussiert ist. Verwendet man ein Spezialpapier mit einem patentierten Muster, so kann der
                Digital Pen aufzeichnen, welche Bewegungen wo auf dem Papier durchgeführt wurden. D.h., die Zeichnung des Stiftes,
                welche tatsächlich auch als Kugelschreiberlinie auf dem Papier zu sehen ist, wird parallel digital erfasst
                und kann auf einen normalen PC überspielt werden.
                
 Die Digital Pen Technik eignet sich somit hervorragend zur automatisierten Auswertung von Fragebögen, bei
                denen gleichzeitig auch ein beweisfestes Dokument hervorgehen muss. Diese Situation lag bei dem Kunden des
                Projekts, einer Personal Recruitment Firma, vor, die im Auftrag meist großer Unternehmen aus einer
                Vielzahl von Bewerbern über psychologisch ausgefeilte Fragebögen den geeignetsten Kandidat für eine Stelle
                ermittelt.
 
 Um die Fragebögen mit dem speziellen Muster unterlegen und schließlich drucken zu können, müssen diese
                jeweils als eine einzige Bilddatei, z.B. im JPEG-Format vorliegen. Ein Fragebogen setzt sich aus einer
                Kopfzeile, einer Fußzeile und unterschiedlich vielen Fragen zusammen, je nach dem, wie hoch die
                einzelnen Fragen jeweils sind. Eine Frage besteht in der Regel aus einem Fragentext, häufig einer Graphik
                und mehreren möglichen Antworten mit einem Kästchen zum Ankreuzen. Unter anderem bestimmen die Parameter
                Länge des Fagentextes, Größe des Bildes, Anzahl der Antworten, usw. das Layout der Frage.
 
 Als erste Aufgabe des Projekts war eine Klasse zu erstellen, mit deren Hilfe das Layout einer Frage
                systematisch aber flexibel festgelegt werden konnte. Sie sollte als Eingabeparameter alle genannten
                Text- und Bildelemente, sowie Angaben zu Abständen, Ausrichtung, Anordnung, usw. akzeptieren und als
                Ausgabe eine Bilddatei der fertigen Frage erzeugen. Diese Klasse - und ihre Unterklassen - wurde in
                C# auf Basis des .NET 2.0 Frameworks implementiert.
 
 Als Testwerkzeug für die Entwicklung wurde ebenfalls unter .NET 2.0 eine Windows-Forms Oberfläche
                geschaffen, über die die genannten Eingabeparameter angegeben werden können und die resultierende
                Bilddatei sofort berechnet und angezeigt wird. Das Tool wurde dem Kunden im Rahmen einer Vorführung
                zur Leistungsfähigkeit der Klasse gezeigt. Dieser war davon so begeistert, dass er den Zusatzauftrag
                erteilte, das Tool zu einer regulären Anwendung - d.h. u.a. mit Menü und Mehrsprachigkeit, sowie
                einigen Ergänzungs-Features - auszubauen und ihm zur Verfügung zu stellen.
 
 Im Rahmen des Gesamtprojekts - einer datenbankgestützen Web-Anwendung zur Erstellung, Verwaltung und
                Auswertung kompletter Auswahlverfahren - wurde eine, dem erwähnten Tool ähnliche, ASP.NET-Seite
                zur Eingabe der Parameter und Erzeugung der Fragen-Bilddateien geschaffen. Im Unterschied zum
                Stand-Alone-Tool bezieht diese die Fragen- und Antworttexte, sowie die Hintergrundbilder direkt aus der
                Datenbank und speichert die resultierenden Graphiken dort, ist jedoch aufgrund der Web-Technik
                vergleichsweise langsam und schwerfällig. Daher werden in der Praxis mit dem Tool Layout-Templates entworfen
                und die so gefundenen Parameter bequem per XML in die Web-Oberfläche übertragen.
 
 Da es - laut MSDN Library - beim direkten Einbau von Graphikbearbeitung in eine ASP.NET-Seite zu
                "unvorhersehbarem Verhalten" und Instabilitäten kommen kann, wurde die eigentliche Bildgenerierung
                vorsichtshalber in einen unabhängigen Prozess, d.h. eine separte Console-Anwendung, ausgelagert, die über die
                Datenbank von der Web-Anwendung Generierungsaufträge erhält und das Ergebnis wieder in diese einstellt.
                Aus diesem Grund muss auf der Web-Seite auf das Ergebnis gepollt werden, was - des Komforts und der Optik halber
                - in einem separaten Frame geschieht, in welchem auch das generierte Bild - wenn es dann vorliegt - angezeigt wird.
 
 Neben den genannten Teilaufgaben umfasste der Auftrag noch zahlreiche weitere Arbeiten am gesamten
                Projekt, vornehmlich in C#/ASP.NET-Technologie.
 | 
| Tätigkeiten |  | 
|  | Konzeption und Entwicklung von Klassen zur Generierung von Bilddateien auf Basis von Textelementen, Bildelementen und Layout-Parametern mit C#/.NET 2.0 |  
|  | Design und Implementierung einer C#/.NET 2.0 Windows-Forms Anwendung als Benutzerschnittstelle zur Bild-Generierung |  
|  | Konzeption und Entwicklung einer ASP.NET-Seite zur Eingabe der Bildelemente und -parameter und zur Anzeige des generierten Bildes |  
|  | Erstellung einer C#/.NET 2.0 Console-Anwendung als separater Prozess zur Graphikgenerierung |  
|  | Diverse sonstige Arbeiten, u.a. Datenbank-Erweiterungen, weitere Graphik-Klassen, ASP.NET-Seiten, etc. |  
|  | Test und Dokumentation |  | 
| Projekt 31
 
 | 
| Zeitraum | Juli 2005 - April 2006 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Logistik | 
| Firma / Institution | Hersteller von Logistiksoftware, München | 
| Umgebung | PC, Windows XP, C#, SQL, .NET Framework 1.1, System.Windows.Forms, Microsoft Visual Studio .NET 2003, Microsoft Visual SourceSafe, Microsoft SQL Server, MS Project, MS Excel, MS Visio, Sparx Systems Enterprise Architect | 
| Aufgabe | Technische Projektleitung, Architektur, Konzeption und Umsetzung einer Windows Anwendung zur graphischen Nahverkehrsdisposition.
                Betreuung und Koordination eines Teams aus sieben Mitarbeitern inklusive Projektüberwachung und Reporting an
                vorgesetzte Stellen. Als Grundlage der Applikation: Entwurf und Implementierung weitreichender, allgemein verwendbarer
                Basisbibliotheken zur erleichterten Erstellung von C#/.NET 1.1 Windows-Forms Anwendungen. | 
| Beschreibung |  | 
                In einer Spedition unterscheidet man zwischen Nahverkehrsdisposition und Fernverkehrsdisposition, wobei unter
                Nahverkehr die Abholung bzw. Zustellung von Sendungen von bzw. zum Kunden verstanden wird. Der Transport der
                Sendungen zwischen Kunde und Spedition wird üblicher Weise per LKW abgewickelt, wobei alle LKWs einer Spedition
                eine oder mehrere Touren durch festgelegte Gebiete pro Tag abfahren. Die Disposition einer Sendung ist deren
                Zuordnung zu einer Tour eines LKWs, d.h. z.B. LKW X soll auf Tour 1 die Sendung ABC bei Firma Y abholen.
                
 Eine Abholsendung nimmt grob folgenden Weg: der Kunde ruft bei der Spedition an und gibt eine Sendung auf, woraufhin der
                Disponent sie mit der hier beschriebenen Dispositionsanwendung erfasst und damit einen entsprechenden Eintrag in der
                dem System zugrundeliegenden Datenbank erzeugt. Alternativ erfassen größere Kunden ihre Sendungen
                mit einer eigenen Anwendung, aus welcher heraus über einen separaten Prozess die abzuwickelnden Sendungen in die
                Datenbank des Dispositionssystems importiert werden.
 
 Alle zu disponierenden Sendungen erscheinen nun in einer Liste auf der linken Seite der graphischen Oberfläche
                des Dispositionssystems. Auf der rechten Seite wird jeder LKW der aktuell gewählten Dispositionsgruppe durch ein eigenes,
                rechteckiges Control dargestellt. Außer allgemeinen Angaben wie z.B. LKW-Nummer, Name des Fahrers, Kennzeichen, aktuelles
                Gesamtgewicht der Ladung, etc., wird jede Tour durch einen Karteikartenreiter (Tab) mit dem Tournamen und einem
                Statussymbol dargestellt. Der Inhalt jedes Tour-Tabs ist die Liste der aktuell auf diese Tour disponierten Sendungen.
                Um nun eine Sendung auf eine Tour eines LKWs zu disponieren, zieht der Disponent diese per Drag & Drop auf die Liste der
                entsprechenden Tour des gewählten LKWs. In der Datenbank wird dadurch die Sendung mit der Tour verknüpft, welche
                ihrerseits mit dem LKW verknüpft ist.
 
 Hat der Disponent eine Tour, bestehend aus Abhol- und Zustellsendungen fertig zusammengestellt, so gibt er
                diese zur Scannung frei. Die Tour bekommt dadurch einen neuen Status, was in der Datenbank vermerkt und durch
                ein entsprechendes Symbol auf deren Tab dargestellt wird. "Zur Scannung freigeben" heißt, dass in der Halle der Spedition
                der entsprechende LKW mit den auf ihn disponierten, aus dem Fernverkehr stammenden, Zustellsendungen beladen
                werden kann. Beim Beladen scannt der Fahrer den Strichcode des Etiketts jedes Packstücks einer Sendung mit einem
                sogenannten Hallenscanner, einem elektronischen Gerät, welches über dessen - auch vom Hersteller von Logistiksoftware
                geschriebenen - Software direkt auf die Datenbank des Dispositionssystems zugreift. Nach Abschluss der Scannung wird
                die zugehörige Tour in der Datenbank durch die Hallenscanner-Software als "gescannt" gekennzeichnet.
 
 Der Disponent erkennt auf der Oberfläche des Dispositionssystems den neuen Status der Tour und kann nun über
                einen speziellen Dialog die tatsächlich gescannten Packstücke bzw. Sendungen mit den laut Tour zu scannenden
                Sendungen vergleichen. Hierbei ist es u.a. möglich, dass Sendungen fehlen, beschädigt oder überzählig sind. Der
                Disponent kann nun auf die tatsächliche Beladung des LKWs eingehen und z.B. Sendungen umdisponieren.
 
 Ist der LKW auf seiner Tour unterwegs, so kommuniziert der Fahrer mit Hilfe eines Mobilscanners via Mobilfunk mit dem
                Dispositionssystem. Z.B. scannt er beim Kunden neu aufgeladene Abholsendungen, als auch abgeladene Zustellsendungen.
                Jede Scannung erzeugt einen neuen Status auf der Sendung, die sofort dem Disponenten auf seiner Oberfläche durch ein
                entsprechendes Icon in der Senungsliste angezeigt wird. Über dieses Standard-Szenario hinaus existieren noch zahlreiche
                weitere Kommunikationsmöglichkeiten zwischen Dispositionsanwendung und Mobilscanner, die in den entsprechenden Situationen zum
                Einsatz kommen, auf die hier jedoch nicht näher eingegangen werden soll.
 
 Neben der beschriebenen Grundfunktionalität bietet das System noch eine Vielzahl von weiteren Funktionalitäten und
                Dialogen, wie z.B. Mehrsprachigkeit, Multiple Druckfunktionen, Autodisposition, Sendungs- und Adresssuche, komplexe
                Filterfunktionen, weitereichende Personalisierungsmöglichkeiten von Darstellung und Funktion über einen komfortablen Dialog, um nur einige
                zu nennen. Insgesamt kennt das System etwa 50 Befehle, welche in jeweils eigenen Klassen implementiert sind.
 
 Die offensichtliche Komplexität der Anwendung machte es erforderlich, vor dem Design und der
                Implementierung der eigentlichen Applikation allgemein verwendbare Basisklassen zu entwickeln, um u.a. eine
                architektonisch saubere Struktur, Modularität, Pflegbarkeit und einfache Erweiterbarkeit zu gewährleisten.
 
 Unter Verwendung diverser Design-Patterns entstand so u.a. eine generalisierte Menüklasse, mit deren Hilfe sämtliche
                Befehle bzw. Funktionalitäten einfach und übersichtlich in einer baumartigen Struktur angeordnet werden können
                (und u.a. auch in eine XML-Datei ex- bzw. importiert werden können). Die Klasse erzeugt daraus dann zur Laufzeit das
                Windows-Forms Menü, die Toolbar und sämtliche Kontext-Menüs. Sie ist in der Lage, über ein von den Funktionselementen
                (Applikation, Forms, Controls, etc.) zu implementierendes Interface (IXCommandReceiver mit Hauptfunktionen
                "CanExecuteCommand" und "ExecuteCommand") zu erfahren, ob diese im augenblicklichen Zustand in der Lage sind,
                einen bestimmten Befehl auszuführen. Entsprechend werden die zugehörigen Menüpunkte und Toolbar-Buttons
                aktiv oder ausgegraut dargestellt. Über diesen Mechanismus wird auch das Kontextmenü ohne weiteres Zutun des
                Entwicklers automatisch für jedes Funktionselement individuell und situationsabhängig zusammengestellt.
 
 Klickt der Anwender auf eines der Aktivierungselemente eines Befehls (Windows-Menü, Toolbar, Kontext-Menü),
                so hat nicht jedes dieser Elemente - wie gemeinhin üblich - eine eigene Eventhandler-Funktion, sondern alle
                relevanten Events werden an eine zentrale "OnClick"-Funktion der zugehörigen Instanz der generalisierten Menüklasse
                weitergeleitet. Diese erzeugt dynamisch eine Instanz der jeweiligen Befehls-Klasse und übergibt diese an
                das Funktionselement, auf dem der Befehl aufgerufen wurde. Dieses versorgt ihn - über ein generalisiertes
                Übergabe-Objekt - mit den notwendigen Eingabeparamtern und führt ihn aus, d.h. ruft dessen "Execute"-Methode auf.
 
 Das Design und die Implementierung der angesprochenen Befehls-Systematik über entsprechende Basisklassen und
                Interfaces war auch Teil des Projekts. Die Vorgehensweise über separate, standardisierte Command-Klassen hat den
                Vorteil einer erheblich übersichtlicheren Struktur, der Wiederverwendbarkeit von Befehlen, deren klare
                Kapselung und eine leichte Realisierbarkeit von Undo/Redo-Funktionalität. Darüber hinaus wurde eine sauber getrennte,
                parallele Implementierung einzelner Commands durch verschiedene Entwickler unterstützt.
 
 Ein weiterer Schwerpunkt der Basisklassen-Entwicklung war die Mehrsprachigkeit. Das resultierende System aus
                Grundklassen, modifizierten Controls und Interfaces, ermöglicht es, im Regelfall wie gewohnt über den Windows-Forms
                Designer z.B. eine Form oder ein Control zu entwickeln, ohne der Mehrsprachigkeit Beachtung schenken zu müssen.
                Die übersetzungs-relevanten Properties (z.B. das "Text"-Property) werden automatisch zur Laufzeit in die angegebenen
                Resource-Dateien (z.B. "Strings.resx", "Strings.de.resx" und "Strings.fr.resx") geschrieben, wobei der Schlüssel aus dem Forms-Pfad des
                betroffenen Controls generiert wird (z.B. "Form1.Panel1.Button1.Text.Initial"). Neu hinzugekommene Einträge werden in
                alle resx-Dateien mit dem ursprünglich vom Entwickler angegebenen Wert (z.B. "Cancel" für einen Button) geschrieben,
                sowie mit einem Stern versehen, um die Notwendigkeit deren Übersetzung zu signalisieren. Somit steht z.B. auch in
                Strings.de.resx der Wert "* Cancel", welcher in "Abbrechen" zu übersetzen ist. Nach einem erneuten Kompilieren
                tauscht das System automatisch zur Laufzeit, d.h. beim Anzeigen einer Form, den ursprünglich angegebenen Wert ("Cancel") durch
                den entsprechenden Wert in den einkompilierten Resourcen aus, d.h. bei Spracheinstellung Deutsch wird z.B. "Cancel" durch
                "Abbrechen" ersetzt. Wird der Wert nicht in den Resourcen gefunden, so wird der Original-Wert verwendet, was die
                Lauffähigkeit des Programms auch ohne einkompilierte Resourcen immer sicherstellt. Natürlich wird auch die automatische
                Übersetzung eines Textes, der durch die Anwendung zur Laufzeit zusammengesetzt wird,
                (z.B. "Shipment no %0 contains %1 physical units") elegant, d.h. für den Entwickler einfach und transparent, abgedeckt.
                Schließlich ermöglicht die Vorgehensweise dem Anwender, ohne einen Neustart der Applikation die Sprache über das Menü
                mit sofortiger Wirkung für die komplette Anwendung umzustellen.
 | 
| Tätigkeiten |  | 
|  | Design und Entwicklung diverser allgemein verwendbarer Basisklassen mit C#/.NET Framework 1.1, u.a. zur Menü- bzw. Befehlsstrukturierung und zur Mehrsprachigkeit |  
|  | Festlegung der Architektur der Anwendung unter Einbezug der Basisklassen |  
|  | Implementierung der Grundstruktur und der Basisfunktionalitäten der Applikation |  
|  | Aufsplittung der zu entwickelnden Funktionalitäten in Teilaufgaben |  
|  | Erstellung eines Projekt-Strukturplanes mit Visio |  
|  | Überführung des Projekt-Strukturplanes in einen Projektplan in Microsoft Project |  
|  | Ständige Überwachung und wöchendliches Reporting des Projektfortschritts mittels einer eigens entworfenen Excel-Anwendung |  
|  | Aufgabenverteilung und Betreuung von bis zu sieben Mitarbeitern, teilweise im Ausland tätig und nicht-deutschsprachig |  
|  | Implementierung zahlreicher Teilaufgaben |  
|  | Performance-Tuning |  
|  | Beschreibung der Datenbankstruktur mit Enterprise Architekt |  
|  | Test und Dokumentation |  | 
| Projekt 30
 
 | 
| Zeitraum | Juni 2005 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Logistik | 
| Firma / Institution | Hersteller von Logistiksoftware, München | 
| Umgebung | PC, Windows XP, Linux, AIX, C#, SQL, .NET Framework 1.1, System.Windows.Forms, Microsoft Visual Studio .NET, Microsoft Visual SourceSafe, Microsoft SQL Server, Informix | 
| Aufgabe | Konzeption und Umsetzung einer Anwendung zum Druck von Etiketten für Mitglieder
                eines Speditionsverbunds. Implementierung in C# und Windows.Forms unter Verwendung
                des Microsoft .NET Frameworks und unter Zugriff auf eine Informix-Datenbank
                unter Linux bzw. AIX. Technisches Projektmanagement. | 
| Beschreibung |  | 
                Um Sendungen rationeller und damit kostengünstiger befördern zu können, schließen sich Speditionen zu
                sogenannten Speditionsverbünden zusammen. Der Verbund übernimmt die übergeordnete Koordination, unterhält
                Umschlagszentren - sogenennte Hubs - und gibt Standards vor.
                
 Einzelne Speditionen eines insolventen Speditionsverbundes - und Kunden des Herstellers von Logistiksoftware -
                schlossen sich zu einem neuen Verbund zusammen. Mit dem neuen Verbund änderten sich unter anderem auch die Routen
                und Hubs, sowie das Logo des Verbundes. Neben anderen Angaben werden die zuvor genannten Daten auf den Etiketten,
                welche auf die zu befördernden Packstücke geklebt werden, angedruckt. Folglich hatten sich die Etiketten mit
                dem neuen Verbund grundlegend geändert.
 
 Für die Disposition und auch das Drucken der Etiketten verwendeten die genannten Speditionen ein Fremdsystem,
                das für die neuen Etiketten kostenintensiv geändert werden hätte müssen. Hier bot der Herstellers von Logistiksoftware
                seine Hilfe an: Zu entwickeln war ein von der Fremdsoftware unabhängiges Etiketten-Drucksystem.
 
 Das System des Fremdherstellers arbeitete unter AIX mit einer Informix-Datenbank. Die beim Hersteller von
                Logistiksoftware eingesetzte Technik und Basisbibliotheken setzten auf C#/.NET unter Windows XP auf. Für die erste
                Spedition, die das Drucksystem einsetzen wollte, sollte bei jeder, mit dem Fremdsystem erfassten und über den
                Verbund abgewickelten Sendung automatisch ohne weiteres Zutun ein Etikett mit dem hierfür eingesetzen Spezialdrucker
                erstellt werden. Es waren somit einige technische Hürden zu nehmen:
 
 Es musste erkannt werden, dass mit dem Fremdsystem eine neue Sendung erfasst wurde. Hierfür wurde in die vom
                Fremdsystem verwendete Informix-Datenbank ein Trigger an eine geeignete Tabelle angebracht, welcher wiederum eine
                Stored-Procedure startete. Diese kopierte aus verschiedenen Tabellen des Fremdsystems für das Etikett benötigte
                Daten in eine eigens hierfür neu angelegte Druckdaten-Tabelle und versah die neu angelegte Tabellenzeile mit einem
                Zeitstempel und einem Zu-Drucken-Flag. Die Analyse der Datenbankstruktur und die Identifikation der relevanten
                Daten stellte eine eigene Herausforderung dar.
 
 Die so gesammelten Daten mussten von der Informix/AIX-Welt in das Windows XP/C#/.NET-System überführt werden. Dazu
                wurde auf Windows-Seite eine C#/.NET Console-Anwendung geschrieben, welche über ODBC periodisch die Druckdatentabelle
                auf der Informix-Datenbank über das Zu-Drucken-Flag nach neuen Datensätzen abfragte. Die Einrichtung und Konfiguration
                der ODBC-Verbindung erwies sich als eine der größeren Problemstellungen des Projekts.
 
 Die Daten neu gefundenen Sendungen/Druckaufträge wurden in ein Druck-Template mit speziellen Steuerzeichen für
                den Spezialdrucker eingefügt und als Textdatei auf der Festplatte des Windows-Rechers abgelegt. Die Übermittlung der
                Druckdatei an den in einem Windows-Netzwerk installierten Etiketten-Drucker mit Hilfe einer DOS-Befehlszeile
                entpuppte sich als Forschungsprojekt erster Güte; unter anderem auch deshalb, weil keiner der exotischen
                Spezialdrucker schnell und kostengünstig als Testsystem beschaffbar war und somit der Test telefonisch mit Hilfe
                des Kunden zu erfolgen hatte. Nach dem Druck wurde in der Datenbank das Zu-Drucken-Flag auf "gedruckt" umgesetzt.
 
 Die Filterung der zu druckenden Sendungen geschah anhand von einstellbaren Nummernkreisen in den
                Routeninformation (welche Ziel-PLZ wird über welches Hub geleitet?), welche tagesaktuell vom Console-Prozess
                automatisch per FTP von einem Server des Verbundes heruntergeladen und in eine eigene Datenbank-Tabelle
                eingepflegt wurden.
 
 Der zweite Kunde stellte die Anforderung, dass die zu druckenden Sendungen manuell auswählbar sein sollten. Dazu
                wurde eine C#/.NET Windows-Forms Anwendung erstellt, mit der das Zu-Drucken-Flag in der Druckauftrags-Tabelle manuell
                gesetzt werden konnte. Um den Komfort zu steigern konnte auch der Console-Prozess über die Windows-Forms Anwendung
                bequem gestartet und gestoppt werden, sowie die zu filternden Nummernkreise der Routeninformationen festgelegt werden.
 
 Letzlich musste der Fall berücksichtigt werden, dass die Datenbank des Fremdsystems im Rahmen eines Updates durch
                die Fremdfirma hätte neu installiert werden können, womit die angebrachten Modifikationen und Tabellen gelöscht
                worden wären. Um diesem Umstand zu begegnen, überprüfte der Console-Prozess jedesmal die Existenz der Modifikationen und
                startete gegebenenfalls ein auf dem AIX-System installiertes Installationsscript zur Wiederherstellung der Erweiterungen.
 
 Bezüglich des Projektumfeldes war bemerkenswert, dass die Anwendung im direkten Kontakt mit dem Endkunden realisiert
                wurde, was zu einer besonders hohen Akzeptanz und Zufriedenheit bei den Anwendern führte.
 | 
| Tätigkeiten |  | 
|  | Installation des Linux-Testsystems mit Informix-Datenbank |  
|  | Überführung von Testdaten vom Kunden auf das Testsystem |  
|  | Modifikation von Triggern, Prozeduren und Tabellen auf der Informix-Datenbank |  
|  | Extraktion der für das Etikett relevanten Daten mittels SQL-Anfragen aus der Informix-Datenbank |  
|  | Aufbau und Einbindung einer ODBC-Verbindung zwischen der Informix-Datenbank und der Anwendung auf Windows XP |  
|  | Konzeption und Erstellung der C#/.NET Console-Anwendung unter Windows XP |  
|  | Design und Implementierung einer Windows-Forms Anwendung mit C#/.NET zur Auswahl von Druckaufträgen, relevanten Routen und zum Starten bzw. Stoppen des Console-Prozesses |  
|  | Dokumentation und Test |  | 
| Projekt 29
 
 | 
| Zeitraum | Mai 2005 - Juni 2005 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Logistik | 
| Firma / Institution | Hersteller von Logistiksoftware, München | 
| Umgebung | PC, Windows XP, C#, SQL, .NET Framework 1.1, ASP.NET, Microsoft Visual Studio .NET, Microsoft Visual SourceSafe, Microsoft SQL Server, Oracle | 
| Aufgabe | Konzeption und Umsetzung einer Web-Anwendung zur Planung von Routen für
                einen Logistik-Konzern. Implementierung in C# und ASP.NET unter Verwendung
                des Microsoft .NET Frameworks. | 
| Beschreibung |  | 
                Im Sammelgutversand werden Sendungen zu sogenannten Borderos gebündelt und auf
                zuvor festgelegten Routen verschickt. Ein Bordero entspricht dabei einer LKW-Ladung.
                Eine Route beginnt in einem Versandzentrum und führt über null bis N Umladestationen -
                sogenannten Hubs - zu einem Entladezentrum im Zielgebiet. Der Weg von einer Station
                zur nächsten wird als Strecke oder Lane bezeichnet.
                
 Die verschiedenen Strecken werden zu unterschiedlichen, aber festen Zeiten befahren,
                zum Teil mehrmals am Tag. Strecken und deren Fahrzeiten sind zudem vom
                jeweiligen Produkt des Logistikdienstleisters abhängig.
 
 Eine Route beschreibt, basierend auf den existierenden Lanes, die verschiedenen
                Stationen, die auf dem Weg vom Versandzentrum zum Entladezentrum angefahren werden,
                nicht jedoch die Zeiten, wann diese angefahren werden. Es kann mehrere Routen von
                einem Startort zum Zielort geben, wobei immer eine Default-Route definiert sein muss.
                Bei einer tatsächlichen Sendung errechnet eine separate Software des Logistik-Dienstleisters
                die für diesen Zeitpunkt günstigste Verbindung und setzt damit die Fahrtzeiten fest.
 
 Da das Hauptsystem des Logistik-Dienstleisters auf einer Oracle-Datenbank basiert, die
                einzusetzenden, proprietären Web-Controls jedoch eine ebenfalls proprietäre, objektorientierte
                Datenbank-Struktur, welche auf SQL-Server aufsetzt, benötigen, mussten zunächst die relevanten
                Tabellen mittels SQL-Scripts aus der Oracle-Datenbank in eine SQL-Server Datenbank importiert
                und in die objektoientierte Struktur überführt werden. Da dieses Procedere bei Änderungen in
                den Stammdaten zu wiederholen ist, war der Import als Teil der Oberfläche in Form einer
                ASP.NET-Seite zu implementieren. Neben der Wiederverwendung der Controls bietet dieses
                Verfahren auch eine höhere Datensicherheit, da Änderungen zunächst nur auf einer Kopie
                der Original-Daten durchgeführt werden und erst das geprüfte, konsistente Ergebnis in die
                Referenz-Datenbank überspielt wird.
 
 Die Pflege der Routen-Informationen wurden in zwei Blöcke aufgeteilt: einerseits die Pflege
                der Routen selbst und andererseits die Bearbeitung der Lanes, jeweils mit einer Such- und
                Übersichts-Seite in Tabellenform und einer Detailseite zum Editieren eines ausgewählten Objekts
                (Route bzw. Lane). Es waren für diesen Teil somit vier ASP-.NET-Seiten zu erstellen, alle
                mit hohem Komfort, professioneller Optik und daher - und auch wegen der recht anspruchsvollen
                Prüf- und Ablauflogiken - einer entsprechend hohen Komplexität.
 
 Schließlich wurde auf einer separaten Seite die abschließenden Konsistenz- Plausibilitäts und
                Integritätsprüfungen und der Export in das Hauptsystem zusammengefasst.
 | 
| Tätigkeiten |  | 
|  | Aufsetzen der Seiten-Grundstruktur und Navigation |  
|  | Entwicklung mehrerer komplexer ASP.NET-Seiten mit C#/.NET |  
|  | Realisierung des Datenbankzugriffs auf den Seiten mit C#/.NET und SQL |  
|  | Dokumentation und Test |  | 
| Projekt 28
 
 | 
| Zeitraum | Januar 2005 - April 2005 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Logistik | 
| Firma / Institution | Hersteller von Logistiksoftware, München | 
| Umgebung | PC, Windows XP, C#, .NET Framework 1.1, System.Windows.Forms, Microsoft Visual Studio .NET, Microsoft Visual SourceSafe, Microsoft SQL Server | 
| Aufgabe | Implementierung des Frachten-Clearings für einen großen Speditionsverbund in C# unter
                Verwendung des Microsoft .NET Frameworks. | 
| Beschreibung |  | 
                In einem Speditionsverbund koordiniert eine Verbundzentrale die Sendungen von großen
                Industriekunden zu deren Kunden, Niederlassungen oder Vertriebszentren. Sie übernimmt
                hierbei u.a. die Verteilung der Sendungen auf die dem Verbund angeschlossenen Speditionen
                und die Abrechnung aller anfallenden Kosten zwischen allen am Verbund beteiligten Parteien.
                
 In der Regel durchläuft eine Sendung grob folgende Stationen: zunächst werden von verschiedenen
                Kunden die Sendungen abgeholt und in ein Sammelzentrum vebracht. Von dort aus werden sie
                gemeinsam von einer Spedition in ein Transit-Zentrum transportiert, in welchem sie
                ausgeladen, gelagert und je nach Bestimmungsort neu gebündelt werden. Schließlich bringt
                sie eine weitere Spedition in ein Empfangs-Zentrum in der Nähe des Bestimmungsortes, von wo
                aus sie den Empfängern zugestellt werden.
 
 Hierbei fallen neben dem reinen Transport vielfältige weitere Kosten an, z.B. für das
                Ein- und Ausladen, die Lagerung, Zoll, Maut, Mehrwertsteuer, diverse Gebühren, usw..
                Ferner müssen die verschiedenen Sendungsarten, wie z.B. frei oder unfrei, Sende-
                oder Abholauftrag, etc., sowie Eigenheiten bei der Abrechnung berücksichtigt werden.
 
 Die Daten der Sendung (Gewicht, Volumen, Bestimmungsort, etc.), sowie alle zwischen
                Versender und Empfänger auftretenden Vorgänge und alle dabei anfallenden Kosten
                werden laufend vom Logistik-System der Verbundzentrale erfasst und in einer
                Datenbank gespeichert.
 
 Aufgabe des implementierten Prozesses ist es, auf Basis der erfassten Daten,
                die vom Versender zu bezahlende Gebühr für die Sendung, als auch die Anteile
                der am Transport beteiligten Parteien nach komplexen Regeln zu kalkulieren und
                gegeneinander aufzurechen. Ergebnis sind diverse Excel-Dateien, die neben
                Übersichts-Kalkulationen und Statistiken die Rechnungen bzw. Gutschriften an alle
                beteiligten Verbunds-Mitglieder und Kunden enthalten.
 
 Um die Datenstruktur so flexibel wie möglich zu gestalten, wird ein vom Hersteller
                der Logistik-Software in C#/.NET entwickeltes, objektorientiertes Datenbanksystem eingesetzt,
                welches auf Basis einer beliebigen relationalen Datenbank (hier: Microsoft SQL-Server)
                betrieben werden kann. Die Abrechnungs-Logik wird aus den selben Gründen als sogenannter
                "Workflow" abgebildet, ein ebenfalls proprietäres System zur Formulierung komplexer Abläufe.
 
 Ein Workflow ist ein graphisch dargestelltes Ablaufdiagramm, in dem als Rechtecke
                visualisierte, sogenannte "Knoten" einen Verarbeitungsschritt symbolisieren. Diese
                werden durch Pfeile verbunden, welche die Bearbeitungsreihenfolge beschreiben. Dabei
                kann ein Workflow aus mehreren Unterworkflows (die im übergeordneten Workflow als
                Knoten erscheinen) zusammengesetzt sein, was die Abbildung des Ablaufs vom Generellen
                zum Speziellen hin ermöglicht. Workflows werden mit einem selbstentwickelten Tool,
                dem "Workflow-Designer", entworfen, einer Windows-Applikation ähnlich Microsoft Visio. Der generelle Unterschied
                zu herkömmlichen Ablaufdiagrammen ist, dass hier Workflows gleichzeitig das
                Programm verkörpern, d.h. die dargestellten Funktionen auch tatsächlich ausführen.
 
 Spezielle Funktionalitäten, die sich nicht als Workflow aus Basisknoten formulieren lassen,
                werden als eigene Knoten in C#/.NET ausprogrammiert.
 | 
| Tätigkeiten |  | 
|  | Entwurf, Implementierung und Test des Prozesses als Workflow |  
|  | Entwicklung diverser Basisknoten mit C#/.NET |  
|  | Entwicklung verschiedener Spezial-Knoten mit C#/.NET |  
|  | Umfangreiche Weiterentwicklung des Workflow-Designers mit C#/.NET (u.a. System.Windows.Forms) |  
|  | Entwurf und Implementierung einer Klasse zum Einlesen, Befüllen und Ausgeben von Excel-CSV-Dateien mit C#/.NET |  | 
| Projekt 27
 
 | 
| Zeitraum | Oktober 2004 - Dezember 2004 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Bank | 
| Firma / Institution | Bankkonzern, München | 
| Umgebung | Server-PC, Windows 2003 Server, Visual Basic 6, VBScript, JScript, Active Directory, Internet Information Server (IIS) 6.0, Microsoft Distributed Transaction Coordinator (MSDTC), Active Directory Service Interfaces (ADSI), Windows Management Instrumentation (WMI), Windows Script Host (WSH), HTML Application (HTA), VB Webclasses, Microsoft Script Debugger, Microsoft Visual SourceSafe | 
| Aufgabe | Portierung einer Web-Anwendung zur Kreditbeantragung und -vergabe von Windows NT auf
                Windows 2003 Server. Implementierung eines umfangreichen, komfortablen
                Konfigurations- und Installationsskripts mit Oberfläche auf Basis von
                Active Directory, JScript und HTA. | 
| Beschreibung |  | 
                Die Anwendung existiert als Internet und Intranet-Anwendung, wobei der Internet-Zweig
                im Wesentlichen aus der Dateneingabe durch den Kunden und der automatischen
                Kreditberechnung besteht. Die weitere Abarbeitung des Antrags geschieht mit Hilfe der
                Intranet-Applikation durch den zuständigen Filialmitarbeiter. Sie greift auf diverse interne
                und externe Subsysteme (Datenbank, Host, Kreditentscheidung, Schufa, etc.) zu und weist auch
                dadurch eine hohe Komplexität auf.
                
 Beide Teile der Anwendung sollten ohne Änderung am Quellcode von Windows NT auf Windows 2003
                Server portiert werden. Eine der Herausforderungen bestand darin, auf Windows 2003 Server nicht
                mehr unterstützte, jedoch für die Anwendung notwendige Techniken (VB Webclasses, CDonts, etc.) zu
                installieren und stabil zu betreiben. Ferner offenbarten die Unterschiede zwischen Alt- und
                Neusystem wie z.B. zwischen MTS (alt) und MSDTC (neu) vielfältige Möglichkeiten zu
                forscherischer und kreativer Betätigung.
 
 Zweite Hauptaufgabe des Projekts war es, für die portierte Anwendung ein Installationsskript
                zu schreiben. Es sollte über eine graphische Oberfläche konfigurierbar sein und danach
                vollautomatisch ablaufen. Es wurde mit modernsten Techniken umgesetzt und beinhaltete die
                im Folgenden genannten Teilschritte.
 | 
| Tätigkeiten |  | 
|  | Konfigurationsdatei parsen und in Arrays von Objekten überführen mit JScript |  
|  | Diente (MSDTC, IIS, IISAdmin) stoppen und starten mit WMI |  
|  | COM+-Applikationen stoppen und starten mit ASDI bzw. COMAdmin.COMAdminCatalog |  
|  | Path-Variable anpassen mit WScript.Shell.Environment |  
|  | Ausführbare Dateien installieren und registrieren mit Scripting.FileSystemObject, WScript.Shell und regsvr32 |  
|  | Lokale Benutzergruppen anlegen und befüllen mit ADSI WinNT-Provider |  
|  | Registry-Einträge vornehmen mit WScript.Shell und regedit |  
|  | MSDTC-Komponenten installieren mit ASDI bzw. COMAdmin.COMAdminCatalog |  
|  | Benutzerrechte auf Festplatte und in der Registry vergeben mit WScript.Shell und SubInAcl.exe |  
|  | Website anlegen und konfigurieren mit WMI und ASDI IIS-Provider |  
|  | SMTP-Service konfigurieren mit ASDI SMTP-Provider |  | 
| Projekt 26
 
 | 
| Zeitraum | Mai 2004 - September 2004 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Bank | 
| Firma / Institution | Bankkonzern, München | 
| Umgebung | PC, Windows NT, Visual C++ 6, Visual Basic 6, COM, ATL, STL, ActiveX, Rational Rose, Microsoft Visual Studio, Microsoft Visual SourceSafe | 
| Aufgabe | Selbständige Entwicklung einer Anwendung zur Erfassung und Verwaltung von
                Fingerabdrücken. Konzeption und Realisierung mehrerer ActiveX COM-Komponenten
                in Visual C++ und Visual Basic. | 
| Beschreibung |  | 
                Aufgrund einer Anforderung der Berufsgenossenschaft der Banken darf die Auszahlung
                größerer Geldbeträge in Kleinstfilialen nur in Anwesenheit von zwei
                Filialmitarbeitern erfolgen. Dies soll durch den Einsatz biometrischer
                Erkennungsverfahren - hier der Fingerprint-Überprüfung - sichergestellt werden.
                
 Die Fingerprint-Überprüfung an sich wird in das Authentifizierungsverfahren der
                Schalter-Kasse Applikation (siehe Projekt 23) eingebunden. Zur Erfassung der
                Fingerabdrücke und deren Verwaltung ist eine separate, von der Schalter-Kasse
                Applikation unabhängige Anwendung neu zu entwickeln. Sie wird in ein proprietäres
                Arbeitsplatzsystem eingebunden und ist deshalb als ActiveX Componente (UserControl)
                auszuführen.
 
 Zum physischen Einlesen eines Fingerabdrucks dienen von Zulieferern bereitgestellte
                Eingabegeräte (Maus, Tastatur), in die spezielle Sensoren integriert sind. Auch
                die Schittstelle zur Kommunikation mit der Hardware wird von einem Zulieferer
                bereitgestellt. Sie besteht aus mehreren ActiveX-Controls, die in die Visual-Basic
                Oberfläche eingebunden werden können. Einerseits können so die eingelesenen
                Fingerabdrücke visuell dargestellt werden, andererseits existiert ein
                Control zur Ablaufsteuerung und zum Auslesen der erfassten und bereits
                verschlüsselten Fingerprint-Daten. Diese werden zentral in einer Tabelle am Host
                gespeichert, von wo aus sie die Schalter-Kasse Applikation zu Identifizierungszwecken
                anfordern kann.
 
 Zur Host-Kommunikation dient ein proprietäres Subsystem, wofür als Schnittstelle zur
                VB-Oberfläche mehrere ActiveX COM-Komponenten in C++ zu entwerfen und implementieren
                sind. Sie werden in VB instanziiert und kapseln die Abläufe und Details der
                Kommunikation mit dem Subsystem, d.h. indirekt mit dem Host.
 
 In der Verwaltungs-Applikation werden auf dem selben Weg über eine VB-Maske Suchkriterien
                für eine Host-Anfrage zur Darstellung der verfügbaren Fingerprints pro Mitarbeiter erfasst.
                Diese werden an eine neu entwickelte C++ COM-Komponente übergeben, welche über das Subsystem
                die Host-Anfrage durchführt und die aufbereitete Ergebnisliste gegenüber VB bereitstellt.
                Die COM-Komponente stellt auch Funktionen zur Detailanzeige und zur Löschung von
                Datensätzen bereit.
 | 
| Tätigkeiten |  | 
|  | Erarbeitung eines detaillierten technischen Konzepts unter Verwendung von Rational Rose |  
|  | Einarbeitung in das System zur Geräteansteuerung |  
|  | Konzeption und Realisierung mehrerer ActiveX-Komponenten in Visual Basic 6 zur Darstellung der Oberfläche und zur Ablaufsteuerung |  
|  | Einarbeitung in das proprietäre System zur Host-Kommunikation |  
|  | Design und Implementierung mehrerer ActiveX COM-Komponenten zur Host-Kommunikation in Visual C++ und ATL |  
|  | Implementierung von Prüfungs- und Wandlungsroutinen in C++ und STL |  
|  | Beachtung und Umsetzung umfangreicher Programmierrichtlinien |  
|  | Umfangreiche Tests und detaillierte Dokumentation |  | 
| Projekt 25
 
 | 
| Zeitraum | Februar 2004 - April 2004 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Industrie, Maschinenbau, Automatisierung | 
| Firma / Institution | Hersteller von Wäschereitechnik, Vlotho | 
| Umgebung | Multiprozessor Server-PC, Windows Server 2003, Windows XP Professional, C#, SQL, .NET, ASP.NET, Multi-Threading, Stored Procedures, MS SQL-Server 2000, MS Developer Studio 2003 | 
| Aufgabe | Erstellung bzw. Überarbeitung von Teilbereichen eines Frameworks zur Steuerung der Logistik
                von Wäschereianlagen. Die anspruchsvolle, komplexe Anwendung muss nahezu Echtzeit-Ansprüche
                erfüllen und macht daher intensiv von Multi-Threading Techniken gebrauch. | 
| Beschreibung |  | 
                In einer Großwäscherei wird Arbeitskleidung von verschiedenen gewerblichen Kunden,
                wie z.B. Autohäusern, Arztpraxen, Handwerksbetrieben, etc., gewaschen, getrocknet,
                gebügelt, zusammengelegt und ggf. repariert oder ausgetauscht.
                
 Bei einem Durchsatz von mehreren tausend Kleidungsstücken pro Tag ist eine hohe Automatisierung
                notwendig. Nach dem Waschen werden die Kleidungsstücke auf Kleiderbügel gehängt und
                durch eine Förderanlage über weitere Stationen (Trocknen, Reparieren, etc.) in einen Speicher
                gefahren. Hierbei werden die Kleidungsstücke durch einen aufgenähten Strichcode und die Bügel
                durch einen integrierten Chip identifiziert. An der Förderstrecke und den Stationen sind
                Chipcode-Leser installiert, womit die Position eines Bügels und damit eines Kleidungsstückes
                jederzeit bestimmbar ist. Da die Chargen mehrerer Kunden gemeinsam gewaschen werden, existiert
                nach dem Speicher eine Sortieranlage, die die Kleidungsstücke wieder nach Kunde, Tour, etc. trennt.
 
 Die Aufgabe des Frameworks ist es, die Bewegung jedes einzelnen Kleidungsstückes zu steuern, wobei
                die logistischen Befehle durch ein Subsystem (SPS) in physische Bewegungen umgesetzt werden. Die
                Informationen zu den Kleidungsstücken bezieht sie aus dem Warenwirtschaftssystem der Wäscherei.
                Die Steuerung schließt die Einlagerung in den Speicher und die nachfolgende Sortierung mit ein.
                Eine besondere Herausforderung besteht darin, die Einlagerung in den Speicher und die nachfolgende
                Sortierung zu optimieren, um eine möglichst hohe Effizienz der Anlage, d.h. einen möglichst
                hohen Durchsatz zu erreichen. Aufgrund der hohen Fördergeschwindigkeit sind extrem
                kurze Antwortzeiten zu gewährleisten, was ein nahezu echtzeit-fähiges System erforderlich macht.
                Darüber hinaus ist das Framework als abstrahiertes Basissystem konzipiert, d.h. kann nur über
                reine Konfiguration und Implementierung spezifischer Schittstellen an eine neue Anlage
                angepaßt werden.
 | 
| Tätigkeiten |  | 
|  | Neugestaltung der Journalisierung. Überarbeitung der Klassenstruktur.
                    Zur Überwachung der Anlage werden diverse Informationen (z.B. Bügel-Positionen und
                    Route, Events, Fehler, etc.) journalisiert, d.h. in verschiedene Datenbanktabellen
                    geschrieben. Das direkte Schreiben in die Datenbank durch den Haupt-Thread belastet
                    das System zu stark. Daher wird nun nur ein Delegate auf die Schreibfunktion samt
                    Argumenten durch den Hauptthread in eine Queue gestellt, welche durch einen
                    niederpriorisierten Worker-Thread im Hintergrund abgearbeitet wird. Dabei werden die
                    zuvor gequeueten Delegates entqueuet und mit den mitgelieferten Argumenten aufgerufen. |  
|  | Überarbeitung einer Web-Anwendung mit ASP.NET zur Visualisierung der Journal-Daten,
                    insbesondere der graphischen Darstellung der Einlagerungssituation im Speicher.
                    Datenbankanbindung und interaktive Hervorhebung einzelner Sortierkriterien
                    (z.B. Kunde, Tour, etc.). |  | 
| Projekt 24
 
 | 
| Zeitraum | September 2003 - Januar 2004 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Internet, Immobilien | 
| Firma / Institution | Privat | 
| Umgebung | PC, Linux, PHP4, JavaScript, HTML, SQL, MySQL, DHTML, Apache, HomeSite | 
| Aufgabe | Selbständige Konzeption und Entwicklung von Homeswopping.de, der ersten
                spezialisierten, technisch anspruchsvollen Wohnungstauschbörse für Mietwohnungen
                im deutschsprachigen Raum.
                Siehe www.homeswopping.de. | 
| Beschreibung |  | 
                Was ist die Idee von Homeswopping?
                
 Stellen Sie sich vor, Sie wohnen in Hamburg und suchen eine Wohnung in München.
                Wie auch in vielen anderen Städten ist die Wohnungssuche in München kein Spaß.
                Gute Wohnungen sind knapp und man konkurriert mit hunderten von anderen Bewerbern.
 
 Dabei haben zur selben Zeit zahlreiche Münchner das umgekehrte Problem: sie suchen
                eine Wohnung in Hamburg. Einer von ihnen wohnt vielleicht genau in der
                Traumwohnung, die Sie suchen und wäre froh, Ihre jetzige Wohnung übernehmen
                zu können. Hier setzt Homeswopping an und bringt potentielle Tauschpartner
                zusammen. Natürlich funktioniert das Ganze auch zeitlich befristet und
                innerhalb der selben Stadt!
 | 
| Tätigkeiten |  | 
|  | Konzeption des Systems der Zusammenführung der Interessenten |  
|  | Festlegung der Seiten- und Dateistruktur |  
|  | (Grund-)Gestaltung aller Seiten |  
|  | Datenbankentwurf und -anbindung |  
|  | Implementierung aller Formulare und komplexer Datenbankabfragen |  
|  | Formulierung der Nutzungsbedingungen |  
|  | Auswahl des Providers und Domainanmeldung |  
|  | Transfer und Installation des Projekts auf den Zielrechner |  | 
| Projekt 23
 
 | 
| Zeitraum | April 2001 - Juli 2003 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Bank | 
| Firma / Institution | Bankkonzern, München | 
| Umgebung | PC, Windows NT, JavaScript, XML, XSLT, ASP, CSS, HTML, ActiveX, DHTML, HTA, IIS, Visual InterDev, Visual SourceSave | 
| Aufgabe | Technische Leitung, Architektur und führende Entwicklung der Client-Seite der
                Schalter-Kasse Applikation eines Münchener Bankkonzerns. Diese wurde komplett neu
                aufgesetzt und wird inzwischen in etwa 600 Filialen an ca. 2000 Arbeitsplätzen
                eingesetzt. Sie besteht rein clientseitig aus ungefähr 80.000 Codezeilen
                (inkl. Kommentaren). | 
| Beschreibung |  | 
                Betritt ein Kunde eine Filiale der Bank, um z.B. Geld von seinem Konto abzuheben, so führt sein
                Gegenüber den Vorgang mit Hilfe der Schalter-Kasse Applikation durch. Neben Kontokorrent-,
                Spar-, Sorten- und Edelmetallgeschäften deckt sie u.a. auch die Kassenverwaltung und die
                Peripherieansteuerung (Magnetstreifenleser, Belegdrucker, automatischer Kassentresor) ab.
                
 Die Anwendung setzt sich aus drei Teilen zusammen: zunächst dem Clientteil, der die Schnittstelle
                zum Bediener und der Peripehrie darstellt. Er ist als HTA (HTML Application), d.h. als Web-Anwendung, implementiert.
                Die Clients (Arbeitsplätze) kommunizieren mit dem (Filial-) Server, auf dem Teile der dezentralen Logik
                und Daten gehalten werden. Die einzelnen Server der Filialen wiederum tauschen Daten
                mit dem zentralen HOST aus, auf welchem u.a. alle bankweit getätigten Geschäfte zentral verbucht werden.
 | 
| Tätigkeiten |  | 
|  | Festlegung der Software-Architektur der Client-Seite, d.h. u.a.
                    funktionale Aufteilung, Modularisierung, interne Kommunikation und Ablaufsteuerung,
                    Dateibenennung und -ablage |  
|  | Design und Implementierung des zentralen clientseitigen Frameworks, das
                    die applikationsinterne Kommunikation und Datenhaltung organisiert und die
                    Kernfunktionalitäten zur standardisierten Verwendung durch die einzelnen
                    Geschäftsvorfälle bereitstellt. Hierzu zählen z.B. die Server-Kommunikation via
                    asynchronen XMLHTTP-Requests, der applikationseigene Bedienerauthentifizierungs-
                    und -authorisierungsvorgang, Exceptionhandling, Logging, Tracing, Hilfs- und
                    Wandlungsroutinen aller Art, z.B. zur Umsetzung der Mehrsprachigkeit. |  
|  | Design der Daten- und Kommunikationsschnittstelle zwischen Client und
                    Server in Zusammenarbeit mit dem Server-Team, d.h. Festlegung der XML
                    Datenstrukturen und Implementierung passender Aufbereitungsroutinen auf
                    Client-Seite, z.B. via XSLT. |  
|  | Funktionale Aufteilung und Gestaltung der Bedienoberfläche |  
|  | Entwurf und Implementierng von Ablaufsteuerung und Navigation |  
|  | Konzeption und Erstellung mehrerer Geschäftsvorfälle (KK Ein- und Auszahlung u.a.), als
                    Vorlage zur Implementierung der anderen Geschäftsvorfälle. |  
|  | Design und Implementierung verschiedenster Schnittstellen zu angrenzenden Themenbereichen bzw.
                    Modulen (z.B. Security, GWG). |  
|  | Einführung mehrerer Mitarbeiter in die geschaffene Umgebung |  
|  | Wissenstransfer |  
|  | Trouble-Shooting |  
|  | Dokumentation |  | 
| Referenz |  | Der Geschäftsführer des vermittelnden Bankdienstleisters:
                        
 "
                    Herr Dipl.-Ing. Jochen Scharr, geboren am 20.09.1967 war von 01.04.2001 bis zum
                    31.07.2003 bei einem unserer Kunden, einer Münchener Großbank, als externer Berater
                    im Rahmen eines Projektvertrages tätig.
 
 Er hatte die technische Leitung und war führender Entwickler der Client-Seite,
                    einem von zwei wesentlichen Teilen des Gesamtprojekts der Neuentwicklung der
                    Schalter-Kasse Anwendung der Bank.
 
 Nach Rücksprache mit unserem Kunden können wir folgendes festhalten:
 
 Herr Scharr trieb seinen Aufgabenteil des Projekts mit großem Engagement und viel
                    Kreativität zielstrebig, selbständig und sehr erfolgreich voran. Es ist ihm
                    gelungen, die Anwendungsarchitektur - trotz des Umfangs und der Komplexität der
                    Anforderungen - sehr sauber strukturiert, übersichtlich, funktionell und so modular
                    zu gestalten, dass die parallele, unabhängige Bearbeitung von Teilaufgaben durch
                    unterschiedlich qualifizierte Mitarbeiter problemlos möglich war. Neben der großen
                    Geschwindigkeit mit der Herr Scharr die Kernfunktionalitäten und weite Teile der
                    Anwendung sauber, sorgfältig, ausführlich kommentierte und in außergewöhnlich guter
                    Qualität implementierte, trug dies dazu bei, dass die Client-Seite des Projekts
                    stets im eng gesteckten Terminplan blieb bzw. diesem sogar teilweise vorauseilte.
 
 Als technischer Leiter hatte Herr Scharr auch die Aufgabe als Schnittstelle zu
                    anderen, indirekt am Projekt beteiligten Abteilungen zu agieren, Anforderungen zu
                    definieren und externe Module in die Anwendung zu integrieren. Er war dabei allseits
                    als hoch kompetenter und kooperativer Ansprechpartner geachtet, der durch seine
                    schnelle Auffassungsgabe, sein ausgesprochen breites und fundiertes technisches
                    Wissen und auch durch sein geschicktes Vorgehen immer eine für das Projekt
                    optimale Lösung zu finden verstand.
 
 Unser Kunde, die Kollegen des Projekt-Teams sowie die Projektverantwortlichen in
                    unserem Hause schätzten Herrn Scharr als stets verbindlichen, korrekten und
                    freundlichen Projekt-Partner, der ihnen jederzeit mit Rat und Tat kompetent zur
                    Seite stand.
 
 Wir danken Herrn Scharr für die immer sehr gute Zusammenarbeit und wünschen ihm
                    für die Zukunft alles Gute und weiterhin viel Erfolg. Wir würden ihm bei zukünftigen
                    geeigneten Projekten jederzeit wieder einen Projektvertrag anbieten.
                "
 
 Die Referenz ist wörtlich wiedergegeben und liegt im Original schriftlich vor.
 | 
| Projekt 22
 
 | 
| Zeitraum | Juli 2000 - März 2001 | 
| Arbeitsweise | Vollzeit und Teilzeit | 
| Branche(n) | IT, EDV, Forschung, Entwicklung, Internet, Handel | 
| Firma / Institution | Softwareunternehmen, Fürth | 
| Umgebung | PC, Windows NT, Visual C++, ASP, JavaScript, HTML, SQL, SQL-Server, ATL, MFC, DHTML, Developer Studio | 
| Aufgabe | Design und Entwicklung der serverseitigen ASP-Komponente GCLRun in C++ für die
                einfache Konfiguration von komplexen Konsumgütern auf der Grundlage eines
                ASP-Programms (GCL = Genereal Configuration Language). Entwicklung mehrerer
                Beispielanwendungen mit Web-Technologie.
                Siehe www.ec-logic.com. | 
| Beschreibung |  | 
                Bei der Zusammenstellung eines komplexen Produktes (z.B. KFZ, Büromöbel, Anzüge, Maschinen, Anlagen, etc.)
                ergeben sich leicht Millionen von Kombinationsmöglichkeiten. Davon sind jedoch nur eine
                begrenzte Anzahl zulässig, d.h. sinnvoll bzw. überhaupt produzierbar. Das klassische
                Gegenbeispiel ist das Cabrio mit Schiebedach. Die Regeln zur Zusammenstellung eines Produktes
                nennt man Produktlogik.
                
 Mit GCL ist es möglich, auch komplexeste Produktlogiken einfach, schnell, übersichtlich
                und kompakt zu formulieren. Dabei sind keinerlei Programmierkenntnisse erforderlich,
                die alleinige Kenntnis der Zusammenstellungsregeln genügt.
 
 Im Gegensatz zu anderen Produkten in diesem Bereich belastet GCL auch
                bei der Ausführung, d.h. bei einem konkreten Konfigurationsvorgang durch den (Internet-)Benutzer,
                den Server kaum. Bei herkömmlichen Verfahren stellt der Kunde eine Konfiguration zusammen,
                und das Programm überprüft deren Gültigkeit im Nachhinein.
                Dazu müssen in der Regel alle möglichen Kombinationen berechnet werden, um ermitteln zu können,
                ob die aktuelle Auswahl zu den gültigen Konfigurationen gehört.
                Bei Millionen von Möglichkeiten ergibt sich hieraus eine immense Serverbelastung,
                die die Anzahl der simultanen Nutzer stark einschränkt. Dadurch kann der Einsatz in einem
                E-Commerce Shop an sich in Frage gestellt werden.
 
 Der neuartige Ansatz von GCL hingegen verhindert a priori die Auswahl einer ungültigen Kombination,
                wobei der Auswahlprozeß für den Nutzer jederzeit einfach und transparent bleibt. Die Meldung
                "Dieses Sakko kann in dieser Größe nicht in blau geliefert werden. Bitte wählen Sie eine andere Farbe"
                kann in GCL nicht vorkommen. Da zu keiner Zeit Kombinationsmöglichkeiten durch das Programm berechnet
                werden müssen, ist die Serverbelastung bei GCL, im Vergleich zu herkömmlichen Verfahren, minimal.
                Somit eignet sich GCL als einziges Produkt am Markt für E-Shops mit beliebig komplexen Gütern und
                (nahezu) beliebig vielen simultanen Benutzern.
 | 
| Tätigkeiten |  | 
|  | Konzeption und Implementierung der serverseitigen COM-Komponente in C++ unter Verwendung von ATL und MFC |  
|  | Erweiterung um neue Funktionalitäten |  
|  | Verschiedene Beispielapplikationen unter Verwendung der Komponente, sowie ASP, JavaScript, DHTML, SQL bzw. SQL-Server |  
|  | Test und Dokumentation |  | 
| Referenz |  | Der Geschäftsführer des Softwareunternehmens:
                        
 "
                    Herr Dipl.-Ing. Jochen Scharr, geboren am 20.09.1967 in Heilbronn, war von Juli 2000
                    bis März 2001 in unserem Unternehmen als freiberuflicher Software-Architekt und
                    Senior Entwickler tätig.
 
 Seine Aufgabe bestand in der selbständigen Erstellung der Kernkomponente GCLRun
                    unseres Konfigurations- und Präsentationssystems für komplexe Konsumgüter. Als
                    Basis diente eine ASP-Implementierung der Funktionalität, die als serverseitige
                    COM-Komponente in C++ realisiert werden sollte. Darüber hinaus erstellte er mehrere
                    Beispielapplikationen in Web-Technik (ASP, VBScript, JavaScript, ODBC, SQL, etc.)
                    unter Verwendung der von ihm erstellten Komponente.
 
 Aufgrund seiner sehr guten Kenntnisse in der objektorientierten Analyse, Design und
                    Entwicklung mit C++, MFC und ATL, der langjährigen Erfahrung im Bereich Client/Server
                    bzw. Internet Applikationen, seinem scharfen analytisches Denkvermögen und seiner
                    Fähigkeit, sich sehr schnell in komplexe Themengebiete einzuarbeiten, schritt das
                    Projekt zügig und zu unserer größten Zufriedenheit voran. Herr Scharr arbeitet sehr
                    selbständig, strukturiert und sorgfältig, was sich in der hohen Qualität des von ihm
                    entworfenen Designs, der implementierten Module und der dazugehörigen Dokumentation
                    niederschlägt.
 
 Besonders überzeugt hat uns, dass Herr Scharr sich über die reine Implementierung
                    hinaus auch mit großem Engagement und viel Kreativität der inhaltlichen
                    Weiterentwicklung des Produkts widmete. Auf seine Initiative und Anregungen
                    gehen viele innovative und sinnvolle Verbesserungen und Erweiterungen zurück.
 
 Es war immer sehr angenehm und produktiv mit Herrn Scharr zusammenzuarbeiten.
                    Er wurde allseits als stets korrekter, freundlicher und hilfsbereiter Mitarbeiter
                    geschätzt.
 
 Wir danken Herrn Scharr für die jederzeit sehr gute Zusammenarbeit und wünschen ihm
                    für die Zukunft alles Gute und weiterhin viel Erfolg. Wir können ihn uneingeschränkt
                    weiterempfehlen.
                "
 
 Die Referenz ist wörtlich wiedergegeben und liegt im Original schriftlich vor.
 | 
| Projekt 21
 
 | 
| Zeitraum | Januar 2001 - März 2001 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Internet, Handel | 
| Firma / Institution | Internetagentur, Nürnberg, für Spielehersteller, Berlin | 
| Umgebung | Server-PC, Linux, PHP, JavaScript, HTML, MySQL, DHTML, Apache, HomeSite | 
| Aufgabe | Technische Konzeption und Umsetzung des Internet-Auftritts eines Spieleherstellers,
                inkl. Datenbankdesign und -anbindung für den Produktkatalog.
                Siehe www.schmidtspiele.de. | 
| Tätigkeiten |  | 
|  | Seiten- und Dateistruktur |  
|  | Navigation in JavaScript und PHP |  
|  | Datenbankentwurf und -anbindung |  
|  | Dynamischer Seitenaufbau per Datenbankabfrage und HTML/PHP-Templates |  | 
| Referenz |  | Der Geschäftsführer der Internetagentur:
                        
 "
                    Herr Dipl.-Ing. Jochen Scharr, geboren am 20.09.1967 in Heilbronn, war von Januar bis März 2001 als Senior Developer für die Erstellung der Internetpräsenz mit Produktkatalog für einen international agierenden Spielehersteller befristet tätig.
 
 Herr Scharr war in nachfolgende Aufgabenbereiche eingebunden:
 
 - technische Konzeption in verantwortlicher Position
 - Implementierung der technisch anspruchsvollen Internetpräsenz mit Produktkatalog
                    inkl. Datenbankdesign, Navigationsfunktionalitäten, Suchfunktionalitäten etc. unter
                    Einsatz von Linux, Apache, PHP, MySQL, JavaScript und HTML
 
 Wie schon bei früheren Projekten überzeugte uns Herr Scharr durch seine absolut
                    professionelle, schnelle und sorgfältige Arbeitsweise. Er erwies sich im Umgang
                    mit den verwendeten Techniken als versierter Experte, der auch sehr schwierige
                    Aufgabenstellungen routiniert zu lösen vermochte.
 
 Herr Scharr schaffte es das Projekt selbständig aktiv voranzubringen, eigene
                    Vorschläge und Kreativität einzubringen. Hervorzuheben ist sein hohes Engagement.
                    Der Projekterfolg war Herrn Scharr ein persönliches Anliegen. Herr Scharr verlor
                    nie die Wünsche und Vorgaben unseres Kunden, sowie das Aufwand/Nutzen-Verhältnis
                    von Lösungsalternativen aus den Augen. Die Anwendung läuft performant und
                    störungsfrei. Dank seiner Mitwirkung wurde das Projekt problemlos innerhalb
                    kürzester Zeit erfolgreich und zu unserer sowie der unseres Kunden größten
                    Zufriedenheit umgesetzt.
 
 Die Zusammenarbeit mit Herrn Scharr zeichnete sich durch große Kollegialität und
                    Reibungslosigkeit aus. Vorgesetzte und Kollegen schätzten ihn als stets
                    freundlichen, umgänglichen und hilfsbereiten Menschen.
 
 Wir danken Herrn Scharr für die stets sehr gute Zusammenarbeit und wünschen ihm
                    für die Zukunft alles Gute und weiterhin viel Erfolg. Gerne empfehlen wir Herrn
                    Scharr uneingeschränkt weiter.
                "
 
 Die Referenz ist wörtlich wiedergegeben und liegt im Original schriftlich vor.
 | 
| Projekt 20
 
 | 
| Zeitraum | März 2000 - Juni 2000 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Internet, Handel, Kunst | 
| Firma / Institution | Internet-Agentur, Nürnberg, für Kunstunternehmen, Krefeld | 
| Umgebung | Server-PC, Linux, PHP, JavaScript, HTML, MySQL, DHTML, SixCMS, Imperia, Cassiopeia, OpenShop, HomeSite | 
| Aufgabe | Technische Projektleitung, Analyse, Architektur und Implementierung des größten
                deutschsprachigen Internetportals zum Thema Kunst, inkl. ausgefeilter Datenbankstruktur,
                aufwendiger, stark automatisierter Navigation, Integration bzw. Konvertierung
                verschiedenster Datenquellen, sowie Verwaltung, automatisierte Pflege und Darstellung
                umfangreicher redaktioneller Inhalte. | 
| Tätigkeiten |  | 
|  | Aufsetzen der Server |  
|  | Auswahl des Redaktionssystems (Imperia oder SixCMS) |  
|  | Einarbeitung in verschiedenste Tools: Imperia (Redaktionssystem), SixCMS (Content Management System, datenbankbasiertes Redaktionssystem), Cassiopeia (Community), OpenShop (Shopsystem) |  
|  | Festlegung der Datenbank- und Seitenstruktur |  
|  | Konzeption und Implementierung der Navigation in PHP |  
|  | Planung und Umsetzung der (Datenbank-) Struktur in Six |  
|  | Analyse des Six-Systems und der zugrundeliegenden Datenbankstruktur |  
|  | Implementierung eines Direktzugriffs auf die Six-Datenbank mit PHP und MySQL |  
|  | Entwicklung umfangreicher und komplexer Datenbankabfragen, implementiert als einfach einzusetzende PHP-Funktionen |  
|  | Konvertierung und Integration der von verschiedenen Auktionshäusern gelieferten Katalogdaten von Access über MySQL in Six |  
|  | Automatisierte Bildkonvertierung |  
|  | Backup und Dokumentation |  
|  | Abstimmung der Umsetzung mit den Vorstellungen und Erfordernissen anderer Unternehmensbereiche |  
|  | Einführung mehrerer Mitarbeiter in das geschaffene System |  
|  | Aufspaltung der zu erledigenden Aufgaben in separat bearbeitbare Teilaufgaben |  
|  | Verteilung der Aufgaben an die Mitarbeiter |  
|  | Überwachung und Integration der Ergebnisse in das Gesamtsystem |  | 
| Referenz |  | Der Geschäftsführer der Internetagentur:
                        
 "
                    Herr Dipl.-Ing. Jochen Scharr, geboren am 20.09.1967 in Heilbronn, war von März
                    bis Juni 2000 als Technischer Leiter und Senior Developer für die Erstellung des
                    größten deutschsprachigen Internetportals zum Thema Kunst befristet tätig.
 
 Herr Scharr war eine tragende Säule und treibende Kraft unseres Projekts. Bereits
                    bei der Auswahl der zu verwendenden Technologie konnte er uns von seinem sehr
                    profunden Fachwissen, seiner großen Erfahrung auf dem Gebiet der Softwareentwicklung
                    im Allgemeinen und der Erstellung von Web-Anwendungen im Besonderen überzeugen.
                    Durch seine unternehmerische und kundenorientierte Denkweise konnte Herr Scharr
                    schnell und treffsicher zu einer auch aus kaufmännischer Sicht sinnvollen Plattform
                    raten.
 
 Die technische Planung und Implementierung des Portals führte Herr Scharr sehr
                    schnell, professionell und stets zu unserer größten Zufriedenheit durch. Dabei
                    wurde u.a. Linux, Apache, PHP, MySQL und das SixCMS als Technologie eingesetzt.
                    Innerhalb von nur vier Monaten und nur einem, ihm zuarbeitenden Entwickler als
                    Unterstützung, entstand so eine sehr stabile und performante Anwendung von großem
                    Umfang und Komplexität.
 
 Eine besondere Herausforderung des Projekts bestand in der Übernahme,
                    Vereinheitlichung und Integration von Galerien und Auktionshäusern in das
                    Portal. Mit der klar strukturierten und flexiblen Programm- und Datenarchitektur,
                    stellte Herr Scharr seine ausgeprägten analytischen Fähigkeiten und Kreativität
                    unter Beweis. Seine äußerst sorgfältige und effiziente Arbeitsweise, sowie sein
                    sauberer und durchdachter Programmierstil führten zusammen mit der guten
                    Dokumentation zur leichten Verständlichkeit und einfachen Wartbarkeit seiner
                    Anwendungen.
 
 Herr Scharr war ein äußerst belastbarer, engagierter, flexibeler und zuverlässiger
                    Mitarbeiter. Er war jederzeit bereit und fähig, sein fachliches Wissen an seine
                    Kollegen weiterzugeben. Wegen seiner stets verbindlichen, kooperativen und
                    hilfsbereiten Art wurde er von Kunden, Kollegen und Vorgesetzten gleichermaßen
                    geschätzt.
 
 Wir danken Herrn Scharr für die stets sehr gute Zusammenarbeit und wünschen ihm
                    für die Zukunft alles Gute und weiterhin viel Erfolg. Gerne empfehlen wir Herrn
                    Scharr uneingeschränkt weiter.
                "
 
 Die Referenz ist wörtlich wiedergegeben und liegt im Original schriftlich vor.
 | 
| Projekt 19
 
 | 
| Zeitraum | September 1999 - März 2000 | 
| Arbeitsweise | Vollzeit und Teilzeit | 
| Branche(n) | IT, EDV, Intranet, Handel | 
| Firma / Institution | Kaufhauskonzern, Fürth | 
| Umgebung | Server-PC, Windows NT, ASP, VBScript, JavaScript, HTML, SQL, Access, SQL-Server, DHTML, LDAP, Info-Office (RedDot), MS Membership-Server | 
| Aufgabe | Technische Projektleitung, Konzeption und (Neu-)Erstellung des Intranets für ein
                Tochterunternehmen eines Kaufhauskonzerns. Führende Entwicklung vom ersten Prototyp
                bis zum Endprodukt, inkl. Einführung des CMS-Systems Info-Office (RedDot) und
                Integration der Anwendung darin, sowie Datenbankanbindung und Personalisierung. | 
| Tätigkeiten |  | 
|  | Erarbeitung eines Prototyps auf Basis der Kundenwünsche, der vom Kunden gelieferten inhaltlichen Struktur und einer graphischen Vorlage |  
|  | Programmierung der aufwendigen Navigation in JavaScript und ASP |  
|  | Umsetzung der graphischen Vorlage in HTML |  
|  | Konzeption der Seitenbenennung und Ablageorte |  
|  | Integration bestehender Funktionsmodule auf Basis von ASP und Access |  
|  | Integration des Prototyps in das Redaktionssystem Info-Office (RedDot, IO) |  
|  | Aufbau des IO-Redaktions- u. Live-Servers (im Team) |  
|  | Konzeption und Umsetzung der IO-Grundstruktur |  
|  | Anlegen von Basis- und Testprojekten |  
|  | Integration in die bestehende Rechnerstruktur |  
|  | Konzeption und Implementierung von Basistemplates |  
|  | Integration der Seiten des Prototyps in IO-Templates |  
|  | Entwicklung von Zusatzfunktionen: Direct Feedback, Suchfunktion über alle Seiten, Überarbeitung des Telefonbuchs. |  
|  | Datenbankanbindung: zunächst an Access, da die bereits vorhandenen Module auf Access basierten, später an MS-SQL-Server |  
|  | Installation des SQL-Servers |  
|  | Umschreiben der Module auf die Anforderungen des SQL-Servers |  
|  | Übersetzung der Datenbank von Access nach SQL-Server |  
|  | Personalisierung (d.h. Einschränkung des Seitenzugriffs gemäß einer hierarchischen Gruppenstruktur) |  
|  | Anbindung des Projekts an MS-Membership-Server u. LDAP (im Team) |  
|  | Integration und Überarbeitung notwendiger ASP-Scripte in IO-Struktur |  
|  | Ausbau des Prototyps zum Produktivsystem |  
|  | Backup und Dokumentation |  | 
| Referenz |  | Der Geschäftsführer der Internetagentur:
                        
 "
                    Herr Dipl.-Ing. Jochen Scharr, geboren am 20.09.1967 war von September 1999 bis März
                    2000 bei unserem Kunden, einem Tochterunternehmen eines Fürther Kaufhauskonzerns
                    als leitender Entwickler tätig.
 
 Seine Aufgabe bestand in der Konzeption und Implementierung des Firmen-Intranets,
                    basierend auf den Kundenwünschen und einer graphischen Vorlage. Die technische
                    Plattform bildete auf Basis von Windows NT und dem Microsoft Internet Information
                    Server das Content Management System Info-Office, sowie ASP, JavaScript, HTML und
                    als Datenbanken MS-Access und MS-SQL-Server, wobei die Endanwendung auf dem Browser
                    Microsoft Internet Explorer 4.0 und später auch auf dem Netscape Navigator 4.x
                    lauffähig sein sollte.
 
 Herr Scharr hatte sich sehr schnell in die inhaltliche Thematik, sowie das Content
                    Management System eingearbeitet und die Grundstruktur der Anwendung entworfen.
                    Aufgrund seiner sehr engagierten und selbständigen Arbeitsweise, sowie seines
                    exzellenten, breiten Fachwissens kam das Projekt sehr zügig voran und konnten auch
                    schwierigste Kundenanforderungen (ausgefallene Navigation, Personalisierung, etc.)
                    elegant umgesetzt werden. Dabei überzeugten die von Herrn Scharr erstellten
                    Applikationen durch ihre durchdachte, anwenderorientierte und sorgfältige Ausführung,
                    sowie deren Stabilität und Performanz, was zu einer sehr hohen Kundenzufriedenheit
                    führte.
 
 Das Verhalten von Herrn Scharr gegenüber Kunden, Kollegen und Vorgesetzten war
                    jederzeit vorbildlich. Er wurde allseits als netter, umgänglicher und sehr
                    kompetenter Mitarbeiter geschätzt. Auch in terminkritischen Situationen stand
                    Herr Scharr immer voll hinter dem Projekt und war jederzeit zu Sondereinsätzen
                    (z.B. Nachtschichten) bereit, bei denen er sich stets als sehr belastbar und
                    effizient erwies.
 
 Wir wünschen Herrn Scharr, den wir uneingeschränkt weiterempfehlen können, für
                    die Zukunft weiterhin viel Glück und Erfolg und danken Ihm für die stets sehr
                    gute Zusammenarbeit.
                "
 
 Die Referenz ist wörtlich wiedergegeben und liegt im Original schriftlich vor.
 | 
| Projekt 18
 
 | 
| Zeitraum | Oktober 1999 - November 1999 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Internet, Handel | 
| Firma / Institution | Internet-Agentur, Erlangen, für Likörhersteller, Nürnberg | 
| Umgebung | PC, Windows NT, JavaScript, HTML, DHTML | 
| Aufgabe | Technische Konzeption und Implementierung eines kleinen, leicht zu pflegenden
                und rein clientseitigen Internet-Shops für einen Likörhersteller. | 
| Tätigkeiten |  | 
|  | Browserunabhängige Implementierung folgender Funktionalitäten / Anforderungen mit JavaScript und DHTML: |  
|  | Leichte, intuitive Navigation durch die Produktstruktur |  
|  | Darstellung der Produkte als Übersicht und im Detail |  
|  | Preise in DM und Euro mit jederzeitiger Umschaltfunktion |  
|  | Warenkorb mit allen Funktionalitäten |  
|  | Bestellfunktion mit Erfassung der Kundendaten, Bestellung per E-Mail, Bezahlung per Rechnung oder Nachnahme |  
|  | Einfache Pflege |  
|  | Geringe Kosten für den Shop (DM 1.500 einmalig als Lizenz) |  
|  | Geringe laufende Kosten, da keine besonderen Anforderungen an den Server
                    (keine serverseitige Programmierung, keine Datenbankanbindung) |  | 
| Projekt 17
 
 | 
| Zeitraum | März 1999 - September 1999 | 
| Arbeitsweise | Vollzeit, sporadisch jeweils 1-2 Wochen | 
| Branche(n) | Bildung, Lehre, IT, EDV, Internet, Handel | 
| Firma / Institution | Privates Institut für berufliche Bildung, Nürnberg | 
| Umgebung | PC, Windows NT, C++, ASP, VBScript, JavaScript, HTML, SQL, Access, DHTML | 
| Aufgabe | Dozent von Seminaren im Rahmen von Fortbildungskursen zum Online-Marketing.
                Themen: Grundkurs Programmieren anhand von JavaScript und/oder C++; E-Commerce
                aus Sicht des Entwicklers; Implementierung eines Internet-Shops mit Datenbankdesign
                und -anbindung. | 
| Projekt 16
 
 | 
| Zeitraum | Januar 1999 - Juni 1999 | 
| Arbeitsweise | Vollzeit und Teilzeit | 
| Branche(n) | Industrie, Maschinenbau, Elektrotechnik | 
| Firma / Institution | Elektrokonzern, Erlangen | 
| Umgebung | PC-Netzwerk, Linux, C++, Ethernet, Multi-Tasking, Multi-Threading, Emacs | 
| Aufgabe | Erweiterung der Software für eine Anlage zum Bestücken und Löten elektronischer
                Baugruppen. Design und Implementierung der Kommunikations- und Logistiksteuerung
                mehrerer Clients und deren Subsysteme über einen zentralen Server auf Ethernet-Basis
                in einer Multi-Tasking, Multi-Threading Umgebung unter Linux. | 
| Beschreibung |  | 
                Die Anlage besteht aus mehreren Arbeitsplätzen, sogenannten "Zellen", zum automatisierten Zwischenlagern und manuellen
                Bestücken von Platinen, welche automatisch über ein Förderband zur Lötanlage transportiert, gelötet
                und wieder zurück transportiert werden. Dabei werden mehrere Platinen in einen, speziell für den
                jeweiligen Platinen-Typ gefertigten, sogenannten "Carrier" eingelegt und gemeinsam bearbeitet.
                Jede Zelle besitzt einen eigenen Rechner, welcher über Ethernet mit einem zentralen Server verbunden ist.
                Jeder Zellen-Prozess startet mehrere Sub-Threads, die zur Steuerung der einzelnen
                Handhabungskomponenten der Zelle, sowie der Interaktion mit dem Benutzer dienen.
                Sie kommunizieren ihrerseits untereinander über globale Variablen.
                
 Die allgemeine Aufabe bestand darin, die Arbeit der bisher unabhängig voneinander
                agierenden Zellen zu koordinieren, um so die Zellenauslastung und -logistik
                optimieren bzw. automatisieren zu können.
 | 
| Tätigkeiten |  | 
|  | Vernetzung der bisher getrennt arbeitenden Zellen über eine zentrale Datei zur
                    Speicherung verschiedenster Carrier-Daten auf dem Server |  
|  | Überarbeitung und Erweiterung der Zellen-Software, um obige Aufgaben zu integrieren |  
|  | Planung und Implementierung der Optimierung und Automatisierung der Logistik der Carrier mit
                    Hilfe obiger Datei |  | 
| Projekt 15
 
 | 
| Zeitraum | März 1999 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Industrie, Maschinenbau | 
| Firma / Institution | Ingenieurbüro, Erlangen, für Stahlkonzern, Düsseldorf | 
| Umgebung | Industrie-PC, Windows NT, Visual C++, MFC, NT-Service, Ethernet, H1, S5, Developer Studio | 
| Aufgabe | Konzeption und Implementierung eines NT-Systemdienstes zur Überwachung und Regelung
                einer Bandkanten-Erwärmungsanlage (sog. "Edgeheater") eines Walzwerkes
                unter Verwendung der H1 und S5 Ethernet-Protokolle, digitaler Ein- und Ausgänge,
                sowie speziell dafür geeigneter Karten. | 
| Tätigkeiten |  | 
|  | Einbau und Konfigurierung der Karten |  
|  | Konzeption des Dienstes (NT-Service und separate, graphische Überwachungs- und Steuerungstools) |  
|  | Planung der Kommunikation zwischen den Systemkomponenten, dem Bediener und den Komponenten der Gesamtanlage |  
|  | Implementierung der Komponenten inklusive Integration der Kartensoftware |  | 
| Projekt 14
 
 | 
| Zeitraum | März 1998 - Januar 1999 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Internet, Maschinenbau | 
| Firma / Institution | Privat, in Kooperation mit Softwarefirma im CAD-Bereich, Erlangen | 
| Umgebung | Server-PC, Linux, Windows NT, Meta-HTML, HTML, Access-Basic, SQL, Access, MySQL, Samba, HomeSite, Pro/ENGINEER, Pro/TOOLKIT, AutoCAD | 
| Aufgabe | Selbständiger Aufbau eines Internet-Dienstes zum strukturierten Suchen und Herunterladen
                von CAD-Modellen von Norm- und Wiederholteilen für den Maschinenbau; Aktiver Server mit
                Datenbankunterstützung. | 
| Tätigkeiten |  | 
|  | Auswahl und Beschaffung der Server-Hardware |  
|  | Installation von Linux, MySQL, Meta-HTML |  
|  | Vernetzung mit NT-Rechnern (Samba) |  
|  | Aufbau der Entwicklungsumgebung |  
|  | Konzeption der Datenbankstruktur |  
|  | Erstellen bzw. Erfassen von Text, Abbildungen und CAD-Modellen in verschiedenen Formaten |  
|  | Konzeption und Implementierung des Dienstes |  | 
| Projekt 13
 
 | 
| Zeitraum | Juni 1998 - September 1998 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Forschung, Entwicklung, IT, EDV, Internet, Handel | 
| Firma / Institution | Softwarehaus, Adelsdorf, für Möbelhersteller, Coburg | 
| Umgebung | PC, Windows NT, Visual C++, MFC, Developer Studio | 
| Aufgabe | Entwurf einer Konfigurationssprache für komplexe Konsumgüter, die das Expertenwissen
                über die Kombinationslogik der Einzelelemente und den Ablauf der Zusammenstellung von
                Einzelelementen zu einem Produkt unter Berücksichtigung der wechselseitigen
                Abhängigkeiten abbilden kann; Implementierung eines leicht verständlichen graphischen
                Editors für diese Sprache. | 
| Referenz |  | Der Geschäftsführer des Softwarehauses:
                        
 "
                    Herr Jochen Scharr, geboren am 20.9.1967, Spinnereistraße 24, 91054 Erlangen,
                    ist am 1.2.1998 als Systemanalytiker in unser Unternehmen eingetreten.
 
 Zu den Aufgaben von Herrn Scharr gehörte der Entwurf und die Implementierung
                    eines Internet Kaufhaus Systems für den Büromöbelbereich. Die Realisierung führte
                    er selbständig mit "Active Server Pages" und dem Microsoft Internet Information
                    Server durch. Die sehr guten Datenbankkenntnisse führten bei der Altdatenübernahme
                    zu einem schnellen Projekterfolg. Zu den besonderen Aufgaben von Herrn Scharr
                    gehörte der Entwurf einer Konfigurationssprache für komplexe Konsumgüter und die
                    Implementierung eines Editors für diese Sprache in C++ und MFC.
 
 Herr Scharr nutzte jede Chance, sein ohnedies breites Fachwissen weiterzuentwickeln.
                    Seine Fähigkeit sich sehr schnell in neue Arbeitsgebiete einzuarbeiten war ein großer
                    Gewinn für die Projektarbeit. Er löste die Aufgaben als Systemanalytiker stets mit
                    großer Energie und Sicherheit termingerecht zu unserer vollsten Zufriedenheit.
                    Vorgesetzte und Kollegen schätzten gleichermaßen die Bereitschaft von Herrn Scharr
                    zu sachlicher Zusammenarbeit und die jederzeit korrekte Haltung. In terminkritischen
                    Situationen war er stets bereit, auch zusätzliche Aufgaben außerhalb seines
                    eigentlichen Arbeitsgebiets zu übernehmen.
 
 Wir sahen uns leider gezwungen, das Arbeitsverhältnis mit Herrn Scharr wegen der
                    Schließung des Unternehmens aufzulösen. Wir danken Herrn Scharr für die gute
                    Zusammenarbeit und wünschen für den weiteren Berufsweg viel Erfolg.
                "
 
 Die Referenz ist wörtlich wiedergegeben und liegt im Original schriftlich vor.
 | 
| Projekt 12
 
 | 
| Zeitraum | Februar 1998 - Juni 1998 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Internet, Handel | 
| Firma / Institution | Softwarehaus, Adelsdorf, für Möbelhersteller, Coburg | 
| Umgebung | Server-PC, Windows NT, ASP, VBScript, JavaScript, HTML, Access-Basic, SQL, Access, SQL-Server, IIS, Visual InterDev | 
| Aufgabe | Konzeption und Implementierung eines Internet-Kaufhauses für Büroeinrichtung und -bedarf
                mit aktivem Server und Datenbankunterstützung. | 
| Referenz |  | Der Geschäftsführer des Softwarehauses:
                        
 "
                    Herr Jochen Scharr, geboren am 20.9.1967, Spinnereistraße 24, 91054 Erlangen,
                    ist am 1.2.1998 als Systemanalytiker in unser Unternehmen eingetreten.
 
 Zu den Aufgaben von Herrn Scharr gehörte der Entwurf und die Implementierung
                    eines Internet Kaufhaus Systems für den Büromöbelbereich. Die Realisierung führte
                    er selbständig mit "Active Server Pages" und dem Microsoft Internet Information
                    Server durch. Die sehr guten Datenbankkenntnisse führten bei der Altdatenübernahme
                    zu einem schnellen Projekterfolg. Zu den besonderen Aufgaben von Herrn Scharr
                    gehörte der Entwurf einer Konfigurationssprache für komplexe Konsumgüter und die
                    Implementierung eines Editors für diese Sprache in C++ und MFC.
 
 Herr Scharr nutzte jede Chance, sein ohnedies breites Fachwissen weiterzuentwickeln.
                    Seine Fähigkeit sich sehr schnell in neue Arbeitsgebiete einzuarbeiten war ein großer
                    Gewinn für die Projektarbeit. Er löste die Aufgaben als Systemanalytiker stets mit
                    großer Energie und Sicherheit termingerecht zu unserer vollsten Zufriedenheit.
                    Vorgesetzte und Kollegen schätzten gleichermaßen die Bereitschaft von Herrn Scharr
                    zu sachlicher Zusammenarbeit und die jederzeit korrekte Haltung. In terminkritischen
                    Situationen war er stets bereit, auch zusätzliche Aufgaben außerhalb seines
                    eigentlichen Arbeitsgebiets zu übernehmen.
 
 Wir sahen uns leider gezwungen, das Arbeitsverhältnis mit Herrn Scharr wegen der
                    Schließung des Unternehmens aufzulösen. Wir danken Herrn Scharr für die gute
                    Zusammenarbeit und wünschen für den weiteren Berufsweg viel Erfolg.
                "
 
 Die Referenz ist wörtlich wiedergegeben und liegt im Original schriftlich vor.
 | 
| Projekt 11
 
 | 
| Zeitraum | Juli 1997 - Januar 1998 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Internet, Handel, Industrie, Medien | 
| Firma / Institution | Multimedia Agentur, Nürnberg, für diverse Unternehmen | 
| Umgebung | PC, Linux, Windows 95, Meta-HTML, HTML, Access-Basic, SQL, Access, mSQL, HomeSite, Word, Excel | 
| Aufgabe | Mitarbeit bei verschiedenen Datenbanken- und Meta-HTML-Anwendungen
                für Banken, Industrie- und Medienunternehmen. | 
| Projekt 10
 
 | 
| Zeitraum | Juli 1997 - Oktober 1997 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Internet, Handel, Landwirtschaft | 
| Firma / Institution | Multimedia Agentur, Nürnberg, für Saatenhersteller, Lippstadt | 
| Umgebung | PC, Linux, Windows 95, Meta-HTML, HTML, Access-Basic, SQL, Access, mSQL, HomeSite, Word, Excel | 
| Aufgabe | Technische Konzeption und Implementierung der Datenbankünterstützung durch einen aktiven Server für den
                Internet-Dienst eines Saatenherstellers auf Basis eines Layout- bzw. Seitenverknüpfungsplanes
                und der Rohdaten (Word, Excel). Siehe www.dsv-saaten.de. | 
| Tätigkeiten |  | 
|  | Konzeption der Datenbank in MS-Access |  
|  | Einlesen, Strukturieren und Aufbereiten der Rohdaten unter Verwendung von Access-Basic |  
|  | Konzeption des Dienstes |  
|  | Konvertierung und Übertragung der Access-Datenbank in eine mSQL-Datenbank unter Linux |  
|  | Entwurf und Implementierung der Internet-Seiten zur Datenbankabfrage mit Meta-HTML |  
|  | Dokumentation |  | 
| Projekt 09
 
 | 
| Zeitraum | November 1997 - Januar 1998 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Uni, Forschung, Maschinenbau | 
| Firma / Institution | Universität Erlangen-Nürnberg, Lehrstuhl für Konstruktionstechnik | 
| Umgebung | Sun Sparc/Ultra WS, SunOS/Solaris, C, C++, CAD, FEM, Pro/ENGINEER, Pro/DEVELOP, Pro/TOOLKIT, Emacs | 
| Aufgabe | Konzeption und Implementierung eines C++ - Moduls zur automatischen Erkennung und
                Unterdrückung von Geometrieelementen, die für die FEM-Berechnung keine Relevanz besitzen.
                Im Rahmen des Projekts "Synthese- und Analysesystem zur Gestaltung und Überprüfung von
                montage- und demontagegerechten Baugruppen flächiger Leichtbauteile". | 
| Projekt 08
 
 | 
| Zeitraum | August 1997 - Oktober 1997 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Uni, Forschung, Maschinenbau | 
| Firma / Institution | Universität Erlangen-Nürnberg, Lehrstuhl für Konstruktionstechnik | 
| Umgebung | Sun Sparc/Ultra WS, SunOS/Solaris, C, C++, CAD, FEM, IGES, PATRAN, Pro/ENGINEER, Pro/FEM, Pro/DEVELOP, Pro/TOOLKIT, Emacs | 
| Aufgabe | Konzeption und Implementierung eines C++ - Moduls zur Übertragung von FEM-Randbedingungen
                (Kräfte, Momente, Lagerstellen, etc.) von Pro/Engineer bzw. Pro/FEM zum FEM-Programm
                PATRAN, auf Basis der Geometrieübertragung mit IGES. Im Rahmen des Projekts "Synthese-
                und Analysesystem zur Gestaltung und Überprüfung von montage- und demontagegerechten
                Baugruppen flächiger Leichtbauteile". | 
| Projekt 07
 
 | 
| Zeitraum | Mai 1997 - Januar 1998 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Uni, Forschung, Maschinenbau | 
| Firma / Institution | Universität Erlangen-Nürnberg, Lehrstuhl für Konstruktionstechnik | 
| Umgebung | Sun Sparc/Ultra WS, SunOS/Solaris, C, C++, CAD, Pro/ENGINEER, Pro/DEVELOP, Pro/TOOLKIT, Emacs | 
| Aufgabe | Festlegung der Grundstruktur und technische Betreuung eines Synthese- und
                Analysesystems zur Gestaltung und Überprüfung von montage- und demontagegerechten
                Baugruppen flächiger Leichtbauteile. Betreuung und Einarbeitung von HiWis, Studien-
                und Diplomarbeitern. | 
| Projekt 06
 
 | 
| Zeitraum | Januar 1997 - Januar 1998 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Forschung, Maschinenbau | 
| Firma / Institution | Privat | 
| Umgebung | SGI Onyx, Sun Sparc/Ultra WS, IRIX, SunOS/Solaris, C, GL, CAD, Pro/ENGINEER, AutoCAD, Emacs | 
| Aufgabe | Erarbeitung eines kinematischen Prinzips für ein stufenloses Getriebe, Implementierung
                einer dreidimensionalen, graphischen Computersimulation des Prinzips und Konstruktion
                eines 3D-CAD-Modells eines Prototyps zur Demonstration. | 
| Beschreibung |  | 
                Das kinematische Prinzip erlaubt ein stufenloses Getriebe, das nahezu reibungsfrei
                arbeitet, d.h. nicht auf dem Reibprinzip beruht, die Übertragung großer Leistungen
                (Drehzahlen und Momente) zulässt und - über eine Antriebsumdrehung hinweg gesehen - ein
                vollkommen konstantes Übersetzungsverhältnis gewährleistet.
             | 
| Tätigkeiten |  | 
|  | Erarbeitung der mathematischen und kinematischen Grundlagen |  
|  | Implementierung einer dreidimensionalen, graphischen Computersimulation des Prinzips mit C und GL |  
|  | Konstruktion eines 3D-CAD-Modells eines Prototyps zur Demonstration mit Pro/ENGINEER |  
|  | Ausführliche, illustrierte Beschreibung |  | 
| Projekt 05
 
 | 
| Zeitraum | November 1996 - März 1997 | 
| Arbeitsweise | Vollzeit | 
| Branche(n) | Uni, Forschung, Maschinenbau | 
| Firma / Institution | TU Darmstadt, Institut für Flugmechanik und Regelungstechnik | 
| Umgebung | SGI Onyx, IRIX, C, C++, lex, OpenGL, Emacs | 
| Aufgabe | Weiterentwicklung, Dokumentation und Pflege der Flugführungsdisplays, Durchführung
                von Flugversuchen, Entwicklung eines automatischen Dokumentations-Tools, Betreuung
                und Einarbeitung von HiWis, Studien- und Diplomarbeitern. | 
| Projekt 04
 
 | 
| Zeitraum | April 1996 - Oktober 1996 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Uni, Forschung, Maschinenbau, Industrie, Automobil | 
| Firma / Institution | TU Darmstadt, Institut für Datenverarbeitung in der Konstruktion in Zusammenarbeit mit der Mercedes-Benz AG, Sindelfingen und dem Fraunhofer Institut für Graphische Datenverarbeitung, Darmstadt | 
| Umgebung | IBM Workstation, AIX, CAD, CATIA, Syrco | 
| Aufgabe | Konzeption generischer CAD-Montage-Features auf Basis der Anforderungen in der
                Betriebsmittelkonstruktion der Mercedes-Benz AG. Diplomarbeit. | 
| Tätigkeiten |  | 
|  | Einarbeitung in die CAD-Systeme Syrco und CATIA |  
|  | Detaillierte Beschreibung des CAD-Konstruktionsvorganges in der Betriebsmittelkonstruktion anhand eines Beispiels |  
|  | Analyse von Automatisierungs- und Rationalisierungspotentialen |  
|  | Entwurf einer feature-basierten Modellstruktur unter Berücksichtigung der gewonnenen Erkenntnisse, die den Aufbau und die Montagelogik des
                    Produkts vom geometrischen Grundelement über Baugruppen bis zum Gesamtmodell abbilden kann,
                    und dabei die vorhandenen Rationalisierungspotentiale nutzt |  | 
| Projekt 03
 
 | 
| Zeitraum | März 1995 - März 1996 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Uni, Forschung, Maschinenbau | 
| Firma / Institution | TU Darmstadt, Institut für Produktionstechnik und Umformmaschinen | 
| Umgebung | HP 9xx, HPUX, C, FEM, X11, OSF-Motif, VOGL, Emacs | 
| Aufgabe | Konzeption und Implementierung eines graphisch-interaktiven Analyse-Tools zur Auswertung
                von Finite-Element-Simulationen zur Optimierung von Walzprofilierwerkzeugen für beliebige
                Profilformen. Zweite Studienarbeit, im Team mit einem Komillitonen. | 
| Beschreibung |  | 
                In der FEM-Simulation des Walzprofiliervorgangs wird ein virtuelles Blechband durch eine virtuelle
                Walzprofilieranlage verformt. Für die so erzeugten Profile werden
                je nach Profilform (z.B. U- oder L-Form) verschiedene Kennwerte (z.B. Bandkantenwelligkeit,
                Säbelbildung, verschiedene Maße und Winkel, etc.) definiert,
                deren Abweichung vom Idealwert einen Maßstab für die Qualität der Umformung darstellt.
                Als Output der FEM-Simulation steht eine geordnete Punktemenge zur Verfügung,
                die das verformte Blech repräsentiert.
             | 
| Tätigkeiten |  | 
|  | Implementierung folgender Funktionalitäten: |  
|  | Visualisierung des erzeugten Blechs in verschiedenen Ansichten und Schnitten |  
|  | Interaktive, graphische Definition von beliebigen Kennwerten durch den Benutzer |  
|  | Automatische Berechnung der Kennwerte nach jeder Simulation |  
|  | Visualisierung der berechneten Kennwerte, sowie deren Abweichung vom Idealwert in allen Schnitten und Ansichten |  
|  | Automatische Erstellung von Statistiken |  
|  | Laden, Speichern, Ändern und Drucken der Kennwerte, Auswertungen und Statistiken |  
|  | Durchgehende, benutzerfreundliche Bedienung über X11 bzw. OSF-Motif-Oberfläche |  | 
| Projekt 02
 
 | 
| Zeitraum | Dezember 1994 - Januar 1996 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Uni, Forschung, Maschinenbau | 
| Firma / Institution | TU Darmstadt, Institut für Flugmechanik und Regelungstechnik | 
| Umgebung | SGI Crimson, SGI Onyx, IRIX, C, GL, OpenGL, Emacs | 
| Aufgabe | Umrüstung des am Institut entwickelten, rechnergestützten Flugführungsdisplays
                auf eine stereoskopische Anzeige. | 
| Projekt 01
 
 | 
| Zeitraum | Dezember 1993 - November 1994 | 
| Arbeitsweise | Teilzeit | 
| Branche(n) | Uni, Forschung, Maschinenbau | 
| Firma / Institution | TU Darmstadt, Institut für Flugmechanik und Regelungstechnik | 
| Umgebung | SGI Crimson, IRIX, C, GL, Emacs | 
| Aufgabe | Versuche zum stereoskopischen Sehen: Entwicklung von Werkzeugen und Algorithmen zur
                Anwendung der Stereoskopie auf einem Graphikrechner (SGI Crimson R 4000-50 VGX) und
                systematische Konzeption von Versuchsreihen. Erste Studienarbeit. |