Analyse / Design: |
Unified Modelling Language
(+)
(-)
- Use Cases: häufig in Projekten angewendet, Analyse
- Class Diagrams: häufig in Projekten angewendet, alle Projektphasen
- Sequence Diagrams: gelegentlich, mit Reverse-Engineering, zur Dokumentation
- Collaboration Diagrams: gelegentlich, mit Reverse-Engineering, zur Dokumentation
- Statechart Diagrams: gelegentlich verwendet
- Activity Diagrams: häufig in Projekten angewendet
- Component Diagrams: gelegentlich verwendet
- Deployment Diagrams: gelegentlich verwendet
Spezielle Together-Diagramme
(+)
(-)
- Web Application:
in einem Projekt verwendet, als
übersicht über das UI,
welches mit JSPs und Servlets realisiert wurde
|
Implementierung: |
.NET / C#: my favorite ;-)
(+)
(-)
- .NET Framework (viele Projekte)
- .NET Compact Framework (für Pocket PC) (2 Projekte)
- ASP.NET (viele Projekte)
- ADO.NET (viele Projekte)
- NUnit, NUnitASP (ein Projekt)
- Visual Studio Team System (VSTS) Unit Tests (mehrere Projekt)
- Selenium (Qualitätssicherung Web-Oberfläche, ein Projekt)
- log4net (sämtliche .NET-Projekte)
- NDoc (mehrere .NET-Projekte)
Java (JDK 1.0 bis Java 2 SE 1.4, J2ME, J2EE): Projekterfahrung;
Projekterfahrung mit folgenden Java-APIs
(+)
(-)
-
Collections Framework: Anwendung in fast allen Java-Projekten
-
Swing Components: zwei Projekte
- J2ME
mit MIDP 1.0,
sowie proprietäre Erweiterungen von
Nokia
und
Siemens:
zwei Projekte;
MMAPI usw., MIDP 2.0, Mobile 3D Graphics API for J2ME:
ein Projekt
-
Pluggable Look & Feel: ein Projekt
-
JDBC: Grundfunktionalität, zwei Projekte
-
JavaServer Pages: ein Projekt, Taglibs nur Grundkenntnisse
-
Java Servlet: ein Projekt
-
Remote Method Invocation (RMI): ein Projekt
-
Java IDL: ein Projekt
-
J2EE Client Access Services (J2EETM CAS) COM Bridge 1.0: evaluiert
-
JavaMail: ein Projekt, Grundfunktionalität
-
Java Media Framework: ein Projekt, Grundfunktionalität
-
Java Advanced Imaging: ein Projekt, Grundfunktionalität
-
JAXP: mehrere Projekte, DOM und SAX
- JDOM: mehrere Projekte
-
Jakarta Log4J: alle Java-Projekte ab 2001
-
JTidy: ein Projekt
-
Jakarta ORO RegExp: ein Projekt
-
JUnit: ein Projekt, einige Testcases
-
JIntegra: ein Projekt
Kleine Testprojekte mit folgenden Java-APIs
(+)
(-)
C/C++: Projekterfahrung
(+)
(-)
- Pocket PC 2002
- Win32 API
- Microsoft Foundation Classes (MFC)
- ActiveSync
Weitere Programmiersprachen:
(+)
(-)
- Javascript: Kenntnisse für HTML-basiertes User-Interface
- Visual Basic, Visual Basic .NET: Projekterfahrung (mehrere Projekte), Schulungen
- PERL: Grundkenntnisse, Guestbook implementiert
- JPL (Jam Prolifics Language): Grundkenntnisse, ein Projekt
- Assembler: akademische Grundkenntnisse
|
Datenbanken: |
Anfragesprachen
(+)
(-)
- SQL: solide Kenntnisse, einschließlich Programmierung von Stored Procedures in Transact-SQL (SQL Server) und PL/SQL (Oracle)
Relationale Datenbanksysteme
(+)
(-)
- Microsoft SQL Server ab 2000: Installation, Zugriff über JDBC, ADO.NET, Schema-Design einschl. Programmierung von Stored Procedures, diverse Tools
- MySQL ab 5.0: Installation, Einrichtung zur Verwendung mit PHP-basierten Web-Anwendungen
- Oracle ab 8i: Installation, Zugriff über JDBC, ADO.NET, Schema-Design inkl. Programmierung von Stored Procedures, TOAD
- Sybase SQL Anywhere: Installation, Zugriff über JDBC, einige Tools benutzt
- MS Access: mehrere mittelgroße Projekte, Access-Anwendungen
Objektorientierte Datenbanksysteme
(+)
(-)
|
Markup-Sprachen: |
- (X)HTML: vor allem das X - d.h. sauberes, handgeschriebenes HTML
(s.u.)
- CSS: für Formatierung von (X)HTML
- XML: einige DTDs entwickelt, Bearbeitung über SAX/DOM/JDOM in Java
- XSL: solide Kenntnisse
- VRML:
privater Gebrauch, mit Tool-Unterstützung, solide Kenntnisse
|
Kommunikation: |
- TCP/IP: akademische Kenntnisse der gesamten Protokollfamilie
(einschl. Anwendungsprotokolle HTTP, POP3, SMTP, FTP etc.)
- CORBA: ein Projekt
- RMI: zwei Projekte
- (D)COM: ein Projekt, Java2COM-Bridge, Kommunikation mit Delphi-Anwendung
|
Werkzeuge: |
IDEs
(+)
(-)
- MS Visual Studio 2002/2003/2005/2008 (.NET): my favorite ;-), alle .NET Projekte, C++ Projekt
- Unity ab 2.0: Spiel-Projekte
- Eclipse: alle Java-Projekte ab 2002
- Borland JBuilder: alle Java-Projekte bis 2002
- Togethersoft Together: mehrere Projekte, bis 2002
- MS eMbedded VC++: ein Projekt
- IBM Visual Age Java: evaluiert
- Rational Rose: evaluiert
- Prolifics JAM: für ein Projekt verwendet
Build Tools
(+)
(-)
Versionskontrolle
(+)
(-)
- Team Foundation Server (TFS): aktuelle Projekte
- Unity Asset Server: aktuelle Spiel-Projekte
- Subversion: mehrere Projekte
- MS Visual Source Safe: mehrere Projekte
- Subversion: ein Projekt (Java / Eclipse)
- CVS: gute Anwender-Kenntnisse, verschiedene Frontends, auch Administration
Performance-Optimierung
(+)
(-)
- JProbe Profiler: für ein Projekt verwendet
Sonstiges
(+)
(-)
- Dreamweaver: Als HTML-Tool für Webdesign
- Photoshop: Aufbereitungen von Graphiken für Web und Spiele
- Flash: Grundkenntnisse einschl. Programmierung ActionScript, mehrere Projekt
- Cubase: Musik und Sound-Effekte für Spiele
- Komplete: Musik und Sound-Effekte für Spiele
- Cheetah 3D: 3D-Modelling für Spiele
- Modo: 3D-Modelling für Spiele
- Final Cut Studio: Aufbereitungen von Trailern / Webcasts für Spiele
- Cosmo Worlds: private Anwendung (als VRML noch hip war ;-) )
- RealSoft3D: private Anwendung
- XEmacs: zeitweise als Editor verwendet
|
Server: |
- Microsoft Internet Information Server 5.0/6.0: mehrere Projekte, ASP.NET Web-Anwendungen, Webservices
- Apache HTTP Server 1.3: Administrationskenntnisse (Linux)
- Jakarta Tomcat 4.0: Administrationskenntnisse, einschl. Apache-Anbindung
- JBoss 3.2.3: mehrere Projekte, einfache Administration
|
Betriebssysteme: |
- MacOS X: Anwenderkenntnisse
- Windows 95/98/NT/NT-Server/2000/2000-Server/XP/2003: Administratorkenntnisse
- MS-DOS: Administratorkenntnisse
- Unix (HP-UX, Linux, Solaris): Anwenderkenntnisse
|
12/2007-dato
Aufwand bisher ca. 180 Tage
|
Das Projekt ist derzeit noch in Bearbeitung, eine detaillierte Beschreibung erfolgt
nach Abschluss des Projektes.
Entwicklung des Multiplayer-Spiels Traces of Illumination basierend auf Lightcycles ("Tron"):
- Game-Design
- Entwicklung der Client-Software unter Verwendung der Unity Game-Engine
- Entwicklung der Server-Software unter Verwendung der Unity Game-Engine
- Entwicklung der 3D-Modelle mit Cheetah3D und Modo
- Level-Design mit Cheetah3D, Modo und Unity
- Anpassung einiger Shader für die konkreten Bedürfnisse des Projektes
- Komposition und Produktion des kompletten Soundtracks
- Design der Sound-Effekte
- Design und Implementierung der Persistenz-Schicht (Spieler-Zustände usw.)
- Portierung für iOS (iPhone 3GS, iPhone 4, iPad) und Google Android (Google Nexus One)
- Design und Implementierung eines Award-Systems
- Website mit Benutzerverwaltung, Blog, Foren, High-Scores etc. zum Spiel, unter Verwendung von DotNetNuke
Werkzeuge / APIs / Server:
- MS Visual Studio 2008: Implementierung (C#)
- Unity Game-Engine: Authoring
- Unity Asset Server: Versionsverwaltung
- Cheetah3D: Modelling
- Modo: Modelling
- Cubase: Audio-Sequencer
- Komplete: Sound-Design
- MS SQL Server 2008: Persistenz
- DotNetNuke: Portal-System für Website
Referenzen:
|
10/2006-dato
Aufwand ges. ca. ? Tage
|
Das Projekt ist derzeit noch in Bearbeitung, eine detaillierte Beschreibung erfolgt
nach Abschluss des Projektes.
Weiterentwicklung eines LMS (Learning Management Systems):
- Portierung einzelner Module von .NET 1.1 auf .NET 2.0
- Anpassung der Administrationsoberfläche an ein proprietäres Administrationsframework
- Qualitätssicherung durch automatisiertes Testing
- Erstellung von automatischen Build-Scripten mit MSBuild und Powershell
- Erweiterungen im Modul Seminarverwaltung
- Entwicklung eines SQL-basierten Reporting-Moduls
- Entwicklung von verschiedener Tools zur Verwaltung / Bearbeitung der Lokalisierungsdateien für verschiedene Kunden
- Umsetzung neuer SCORM-Empfehlungen (Import von Lernprogrammen, Lernstandsauswertungen etc.)
Werkzeuge / APIs / Server:
- MS Visual Studio.NET 2005: Implementierung, Debugging (C#/ASP.NET)
- MS SQL Server (Persistenz)
- Team-Foundation-Server (Versionsverwaltung, Task-Management, Bug-Tracking)
- Visual Studio Team System (VSTS) Unit Testing (Qualitätssicherung Geschäftslogik)
- Selenium (Qualitätssicherung Web-Oberfläche)
|
09/2006-09/2006
Aufwand ges. ca. 13 Tage
|
Erweiterung eines LMS (Learning Management Systems) um eine einfache Seminarverwaltung:
- Datenmodellierung der Präsenzseminare
- Zustandsmodell für die Seminare (Buchungen, Einladungen usw.)
- Versenden von E-Mails bei verschiedenen Events (Buchung, Stornierung / seitens des Benutzers, seitens des Administrators)
Werkzeuge / APIs / Server:
- MS Visual Studio.NET 2003: Implementierung, Debugging (C#/ASP.NET)
- MS SQL Server (Persistenz)
- Excel-Integration (Export der Daten in Excel-Dateien)
|
05/2006-08/2006
Aufwand ges. ca. 43 Tage
|
Integration einer Makler-Datenbank in einem LMS (Learning Management System):
- Für einen Kunden sollte in eine web-basierte Lernplattform eine Makler-Datenbank integriert werden
- Relationales Design des Datenmodells
- Entwicklung sämtlicher Stored Procedures für Datenänderungen und zum Datenabruf
- Implementierung der Berechnungen für im Maklerumfeld für Bewertungen notwendige Kennzahlen
- Entwicklung der kompletten GUI in ASP.NET mit CSS
- Import der Daten aus CSV-Dateien, die von einem Großrechner geliefert werden
- Export der Daten für einen Offline-Client in eine Excel-Arbeitsmappe mit mehreren Worksheets
Werkzeuge / APIs / Server:
- MS Visual Studio.NET 2003: Implementierung, Debugging (C#/ASP.NET)
- MS SQL Server (Persistenz)
- Excel-Integration (Export der Daten in Excel-Dateien)
|
09/2005-06/2006
Aufwand ges. ca. 80 Tage
|
Platzgenaues Kino-Ticketing für Handies:
- Idee und Konzeption entwickelt
- Kunden gesucht und gefunden, Preisverhandlungen
- Umsetzung basierend auf dem Cinetixx-Ticketing System von CreateCtrl (siehe "Entwicklung einer komplexen Web-Anwendung zum Online-Ticketing für verschiedene Endkunden")
- Entwicklung eines für GPRS/UMTS optimierten, Bandbreite-sparenden Übertragungsprotokolls zwischen Webserver und Mobiltelefon
- Handy-gerechte Benutzerverwaltung (alle komplexen Funktionalitäten laufen über die Webseite, z.B. Registrierung als neuer Benutzer, Einschränkung des Kinoprogramms auf die eigene Stadt und persönliche Einstellungen)
- Konzeption und Umsetzung einer eleganten Navigation durch das Kinoprogramm, die sich dem Benutzer und seinen Suchgewohnheiten automatisch anpasst
- Auswahl der Plätze in einem 2D-Saalplan
- Auswahl der Plätze in einem 3D-Saalplan mit verschiedenen Ansichten
- Durchführung des Kauf-Prozesses (bzw. Reservationsprozesses)
- Aufladen von Kundenkarten mittels Kreditkarte
- Testing und Qualitätssicherung auf ca. 25 verschiedenen Handy-Modellen
- Durchführung eines Feldtests zur Funktionalität und Akzeptanz bei den Kunden
- Diverse Auswertungen und Kundenstatistiken im laufenden Betrieb
- Second-Level Support
Werkzeuge / APIs / Server:
- Eclipse: Implementierung, Debugging (Java/J2ME) für Client
- MS Visual Studio.NET 2003: Implementierung, Debugging (C#/ASP.NET) für Server
- Oracle (Persistenz)
- Subversion: Versionsverwaltung Client (in Eclipse integriert)
- VSS: Versionsverwaltung Server (in VS.NET 2003 integriert)
|
06/2004-09/2005
Aufwand ges. ca. 200 Tage
|
Entwicklung einer komplexen Web-Anwendung zum Online-Ticketing für verschiedene Endkunden:
-
Design einer Datenbank- und Anwendungs-Abstraktionsschicht für eine Web-Anwendung, die auf Datenbank-Modelle von
verschiedenen (ähnlichen) Ticketing-Anwendungen über eine einheitliche Schnittstelle zugreifen kann
(Unterschiede: teilweise mandatenfähig, teilweise nicht mandantenfähig, teilweise mehrsprachig, teilweise einsprachig usw.)
-
Design einer Web-GUI-Abstraktionsschicht, die unterschiedliche „Skins“ für verschiedene Endkunden ermöglicht,
sowie teilweise unterschiedliche Geschäftsprozesse abbildet (insbesondere Abbildung verschiedener Buchungsprozesse)
- Design eines gemeinsamen, modularen Applikationskerns
- Entwicklung einer Flash-basierten Saalplanansicht
- Entwicklung sämtlicher Prozesse (Registrierung, Buchungsprozess, Bestellungen und Hinzufügen von Kundenkarten, komplette Kreditkartenabwicklung usw.)
- Diverse Zusatzfeatures wie z.B. "Postkarten"
-
In Spitzenzeiten wurden über das System 1500 Tickets pro Stunde verkauft, inkl. Kreditkartentransaktionen usw.
(Single-Webserver, Single-DB-Server, www.ticketone.ch beim Vorverkauf für "Kino im HB" in Zürich, Schweiz)
- Second-Level Support
- Siehe auch: http://www.kitag.com, http://www.cinetixx.de, http://www.ticketone.ch
Werkzeuge / APIs / Server:
- MS Visual Studio.NET 2003: Implementierung, Debugging (C#/ASP.NET)
- MS Visual Source Safe: Versionsverwaltung
- Oracle: Persistenz
- IIS 5.0/6.0: Webserver
|
03/2005-03/2005
Aufwand ges. ca. 8 Tage
|
Ein LMS (Learning Management Systems) Firefox-kompatibel gemacht:
-
Eine komplexe Web-Anwendung, die in einigen Bereichen auf dem Firefox-Browser Darstellungsfehler hatte,
welche die Anwendung teilweise unbenutzbar machten so geändert, dass die komplette Anwendung im
Firefox korrekt dargestellt wird – besonders waren hierbei einige Konstrukte zu beachten, die im
Internet Explorer über HTML lösbar waren, im Firefox jedoch die Verwendung von JavaScript
notwendig machten
Werkzeuge / APIs / Server:
- MS Visual Studio.NET 2003: Implementierung, Debugging (C#/ASP.NET)
- HTML / CSS / JavaScript
|
10/2004-11/2004
Aufwand ges. ca. 25 Tage
|
Customizing einer Lernplattform für einen Endkunden:
- Qualitätssicherung mittels Unit-Tests, implementiert mit NUnit und NUnitAsp (dazu entsprechendes Test-Design entwickelt, auf welches die anderen Mitarbeiten aufsetzen konnten)
- Entwicklung eines Moduls für Präsenzseminare
- Implementierung einer "Lernstandsauswertungsansicht", in welcher der aktuelle Lernstand eines Lerners geprüft werden kann bzw. in welcher der Lerner seinen aktuellen Lernstand selbst prüfen kann
- Coaching der anderen Mitarbeiter bei der Anwendung des Microsoft Application Test Center zur Durchführung von Last-Tests
- Nutzung von Web-Services, um Unit-Testing von ASP-Seiten in komplexer Web-Anwendung sauber zu realisieren
- Kursviewer für WBTs erweitert
Werkzeuge / APIs / Server:
- MS Visual Studio.NET 2003: Implementierung, Debugging (C#/ASP.NET)
- MS Visual Source Safe: Versionsverwaltung
- MS SQL Server 2000: Persistenz
|
09/2004-09/2004
Aufwand ges. ca. 15 Tage
|
Technische Analyse WBTs, Entwicklung diverser kleiner WinForms-Tools:
- Verschiedene Ansätze zur Umsetzung von WBTs analysiert, bestehende technische Umsetzung bewertet und dokumentiert, hierbei auch Prüfung von SCORM-Konformität
-
Ein Windows-basiertes Tool zur Übersetzung von Ressourcen-Dateien entwickelt, einschl. "Standard-Begriffen",
die immer gleich übersetzt werden sollen (mit Highlighting und automatischer Anzeige der Standard-Übersetzung)
- Ein Tool zum Prüfen von IMS-Dateien entworfen und implementiert
- Erstellung eines SCORM-Test-WBTs, mit dem diverse SCORM-Funktionalität der Plattform leicht getestet werden können (u.a. für Cross-Browser-Testing)
Werkzeuge / APIs / Server:
- MS Visual Studio.NET 2003: Implementierung, Debugging (C#/WinForms)
- MS Visual Source Safe: Versionsverwaltung
- MS SQL Server 2000: Persistenz
- XML als Datenformat
- SCORM-API
|
03/2004-08/2004
Aufwand ges. ca. 75 Tage
|
Weiterentwicklung einer Lernplattform:
- Zugriff auf die MS SQL Server 2000 Datenbank mit ADO.NET (Stored Procedures für Änderungen und Datenabruf)
- Implementierung eines „Bildungscontrolling“, bei dem verschiedene Daten des Lerners getrackt und über Auswertungen aufbereitet dargestellt werden (Auswertungen sowohl in HTML-Ansichten, als auch als CSV-Export), Tracking unter Verwendung von JavaScript
- Implementierung einer JavaScript-basierten HTML-Baumstruktur zur Navigation in hierarchischen Daten
- Konzepte für Qualitätssicherung entwickelt
- Diverse wesentliche Refactorings um die Wartbarkeit des Systems zu erhöhen (auf allen Ebenen, von Datenbank-Schema bis C#-GUI-Klassen)
- Wesentliche Anpassungen zur Mandantenfähigkeit der Lernplattform
- Einführung eines sauberen Logging mittels log4net
- Templates für MS Visual Studio entwickelt, um Entwicklungsprozess zu optimieren (einschl. entsprechender Codestyle-Richtlinien)
- Dokumentation mittels UML-Diagrammen, sowie proprietären SQL-Server Tabellendiagrammen
- API-Dokumentation mittels NDoc
Werkzeuge / APIs / Server:
- MS Visual Studio.NET 2003: Implementierung, Debugging (C#/ASP.NET)
- MS Visual Source Safe: Versionsverwaltung
- MS SQL Server 2000: Persistenz
- IIS 5.0/6.0: Webserver
|
11/2003-12/2003
Aufwand ges. ca. 15 Tage
|
Entwicklung eines Web-Frontend für ein Ticket-Bestellsystem
mit Platzauswahl.
-
Zugriff auf die Oracle Datenbank mit ADO.NET (Stored Procedures
für Änderungen)
-
Entwicklung einer Geschäftslogik-Schicht, um Datenbankzugriffe
zu kapseln
-
Darstellung von Saalplänen mit dynamisch generiertem HTML
-
Benutzerverwaltung und kompletter Bestellvorgang
Werkzeuge / APIs / Server:
- MS Visual Studio.NET 2003: Implementierung, Debugging (C#/ASP.NET)
- MS Visual Source Safe: Versionsverwaltung
- Oracle: Persistenz
|
09/2003-11/2003
Aufwand ges. ca. 20 Tage
|
Eine Web Anwendung entwickelt, mit der Kunden Berechnungen
zur Auswahl von Luftkühlern anstellen können.
-
Zugriff auf eine in Fortran implementierte DLL von der
.NET Umgebung aus.
-
Entwicklung der Benutzerschnittstelle
-
Entwicklung der Datenbank und Logik, mit Benutzerverwaltung usw.
Werkzeuge / APIs / Server:
- Visual Studio.NET 2003: Implementierung, Debugging (C#/ASP.NET)
- Eclipse und CVS: Versionsverwaltung
- iTextSharp: Ausgabe der Berechnungsergebnisse in PDF
- MS SQL Server: Persistenz
- Windows 2003: Deployment, Hosting
|
09/2003-10/2003
Aufwand ges. ca. 6 Tage
|
Beratung und Entwicklung eines Systems zur Berechnung von
Provisionen auf Basis von Access und Excel unter Verwendung
von Visual Basic for Applications. Dabei auch Vermittlung der
entsprechenden Kenntnisse in VBA an zwei Mitarbeiter von Bosch.
-
Entwicklung einer Access-Datenbank zur Datenhaltung
-
Anbindung einer Pivot-Tabelle in Excel an die Access-Daten
-
Auswertung und Formatierung der Pivot-Tabelle mit VBA
-
Automatisches Erzeugen von PDF Dateien von VBA aus mit MakePDF
Werkzeuge / APIs / Server:
|
07/2003-09/2003
Aufwand ges. ca. 27 Tage
Scoring Client ca. 12 Tage
Scoring Server ca. 6 Tage
Popup Timer ca. 1 Tag
LiveTracking ca. 2 Tage
Projektleitung ca. 5 Tage
|
Für das Golf BMW International Open 2003 eine Pocket PC 2002
Anwendung als Promotion für den Golf Event erstellt.
Die Anwendung läuft auf Pocket PC 2002 Geräten, welche von
Besuchern des Events ausgeliehen werden.
Sie besteht aus mehreren Komponenten: LiveScoring zur
aktuellen Anzeige und Auswertung der Schläge der Spieler.
PopupTimer, um die Besucher zu begrüßen und auf
verschiedene Specials aufmerksam zu machen (Fragebogen,
Probefahrt mit dem neuen BMW 5er). LiveTracking,
mit dem die einzelnen Flights verfolgt und die Schläge
jedes Spielers graphisch dargestellt werden können.
-
Entwicklung einer Client/Server-Architektur für das
LiveScoring, mit der XML-Daten von der PGA zwischengespeichert
und aufbereitet wurden, so daß die Pocket PCs über das
WLAN nur inkrementelle Updates beziehen müssen
-
Entwicklung einer sehr schnellen und optisch ansprechenden
Table-Komponente zur Darstellung
der Spielerdaten einschl. Einfärbung einzelner Zellen je nach
Abstand zum PAR (Par, Birdie, Albatros, Boogie usw.). Hier war
der gesamte Entwicklungsprozess auf eine hohe Darstellungsperformance
auch bei sehr großen Datenmengen ausgerichtet.
-
Entwicklung des LiveScoring Clients
-
Entwicklung des PopupTimer-Clients
-
Entwicklung einer einfachen JSP und XSL-basierten Web Anwendung
als Rahmen für den LiveTracking-Client, die graphischen Daten
werden extern vorbereitet
Werkzeuge / APIs / Server:
- Eclipse: Implementierung, Debugging (Java)
- Visual Studio.NET 2003: Implementierung, Debugging (C#/.NET)
- CVS / WinCVS / Eclipse: Versionskontrolle
-
.NET Compact Framework mit C# als Implementierungssprache für
alle Client-Anwendungen (LiveScoring, PopupTimer)
- J2EE mit EJB-CMP für die Server
(LiveScoring, LiveTracking), auf JBoss 3.2.1 mit Jetty
- JSPs/Servlets
- Debug-Logging mit Log4J
- Zugriff auf XML-Feeds der PGA für das LiveScoring mit JDOM
-
Ant und XDoclet für einen komfortablen, einfachen Build-Prozess
einschl. automatische Erzeugung der nötigen EJB-Dateien
(Interfaces, Implementierungen, Konfigurationsdateien)
|
12/2002-06/2003
Aufwand ges. ca. 37 Tage
Client ca. 30 Tage
Server ca. 7 Tage
|
Einen Sport-News-Service für Pocket PC 2002 und Palm
entwickelt. Das Projekt besteht aus mehreren Komponenten:
Ein Windows-Dienst, welcher News-Pakete von einem Lieferanten
auswertet und für Palm und Pocket PC aufbereitet.
Synchronisations-Clients für Palm und Pocket PC, welche
die Daten von einem Server herunterladen und auf die Geräte
überspielen. Clients auf den Geräten zur Darstellung und
Navigation innerhalb der Daten. Meine Aufgabe war die Entwicklung
des Pocket PC Synchronisations-Clients und des Pocket PC Clients
zur Darstellung der Daten. Im Verlauf des Projektes habe ich
jedoch auch den Windows-Dienst und die komplette Administration
des Systems übernommen:
-
Einbettung des Internet Explorer for Pocket PC ActiveX-Controls
in eine eigene Anwendung
-
Entwicklung eines ActiveSync-Service Providers, der die News
von einem Webserver auf die Geräte spielt
-
Entwicklung einer Template-Engine, mit der aus einer Datenquelle
sowohl für Palm als auch für Pocket PC in zwei Sprachen die News
in HTML erzeugt werden konnten
-
HTML-Design für Internet Explorer für Pocket PC und einen
proprietären HTML-Viewer für Palm OS: übersichtsseiten zur
Navigation in die verschiedenen Sportarten, News-übersichten mit
Headlines und Links zu den Artikeln, News-Artikel. Dabei hat
jede Sportart ein eigenes Design.
-
Erweiterungen der Funktionalität, sowie Bugfixes und Optimierungen
am Windows-Dienst, der die Nachrichten von einem externen
Anbieter empfängt und für die Geräte aufbereitet
-
Planung und Implementierung/Administration eines Server-Systems
mit sehr begrenzten Ressourcen, bestehend aus: FreeBSD-Server, auf
den die Daten per SCP übermittelt werden - bereits hier ist eine
Vor-Verarbeitung der Daten notwendig; Windows-Server, auf dem die
Daten für die Geräte aufbereitet werden; Linux-Server, welcher die
verarbeiteten Pakete für die Geräte zur Verfügung stellt (die Pakete
werden per SCP auf diesen Webserver hochgeladen)
Werkzeuge / APIs / Sprachen / Server:
-
MS eMbedded C++ 3.0: Implementierung des Pocket PC Clients
(als MFC Anwendung) und der Device-Komponente des
ActiveSync-Providers
-
MS Visual C++ 6.0: Implementierung der Desktop-Komponente des
ActiveSync-Providers
-
MS Visual Studio.NET 2002: Erweiterungen des Windows-Dienstes zur
Aufbereitung der Datenpakete,
Implementierungssprache: Visual Basic.NET
- CVS / Eclipse: Versionskontrolle
-
FreeBSD / Java: Vorverarbeitung der Datenpakete
(Java-Anwendung, die als Cronjob aufgerufen wird),
Kopieren der Daten auf eine Windows-Freigabe über mount_smbfs
-
SuSE-Linux / Apache: WebServer, auf den die Daten per SCP aufgespielt
werden
|
10/2002-06/2003
|
Konzeption und Entwicklung eines News-Systems für Handies.
Das System bietet dem Benutzer eine Menge hierarchisch organisierter
Channels, in denen News zunüchst in Form von Schlagzeilen
erscheinen. Bei Interesse kann der Benutzer sich den kompletten
Artikel mit optionaler Graphik anzeigen. Der Client unterstützt
weitreichende Personalisierungsmöglichkeiten, u.a. Skins.
-
Konzeption, Design, Implementierung von Server und Client
-
Entwicklung eines Prozesses, welcher die News aus verschiedenen
Quellen für das System aufbereitet (XML-Datenfeeds,
Webseiten usw.)
-
Entwicklung eines Billing-Systems
-
Qualitätssicherung auf diversen Geräten, darunter
Nokia 7650, Nokia 3650, Nokia 7210,
Siemens S55, Sony Ericsson P800, Samsung SGH-S100,
verschiedene BlackBerry Geräte, Motorola T720i
-
Gerätespezifische Anpassungen (z.B. Ausgabe von
Sounds auf auf Nokia 7650 und 3650 beim Eingang von speziell
markierten Nachrichten)
Werkzeuge / APIs / Server:
- Together: Analyse, Design
- JBuilder: Implementierung, Debugging (zu Beginn des Projekts)
- Eclipse: Implementierung, Debugging (ab Anfang 2003)
- CVS / WinCVS / Eclipse: Versionskontrolle
- J2EE mit CMP-EJBs für den Server, auf JBoss 3.2.1 mit Jetty
- Servlets (Controller)
- Debug-Logging mit Log4J
- Zugriff auf Webseiten mit News mit JTidy
- Zugriff auf XML-Newsfeeds mit JDOM
- Eigene XML-Formate zur Datenübertragung
- J2ME, MIDP 1.0 und proprietäre APIs (z.B. von Nokia und
Siemens) zur Implementierung des Clients als MIDlet
- Antenna mit Präprozessor-Funktionalität für
den Build-Prozess des Clients mit automatischer Erstellung
von Versionen für bestimmte Geräte
-
Ant und XDoclet für einen komfortablen, einfachen Build-Prozess
einschl. automatische Erzeugung der nötigen EJB-Dateien
(Interfaces, Implementierungen, Konfigurationsdateien)
|
11/2000-12/2002
Aufwand ca. 90 Tage
|
In eigener Regie, teilweise als Projekt- und Diplomarbeit
am
Institut für Informatik
der Ludwig Maximilians Universität München:
Konzeption und Entwicklung eines Systems zur kollaborativen
Benutzung des World Wide Web
(Projektseite,
Tutorial zur Software)
- Projektidee, komplette Konzeption etc.
- Literatursuche und -auswertung zu ähnlichen Projekten
- Design und Implementierung eines Prototypen in
mehreren iterativen Schritten
- Deployment unter SuSE Linux: JDK 1.3.1, Tomcat 4.0.1,
Apache 1.3.19
- Benutzerdokumentation / Entwicklerdokumentation
-
Feldversuch mit dem Prototypen und Auswertung
(Fragebogen in HTML, Auswertung über Servlet, welches
Antwort in XML speichert, XML-Antworten wurden u.a. via
XSL in SVG-Diagramme umgewandelt)
- Entwicklung einer XML-DTD für ein Dokument-Format für wissenschaftliche Arbeiten
-
Entwicklung eines XSL-Stylesheets zur Umwandlung in XML
(Beschreibung in Englisch)
-
Ausarbeitung der
Diplomarbeit
Werkzeuge / APIs / Server:
- Together: Analyse, Design, übersicht über JSPs mit Verlinkung
- JBuilder: Implementierung, Debugging
- CVS / WinCVS: Versionskontrolle
- J2SE 1.4, später J2SE 1.3.1 mit
JSSE 1.0.2
(für https-connections)
- XHTML mit CSS und JavaScript
- JSPs (View)
- Servlets (Controller)
- Debug-Logging mit Log4J
- URL-Rewriting mit JTidy und Jakarta ORO RegExp
- eigene XML-Formate für Persistenz, Zugriff über JDOM
- Flash-Movie für Navigationsleiste (Graphisches Design von
Kernzeit)
- eMail-Notification mit JavaMail
Größenordnung:
- 3 allgemeine Packages für insgesamt 10 allgemeine Klassen und Interfaces
- 1 spezifisches Package mit 2 Unterpackges für insgesamt
spezifische Klassen und Interfaces
- 55 Java Server Pages (teilweise Fragmente), aufgeteilt in
8 logische Bereiche
|
02/2001-10/2001
Aufwand ges. ca. 70 Tage
ActionEngine ca. 15 Tage
Refactoring UI ca. 20 Tage
Umstellung auf Client/Server ca. 30 Tage
|
Mitwirkung beim Aufbau der Entwicklungsabteilung in einem Startup-Unternehmen,
welches eine betriebswirtschaftliche Planungssoftware
unter Verwendung von Java
und der OO-Datenbank POET FastObjects j2 herstellt.
Weiterentwicklung eines bestehenden Prototypen und dabei
Lösung einiger Design- und Implementierungsaufgaben sowie
Optimierungen:
-
Vermittlung von Kenntnissen in UML,
Together und JBuilder
(an ca. 6 Mitarbeiter)
-
Einrichtung einer Versionskontrolle und Schulung der
Mitarbeiter (CVS, WinCVS)
- Festlegung von Konventionen zum Code-Style:
Code Conventions for the JavaTM Programming Language,
zusätzlich einige Konventionen zum File-Aufbau und der
javadoc-Dokumentation
- Einführung eines geordneten Logging (Log4J)
-
Zwei Junior-Programmierern einige "best-practices" beigebracht
(z.B. Verwendung des Collection-Frameworks, Benutzung von
javadoc etc.)
- Analyse der Use Cases im bestehenden System
-
Dokumentation des bestehenden Systems mit Klassen-,
Sequenz- und Kollaborationsdiagrammen
-
Entwicklung einer API. Dazu mussten zunächst die bestehenden
Klassen und Interfaces (über 100) in Packages aufgeteilt werden. Im
Verlauf des Projektes wurde u.a. ein Framework für
Applikationen im betriebswirtschaftlichen Umfeld erstellt
(30 Klassen und Interfaces auf mehrere Packages und Unterpackages verteilt,
u.a. spezialisierte GUI-Komponenten).
-
Design und Implementierung der ActionEngine.
Das Ziel war, sämtliche änderungen am Datenmodell aufzeichnen
und kontrollieren zu können. Dazu wurden sog. Actions
eingeführt, welche die jeweiligen änderungen abstrahierten.
Für die persistenten Objekte wurden Proxies eingeführt, um
änderungen kapseln zu können.
Hierzu Verwendung von Klassen-/Sequenz- und Activity-Diagrammen.
-
Umstellung von Standalone auf Client/Server mit RMI
(Projektplanung und -leitung, Design, Implementierung).
Dazu wurden generische Proxy-Objekte eingeführt, um die
komplexen Server-Objekte weder auf dem Client nachbilden zu
müssen, noch durch permanente RMI-Aufrufe bei langsamen
Verbindungen die Performance stark einzuschränken.
- Zugriff auf XML-Daten über JDOM
- Entwicklung von Testcases für einige Klassen mit JUnit
- Performance-Optimierungen mit JProbe Profiler
-
Mitwirkung bei Konzeption von zukünftigen Versionen der
Software (langfristige Planung)
|
11/2000-04/2001
Aufwand ges. ca. 20 Tage
Konzeption ca. 4 Tage
Design ca. 3 Tage
Implementierung ca. 10 Tage
Dokumentation ca. 1 Tag
|
Entwurf und Entwicklung eines Java-Applets zur
Navigation in semantischen Netzwerken
-
Entwicklung eines intuitiven Navigationsansatzes für
komplexe semantische Netzwerke
-
Implementierung mit JDK 1.1 und
AWT (eigenes UI mit Popups, Drag and Drop, etc.)
-
Kommunikation mit dem Server über XML,
mit NanoXML
-
Ausführliche Dokumentation des Codes mit javadoc und
Klassendiagrammen
Größenordnung:
- 2 Packages (Logik/GUI)
- 24 Klassen und Interfaces
|
08/2000-09/2000
Aufwand ca. 3 Tage
|
Entwicklung eines Java-Applets, das einen animierten
Countdown anzeigt:
- Gestaltung der Animation
- Implementierung in JDK 1.0.2 (JBuilder)
- 3 Klassen
- Kompatibilitätstests auf Windows:
Internet Explorer, Netscape Navigator
- Kompatibilitätstests auf MacOS:
Internet Explorer, Netscape Navigator
|
08/2000-09/2000
Aufwand ca. 10 Tage
|
Entwicklung eines Java-Applets, das die Positionen der Bewohner
des Bigbrother Hauses anzeigt
- Konzeption der Datenaktualisierung und -übertragung bei
extremer Serverlast (Laden einer Datei über HTTP - die
Datei wird alle paar Sekunden mit einer neuen Version
überschrieben)
- Objektorientierter Entwurf des Systems mit UML
- Implementierung mit einigen Spielereien,
JDK 1.0.2 (JBuilder)
- Sicherstellung der Funktionsfähigkeit mit verschiedenen
Browsern auf verschiedenen Rechnerarchitekturen
(Windows, MacOS,
Internet Explorer und
Netscape Navigator)
-
Dokumentation (übersichtsdiagramm, javadoc, Applet-Parameter, Demo beider Applets)
(zu den Demos geht's unter "Description")
|
02/2000-04/2001
Aufwand ca. 110 Tage
|
Entwicklung einer Backend-Architektur zum Zugriff über Java,
CORBA, COM, XML oder RMI auf objektorientierte Daten, die auf
beliebigen Systemen (relational / objektrelational /
objektorientiert) abgespeichert sind:
- Objektorientierter Entwurf des Systems mit UML
- Konzeption der Lokalisierung der Daten
- Entwicklung einer XML-basierten Beschreibungssprache
für das Datenmodell
- Entwicklung eines Java-Tools zur Bearbeitung solcher
XML-Datenmodelle unter Benutzung des
DOM-Baums als Datenstruktur (Modelle der
GUI-Komponenten sind direkt die DOM-Knoten,
GUI mit Swing implementiert,
das Tool besteht aus 14 Klassen und Interfaces)
- Spezifikation einer ausführlich dokumentierten API für
das gesamte Framework (4 Subpackages mit insgesamt
rund 60 Klasse und Interfaces)
- Implementierung des Zugriffs auf eine SQL-Datenbank
mit JDBC (verschiedene DBMS, z.B.:
Oracle8i, Sybase SQL Anywhere,
MS SQL Server)
- Implementierung des Zugriffs mit XML-Ausgabe
- Implementierung des Zugriffs über
COM (Java-COM-Bridge: JIntegra),
CORBA und RMI
- Implementierung des Zugriffs mit Benutzerrechten
|
08/1999-11/1999
Aufwand ca. 34 Tage
|
Entwicklung von Komponenten für einen Java-Client für
industrielle Stücklistenverwaltungen
- Entwurf und Implementierung eines Applet-Baukastens für
Webdesigner (Aufbau des GUI-Aufbaus innerhalb von
Applets mit XML-Dateien)
- Programmierung einer Split-Pane-Komponente für Java
ohne Swing
- Programmierung einer Table-Komponente für Java ohne
Swing (JDK 1.1) mit hoher
externer Konfigurierbarkeit über
Parameter, Sortierfunktion, veränderbarer Spaltenbreite
usw.
Interparts Demo von belenus (öffnet neues Fenster).
- Entwurf einer XML-Spezifikation für die übertragung von
Tabellendaten (mehrsprachig, mit externen Links,
Verknüpfung mit Grafikdateien)
- Abbildungen des Datenmodells innerhalb der Datenbank
nach XML
- Lokalisierung getrennt für Daten und
Benutzerinterface
|
01/1999-07/1999
Aufwand ca. 43 Tage
|
Entwicklung eines Java-Clients für ein Multimedia-DB-System
- Mitwirkung am Datenbank-Design
- Objektorientierte Analyse und Design mit UML /
Rational Rose
- Entwurf und Implementierung eines Applikations /
Applet - Frameworks
- Entwurf und Implementierung eines Plugin-Frameworks
(für Viewer und Verbindungsarten, z.B. RMI, CORBA)
- Datenbankverbindung über JDBC
- Entwurf und Implementierung einer Multi-Thier-Architektur
mit CORBA und RMI alternativ (als Plugins)
- Entwicklung von Viewer-Plugins mit Java Adanced Imaging
und Java Media Framework
Entwicklung des dazugehörigen Java-Backends:
- Abbildung eines relationalen Datenmodells in ein
Objektorientiertes
- Abbildung von Suchanfragen in Objekte
- Datenretrieval über Baumstruktur und verschiedene
Suchmethoden
|
11/1997-03/1998 |
An der Universität in einem Team von 3 Personen:
Entwicklung eines Brettspiels als Client/Server-Applet in Java 1.1
- Objektorientierte Analyse und Design mit UML
- Implementierung eines Servers mit Spielerdatenbank
- Implementierung eines graphischen Clients mit Chat
- Präsentation des fertigen Produkts
Die Implementierung unseres Teams wurde als
gelungenste Implementierung bewertet.
|
07/1997-03/2009 |
Für eine mittelständische Hausverwaltung:
- Beratung/Schulung zu Hard- und Software
- Systemadministration in einer Windows NT Umgebung
- Entwurf und Implementierung einer Stammdatenbank
(MS Access, Visual Basic) sowie deren Integration
in Microsoft Word (Visual Basic)
|
08/1998-06/1999 |
Für effective music & media (Seite existiert nicht mehr)
(Musikpromotion):
- Systemadministration in einer Windows 95 Umgebung
- Schulungen in Windows und MS Office
- Einrichten einer computergestützten Fax-Lösung
- Konzeption und Implementierung eines WWW-basierten
Informationsdienstes (CGI, Perl)
- Einrichten eines netzwerkweiten Internet-Zugangs über
einen Proxy (Sambar)
- Design und Implementierung der
Firmenwebsite
|
04/1998-10/1998 |
Für SW-Entwicklung-Unternehmen, tätig für Aktiengesellschaften):
- Entwurf von Bearbeitungsmasken (Prolifics JAM)
- Implementierung der Datenbankanbindung
(JAM, JPL, Sybase SQL Anywhere)
|
11/1995-03/1996 |
Für die DigiTeam GmbH (Service und Support):
- Installation und Wartung von Apple Hard- und Software
- Hotline zu Office Produkten (Mac und PC)
|
08/1990-05/1999 |
Für das Ingenieurbüro Boehler (Bauleitung, Projektsteuerung,
Hochbau):
- Systemadministration in einer Windows NT Umgebung (anfangs Novell)
- Beratung zu Hardware- und Software
- Schulungen zu MS Office, Sidoun WinAVA
- Entwurf und Implementierung einer Projektverwaltung
- Datenbankdesign (MS Access)
- Benutzerführung/-interface
(MS Access, Visual Basic)
- Integration der Projektverwaltung in
Office-Anwendungen (MS Word, Visual Basic)
- Anbindung des Firmennetzwerks an das Internet
(Sambar)
|