Profilbild von Jens Fransson Diplom-Informatiker, Softwarearchitekt, Softwareentwickler: Java (GUI: SWT, Swing), J2EE aus Tangstedt

Jens Fransson

verfügbar

Letztes Update: 28.01.2021

Diplom-Informatiker, Softwarearchitekt, Softwareentwickler: Java (GUI: SWT, Swing), J2EE

Firma: Fransson Software
Abschluss: Dipl.-Inform.
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher) | französisch (gut)

Dateianlagen

profil_fransson_2021_01_od.pdf

Skills

Dipl.-Inform. Jens Fransson
Senior Softwarearchitekt und Softwareentwickler
Jens Fransson, Jahrgang 1972, konzipiert und entwickelt seit 1996 selbständig Java-Anwendungen. Besonderes Augenmerk legt er auf Clean Code, SOLID-Prinzipien, Refactoring und Test-Driven Development. Er bevorzugt einen funktionalen Programmierstil.

Technische Schwerpunkte
  • Java Prophet (Absoluter Java Experte, Erfahrung seit 1996)
  • Clean Code, SOLID-Prinzipien, funktionaler Programmierstil
  • Refactoring, Test-Driven Development
  • Continuous Integration & Delivery
Frameworks & Tools
  • IntelliJ Idea
  • Spring/Spring Boot, Google Guice
  • Swing, SWT, Eclipse RCP, Tycho, Vaadin, CUBA, HTML/CSS, Bootstrap
  • Git, Maven, Gradle, Jira, Jenkins
Themen
  • Agile, Scrum
  • Rapid Web Application Development
  • Branchen: Logistik, Finanzen, Börse, Industrie, Verlage, Energieversorgung
  • Geschäftsanwendungen, Handelssysteme, Quantitative Finance (Quant Developer)

Projekthistorie

11/2012 – 06/2014: Weiterentwicklung einer Client/Server Enterprise-Anwendung mit Swing GUI für einen Energieversorger
Beschreibung
Die bestehende Enterprise-Anwendung zur Planung und Optimierung von Kraftwerkseinsätzen wird
um ein neues Modul zur Planung von Stillständen (Revisionen, Störfälle etc.) erweitert. Hierfür
werden neue GUI-Ansichten (GUI-Schicht), Service-Methoden (Geschäftslogik) und Entitäten
(Persistenzschicht) entwickelt. Die Entwicklung der Anwendung erfolgt vor Ort in enger
Abstimmung mit dem Anwender. Die Unterstützung des Anwenders im laufenden Betrieb gehört
ebenfalls zum Aufgabenfeld.

Werkzeuge, APIs
· Java SE 1.6 Programmiersprache zur Entwicklung von Thin Client und Server
· Swing GUI-Framework zur Realisierung des Thin Client
· Jide Kommerzielle Erweite­rung von Swing
· Oracle Weblogic 12 Application-Server
· Oracle Datenbank für DTAP-Umgebung (Development, Test, Acceptance, Production)
· H2 SQL-Datenbank für Automatisierte Testfälle in Java
· Spring Konfiguration, Transaktionsmanagment
· iBatis, MyBatis Persistenz-Framework
· RMI Kommunikation zwischen Thin Client (Swing) und Server
· JMS Benachrichtigung der Thin Clients durch den Server
· Subversion Ver­sions­ver­wal­tungs­sys­te­m
· Jenkins Build-Server
· BoFiT Service zur Modellierung und Optimierung der Kraftwerkseinsätze
· Gurobi Service zur Optimierung
· IntelliJ Idea, Eclipse Entwicklungsumgebung für Java


4/2009 – 11/2012: Entwicklung und Ausführung eines Handelssystems für Devisen
Beschreibung
Entwicklung eines Handelssystems zur Abwicklung von Devisengeschäften im Interbankenhandel. Ein
Prototyp des Handelssystems wird auf auf der Plattform MultiCharts in der Programmiersprache
PowerLanguage entworfen. Auf dieser Plattform findet auch die Überprüfung mittels historischer
Kursdaten statt. Die Validität des Handelsmodells und die fachliche Funktionalität wird im
Prototypen sichergestellt. Zur Ausführung von Handelsgeschäften ist MultiCharts jedoch nicht
ausreichend. Daher wird das Handelssystem auf der Zielplattform OpenQuant in der
Programmiersprache C# neu entwickelt. Die Ausführung der Handelsgeschäfte wird in Echtzeit
überwacht.

Zum Abruf der historischen Kursdaten wird ein Java-Programm entwickelt. Die Entwicklung erfolgt
mit der Entwicklungsumgebung IntelliJ Idea. Die Kursdaten werden als persistente Beans in der
SQL-Datenbank H2 gespeichert. Zur Vereinfachung des Umganges mit der Datenbank kommt das Apache
Commons Framework DBUtils zum Einsatz. Die Daten liegen in sekundengenauer Auflösung vor.
Aufgrund der hieraus resultierenden großen Mengen an Daten sind zahlreiche Maßnahmen zur
Sicherstellung einer hohen Performance nötig. Das Datenmodell ist besonders platzsparend und
effizient ausgelegt. Die Daten werden nicht nur über verschiedene Tabellen verteilt, sondern
auch in nach Zeiträumen unterteilte Datenbanken abgelegt.

Werkzeuge, APIs
· MultiCharts (PowerLanguage) Plattform (Programmiersprache) zur Entwicklung und zum Test von Handelssystemen
· OpenQuant (C#) Plattform (Programmiersprache/Framework) zur Entwicklung von Handelssystemen
· IntelliJ Idea Entwicklungsumgebung für Java
· H2 SQL-Datenbank in Java
· DBUtils (Apache Commons Framework für SQL-Datenbankzugriff)



10/2008 – heute: Automatisierter Herstellertest für eine Web-Anwendung

Beschreibung

Neuentwicklung von automatisierten Herstellertests mit Java SE 5 für eine J2EE-Web-Anwendung. Die
Anwendung wird von Banken genutzt und dient der Bonitätsbewertung von Finanzierungen (Rating).
Zur Prüfung der Funktionalität wird das Rahmenwerk HttpUnit verwendet. Es werden Dialogabläufe
sowie Feldinhalte und -zustände überprüft. Die Testdaten werden für den Herstellertest in XML
angelegt. Außerdem findet noch eine weitere Form des Tests statt, in dem die Ergebnisse von
Berechnungen der Anwendung mit vom Kunden gelieferten Testdaten abgeglichen werden. Hierbei
werden die Testdaten über eine Microsoft Access-Datenbank eingelesen und automatisch gegen die
Rechenergebnisse der GUI geprüft.

Werkzeuge, APIs
· Java SE 5 Programmiersprache zur Implementierung
· HttpUnit Rahmenwerk zum Testen der Web-GUI
· JUnit Rahmenwerk zur Implementation der Herstellertests
· DBUnit Rahmenwerk zum Test von Datenbankzuständen
· JavaDoc Rahmenwerk zur Dokumentation
· Mercury Quality Center Dokumentation, Erfassung und Verfolgung von Fehlern
· Log4J Rahmenwerk für Logging
· Apache Commons Rahmenwerke für Logging, Java-Sprachumfang und RDBMS
· Microsoft Access Datenbank für Testdaten
· Eclipse Entwicklungsumgebung für Java
· Oxygen Entwicklungsumgebung für XML und XSLT
· CVS Versionsverwaltungssystem
· Ant Build-Werkzeug
· Wiki Zur internen Dokumentation des Projektes



3/2008 - 8/2008: Architektur & Integration für eine Logistikanwendung


Beschreibung

Entwicklung einer Komponente zur Messung der Performance einer
performancekritischen Logistik­anwendung für Containerhäfen. Die
Anwendung ist stark heterogen und verteilt. Die Kommunikation erfolgt
über JMS (Java Message Service). Zur Überwachung der Performance werden
die JMS-Nachrichten zusammen mit ihren Sendezeiten mittels JPA (Java
Persistence API) und Hibernate in einer Oracle-Datenbank gespeichert.
Die primär eingesetzten Programmiersprachen sind Java 1.6 und C#. Das
Projekt wird mit Maven 2 gebaut, geringfügig werden Ant-Skripte
eingesetzt. Das Projekt ist in Komponenten (Bundles, Services) im Sinne
einer OSGi-Anwendung aufgeteilt. Die Komponenten werden mit Spring
Konfiguriert. Die Builds werden mit CruiseControl gesteuert.
Programmteile werden aus mit MagicDraw 15 erstellten UML-Modellen in
Verbindung mit OpenArchitectureWare 4 generiert.


Werkzeuge, APIs
*Maven 2* Build-Werkzeug
*Java SE 1.6* Programmiersprache zur Implementierung
*MagicDraw 15 * Generierung von Java-Quelltexten aus UML-Modellen
*Spring* Konfiguration der (OSGi) Komponenten
*Oracle* Verwendete Datenbank
*Hibernate* OR-Mapper
*JPA* Java Persistence API, zur Konfiguration des OR-Mappings mit
Hibernate
*JMS* Java Message Service, zur Kommunikation der teilweise
verteilten Softwarekomponenten
*Subversion* Versionsverwaltungssystem
*JUnit* Rahmenwerk zur Implementation von Entwicklertests
*Log4J* Rahmenwerk für Logging
*Apache Commons *Rahmenwerke für Logging, Java-Sprachumfang und RDBMS
*IntelliJ Idea 7* Entwicklungsumgebung für Java
*Eclipse 3.4* Alternative Entwicklungsumgebung für Java
*CruiseControl* Build-Server
*Ant* Ergänzend eingesetztes Build-Werkzeug
*Wiki* Zur internen Dokumentation des Projektes
*Jira, Test Track Pro* Dokumentation, Erfassung und Verfolgung von
Fehlern


5/2007 - 12/2007: Automatisierter Herstellertest für ein Data Warehouse


Beschreibung

Neuentwicklung von automatisierten Herstellertests für ein Data
Warehouse. Das Data Warehouse ist eine Neuentwicklung in Java und wird
das bestehende Altsystem des Kunden ersetzen. Erstellung von Generatoren
in Java und XSLT für Testdaten in XML. Überprüfung von erwarteten
Datenbank­zuständen mit JUnit und DBUnit. Test des Imports von Daten in
die Datenbank. Test der Befüllung von Data-Marts. Die Verfolgung und
Dokumentation von Befunden erfolgt mit Mercury Quality Center. Es
existieren einzelne Teams für Entwicklung, Herstellertest und
Dokumentation. In dem Projekt sind über fast ein Jahr hinweg bis zu 40
Mitarbeiter beschäftigt.


Werkzeuge, APIs
*Java SE 1.5* Programmiersprache zur Implementierung
*XSLT 2.0* Programmiersprache zur Erzeugung von XML-Testdaten
*Saxon 9* Parser zur Ausführung der XSL-Skripte
*JUnit* Rahmenwerk zur Implementation der Herstellertests
*DBUnit* Rahmenwerk zum Test von Datenbankzuständen
*JavaDoc* Rahmenwerk zur Dokumentation
*Mercury Quality Center* Dokumentation, Erfassung und Verfolgung
von Fehlern
*Log4J* Rahmenwerk für Logging
*Apache Commons *Rahmenwerke für Logging, Java-Sprachumfang und RDBMS
*Oracle* Verwendete Datenbank
*IntelliJ Idea* Entwicklungsumgebung für Java
*Oxygen* Entwicklungsumgebung für XML und XSLT
*Eclipse* Alternative Entwicklungsumgebung für Java
*CVS* Versionsverwaltungssystem
*Ant* Build-Werkzeug
*Wiki* Zur internen Dokumentation des Projektes


4/2007: Entwicklung von Testfällen für Basel II


Beschreibung

Erstellung von Testdaten für die Migration einer bestehenden Anwendung
zur Verwaltung und Bilanzierung von Krediten nach Basel II. Die
Testdaten werden Rohform aus der Altanwendung exportiert und zur
Erstellung der Testfälle in Microsoft Excel aufbereitet. Die Arbeit
findet beim Kunden, einem Anbieter zur Eigenheimfinanzierung im Rahmen
eines gemischten Teams mit Mitgliedern aus verschiedenen
IT-Dienstleistern vor Ort statt. Erstellung einer Präsentation zur
Veranschaulichung der Testmethodik.


Werkzeuge, APIs
*Microsoft Excel* Tabellenkalkulation zur Aufbereitung der Testdaten
*Microsoft Power Point* Präsentationsprogramm


1/2007 - 3/2007: Weiterentwicklung von automatisierten
Herstellertests für EBICS-Server


Beschreibung

Weiterentwicklung von automatisierten Herstellertests in Java SE 1.4 für
eine Server-Anwendung zur Abwicklung von Aufträgen gemäß dem
EBICS-Standard (Banken-Standard für elektronischen Zahlungsverkehr für
Geschäftskunden). Die bestehenden Testfälle für die EBICS Version 2.1
werden durch die Einführung einer neuen Abstraktion auf Klassenebene so
erweitert, daß sie auch auf die neue EBICS Version 2.2 anwendbar sind.
Der automatisierte Build wird um einen Testlauf für EBICS 2.2 ergänzt.
Erstellung von mehr als 20 neuen Testfällen zur Überprüfung der
Einhaltung der Spezifikati­on EBICS 2.2. Erstellung neuer Testfälle für
die neue kundenspezifische Sonder­funk­tionalität des EBICS-Servers für
die Deutsche Bank.


Werkzeuge, APIs
*Java SE 1.4* Programmiersprache zur Implementierung
*JUnit* Rahmenwerk zur Implementation der Herstellertests
*DBUnit* Rahmenwerk zum Test von Datenbankzuständen
*JavaDoc* Rahmenwerk zur Dokumentation
*Log4J* Rahmenwerk für Logging
*Apache Commons *Rahmenwerke für Logging, Java-Sprachumfang und RDBMS
*DB2, Oracle* Unterstützte Datenbanken
*IntelliJ Idea* Entwicklungsumgebung für Java
*Eclipse* Alternative Entwicklungsumgebung für Java
*CVS* Versionsverwaltungssystem
*Ant* Build-Werkzeug
*Wiki* Zur internen Dokumentation des Projektes


8/2006 - 12/2006: Automatisiertes Wertpapierhandelssystem für Futures


Beschreibung

Entwicklung eines Rahmenwerkes in Java Standard Edition 1.5 zur
Simulation und Durchführung von Wertpapierhandelsgeschäften mit Futures.
Das Rahmenwerk ist in der Lage, Tickdaten milli­sekunden­genau zu
verarbeiten. Es generiert Handelssignale nach anpaßbaren Vorgaben und
ermöglicht die Simulation der Handelsergebnisse auf historischen
Tickdaten. Die Handelssignale können außerdem auch in Echtzeit aus
realen Kursdaten erzeugt und in Handelsaufträge umgewandelt werden, die
umgehend an die Börse weitergeleitet werden. Zur Speicherung der
Kursdaten dient die objektorientierte Datenbank db4o. Im Rahmen des
Projektes wurde außerdem ein Prototyp zur grafischen Visualisierung von
Kursdaten in Echtzeit mittels einer Swing-GUI erstellt. Hierbei wurde
als Grundlage das Rahmenwerk JFreeChart verwendet.


Werkzeuge, APIs
*Java* Programmiersprache zur Implementierung
*Swing* Rahmenwerk für die grafische Oberfläche
*JFreeChart* Rahmenwerk zur grafischen Darstellung von Kursdaten
*JUnit* Rahmenwerk für Unit-Tests
*JavaDoc* Rahmenwerk zur Dokumentation
*Log4J* Rahmenwerk für Logging
*Apache Commons *Rahmenwerke für Logging und Java-Sprachumfang
*db4o* Unterstützte objektorientierte Datenbank
*IntelliJ Idea* Entwicklungsumgebung für Java
*Subversion* Versionsverwaltungssystem
*Ant* Build-Werkzeug


4/2006 - 7/2006: Automatisierte Herstellertests für EBICS-Server


Beschreibung

Entwicklung von automatisierten Herstellertests in Java SE 1.4 für eine
Server-Anwendung zur Abwicklung von Aufträgen gemäß dem EBICS-Standard
(Banken-Standard für elektronischen Zahlungsverkehr für
Geschäftskunden). Die Entwicklung der Testfälle geschieht parallel zur
Entwicklung des zu testenden Produktes. Erstellung von mehr als 400
Testfällen zur Überprüfung der Einhaltung der Spezifikati­on EBICS 2.0.
Die Testfälle werden zur flexiblen Wartbarkeit in CSV-Dateien definiert.
Ausführung der Testfälle und Analyse des Ergebnisses. Durchführung der
Fehleranalyse und Erfassung von Testfallprotokollen für die
Produktentwickler. Dokumentation der Testfälle. Weiterentwicklung und
Auslieferung einer eigenständigen, allgemeinen Anwendung zur Ausführung
von anwenderdefinierten Testfällen zur Überprüfung von EBICS-Produkten.


Werkzeuge, APIs
*Java* Programmiersprache zur Implementierung
*JUnit* Rahmenwerk zur Implementation der Herstellertests
*DBUnit* Rahmenwerk zum Test von Datenbankzuständen
*JavaDoc* Rahmenwerk zur Dokumentation
*Log4J* Rahmenwerk für Logging
*Apache Commons *Rahmenwerke für Logging, Java-Sprachumfang und RDBMS
*DB2, Oracle* Unterstützte Datenbanken
*IntelliJ Idea* Entwicklungsumgebung für Java
*CVS* Versionsverwaltungssystem
*Ant* Build-Werkzeug
*Wiki* Zur internen Dokumentation des Projektes


3/2006 - 3/2006: J2EE-Anwendung zum Dateiversand für Banken


Beschreibung

Entwicklung von Dialogen für die HTML-GUI einer J2EE-Anwendung in Java 2
Enterprise Edition 1.4. Die Anwendung dient dem Dateiversand im
Bankenbereich. Für eine existierende Swing-GUI wird eine äquivalente
HTML-GUI entwickelt. Die Implementation erfolgt mit JSP- und
Servlet-Technik unter Einsatz der Rahmenwerke Struts und Tiles. Die
Applikation läuft auf einem Tomcat 5.0-Server mit Anbindung an die
Datenbanken DB2 und Postgres.


Werkzeuge, APIs
*Java 2 EE 1.4* Programmiersprache zur Implementierung
*JSP, Servlet* Technik zur Implementierung der Dialoge der HTML-GUI
*Struts* Java-Rahmenwerk zur Realisierung der Navigation
*Tiles* Java-Rahmenwerk Umsetzung und Vereinheitlichung der
GUI-Elemente
*Tomcat 5.0* J2EE-Server für die Applikation
*DB2, Postgres* Unterstützte Datenbanken
*IntelliJ Idea* Entwicklungsumgebung für Java mit Hot-Deployment
für Tomcat
*CVS* Versionsverwaltungssystem
*Ant* Build-Werkzeug
*Wiki* Zur internen Dokumentation des Projektes


11/2005 - 2/2006: Java-Rahmenwerk für Elektr. Zahlungsverkehr (EBICS)


Beschreibung

Konzeption und Entwicklung einer C/C++ API für ein Java-Rahmenwerk
mittels JNI für MS Windows. Die C/C++ API besteht aus mehreren DLLs und
C-Header-Dateien. Das Java-Rahmenwerk wurde von anderen Teammitgliedern
parallel zu der C/C++ API entwickelt. Entwicklung von Teilen des
Java-Rahmenwerkes, Mitwirkung an der Implementierung der API. Das
Java-Rahmenwerk wird mit dem Excelsior JET Compiler als native
Windows-DLL ausgeliefert. Das Rahmenwerk dient der Abwicklung von
elektronischem Zahlungsverkehr im Bankenbereich gemäß dem EBICS-Standard.


Werkzeuge, APIs
*Java* Programmiersprache zur Implementierung
*Excelsior JET* Compiler zur Auslieferung des Java-Rahmenwerkes
*JNI, DLL, Win32 API, C++* Zur Implementation der C/C++ API
*Eclipse* Entwicklungsumgebung für Java und C++
*IntelliJ Idea* Entwicklungsumgebung für Java
*PC-Lint* Qualitätssicherung für C++
*BoundsChecker* Qualitätssicherung für C++
*CVS* Versionsverwaltungssystem
*Ant* Build-Werkzeug
*CruiseControl* Automatisierte Build-Prozesse im Team
*Wiki* Zur internen Dokumentation des Projektes


12/2004 - 10/2005: GUI für Java-Anwendung zur Quelltextanalyse


Beschreibung

Konzeption und Entwicklung einer grafischen Oberfläche für eine
Desktop-Anwendung in Java 2 SE 1.4 zur Analyse von Quelltexten mit dem
Ziel der Aufdeckung von Urheberrechtsverletzungen. Die Software
untersucht zwei Mengen von Quelltextdateien auf Ähnlichkeiten und
er­stellt detaillierte Reports im HTML-Format. Sie verfügt über
zahlreiche Optionen zur Anpassung der Analysemetho­de und der Inhalte
der Berichte. Die Steue­rung der Anwendung er­folgt über eine im
Standard Widget Toolkit (SWT) Rahmenwerk realisierte grafische
Oberfläche. Neuere Versionen von MS Windows wurden explizit
berücksichtigt, indem eine in C++ geschriebene DLL per JNI aufgerufen
wird, um mit Dateitypen assoziierte Grafiken darzustellen. Die Anwendung
verfügt über ein eingebautes System zur Verwaltung und Verifikation von
Lizenzdateien. Das Programm wird unter Windows über eine herkömmliche
ausführbare Datei (.EXE) gestartet, die in C++ und JNI implementiert
wurde. Die Anwendung besitzt ein Installationsprogramm für MS Windows,
das mit dem Nullsoft Install System (NSIS) realisiert wurde.


Werkzeuge, APIs
*Java* Programmiersprache zur Implementierung
*JNI, DLL, Win32 API, C++* Zur Realisierung besondererer,
betriebssystemspezifischer Funktionen und eines Startprogrammes
*SWT* Standard Widget Toolkit, GUI-Rahmenwerk zur Realisierung der
grafischen Oberfläche
*IntelliJ* *Idea* Entwicklungsumgebung
*Subversion* Versionsverwaltungssystem
*Nullsoft Install System* Umsetzung des Installationsprogrammes
für MS Windows


04/2004 - 11/2004: Weiterentwicklung eines Online-Stellenmarktes


Beschreibung

Weiterentwicklung eines bestehenden, in PHP und MySQL reali­sier­ten
Online-Stellenmarktes (s.u.). Portierung der generierten HTML-Seiten von
reinem HTML auf HTML und CSS zur Verbesserung der technischen
Anpaßbarkeit des Layouts für unterschiedliche Kunden. Konversion der
PHP-Skripte in Java Server Pages.


Werkzeuge, APIs
*MySQL* Datenbank zur Speicherung von Stellenangeboten,
Stellengesuchen, Anwenderkonten etc.
*HTML, CSS* Grafische Schnittstelle des Stellenmarktes sowohl für
Endanwender wie auch für Sys­temadministratoren
*Apache HTTP Server*
*CVS* Versionsverwaltungssystemen
*Java, JSP, Tomcat, IntelliJ Idea* Portierung von PHP nach Java


12/2003 - 03/2004: Java-Anwendung zur Quelltextanalyse


Beschreibung

Konzeption und Entwicklung einer Java-Anwendung für Arbeitsplatzrechner
zur Analyse von Quelltexten zur Aufdeckung von
Urheberrechtsverletzungen. Die Software untersucht zwei Mengen von
Quelltextdateien auf Ähnlichkeiten und er­stellt detaillierte Reports im
HTML-Format. Sie verfügt über zahlreiche Optionen zur Anpassung der
Analysemetho­de und der Inhalte der Berichte. Die Steue­rung der
Anwendung er­folgt über eine Kommando­zeilen­ba­sierte
Benutzungsschnittstelle.


Werkzeuge, APIs
*Java* Programmiersprache zur Implementierung
*IntelliJ* *Idea* Entwicklungsumgebung
*CVS* Versionsverwaltungssystem


10/2003 - 11/2003: Java/Swing-Anwendung zur Paßwortverwaltung


Beschreibung

Konzeption und Entwicklung einer Java-Anwendung mit
Swing-Benutzeroberfläche zur Verwaltung von Paßwörtern. Es besteht die
Möglichkeit, neben den Paßwörtern außerdem etwaige dazugehörige
Informationen im Textformat wie Internetadressen, E-Mails usw.
abzuspeichern. Die Daten werden im XML-Format gespeichert, komprimiert
und mit dem Blowfish-Algorithmus verschlüsselt. Durch die Verwaltung der
einzelnen Paßwörter in einem beliebig strukturierbaren Baum von Ordnern
und Kon­ten erzielt die Anwendung eine hohe Übersichtlichkeit und
Benutzerfreundlichkeit.


Werkzeuge, APIs
*Java* Verwendete Programmiersprache zur Implementierung
*Java Cryptography* Rahmenwerk zur Realisierung der
Blowfish-Verschlüsselung
*IntelliJ* *Idea* Entwicklungsumgebung
*CVS* Versionsverwaltungssystem


01/2002 - 9/2003: Java-Anwendung für Wertpapierhandel (Trading)


Beschreibung

Konzeption und Entwicklung eines Rahmenwerkes in Java für den
Wertpa­pierhandel.

Das Rahmenwerk erlaubt die Erstellung und Pflege einer Datenbank mit
Kursen deutscher und ame­rikanischer Wertpapiere, darunter auch Aktien
und Futures. Die Kursdaten können in beliebigen Zeitebenen gespeichert
und weiterverarbei­tet werden, die gespeicherten Daten besitzen ein
einminü­tiges Zeitraster. Das Rahmenwerk bietet außerdem performante
Klassen zur Verwaltung von allge­meinen Listen sowie auch speziell für
Listen von Kursen und charttechnischen In­dikatoren. Diese Zeitreihen
können miteinander kombiniert werden, womit neue Zeitreihen definiert
werden können. Im Rahmenwerk enthalten ist des weiteren ein Paket zur
Visualisierung von Kursverläufen und Indi­katoren.

In Entwicklung befinden sich derzeit Pakete zur Simulation von Abläufen
an der Börse sowie Handels­systeme, die gewinnbringend Wertpapiere
kaufen und ver­kaufen.


Werkzeuge, APIs
*UML* Modellierungssprache zum Entwurf der softwaretechnischen
Architektur
*Poseidon* Modellierungswerkzeug für UML
*Java* Verwendete Programmiersprache zur Implementierung
*IntelliJ* *Idea* Entwicklungsumgebung
*CVS* Versionsverwaltungssystem


11/2001 - 07/2003: Rahmenwerk für UML-Diagramme


Auftraggeber

Hersteller von UML-Werkzeugen


Beschreibung

Im Rahmen einer Diplomarbeit wurde in Kooperation mit der Universität
Hamburg für den Auftrag­geber ein Rahmen­werk für UML-Diagramme in Java
entwickelt.

Konzeption und Programmierung eines Rahmenwerkes zur Spei­cherung,
Vi­sualisierung und Be­arbeitung von UML-Dia­gram­men in Java. Im Rahmen
der Kon­zep­tion wurde ein XML-Speicher­format für UML-Diagramme
ent­wickelt. Das Format wurde in der Meta Object Fa­cility (MOF)
formuliert. Dieses Speicher­format wurde unter dem Titel „Diagram
In­ter­cha­nge for UML“ als internationaler Standard von der Object
Ma­na­ge­ment Group (OMG) übernommen und ist Teil der UML 2.0
Spezifika­tion.

Es wurde außerdem ein Prototyp entwickelt, der die grafische
Darstel­lung und Be­arbeitung von UML-Diagrammen ermöglicht und da­mit
die Funktionalität des er­stellten Rahmenwerkes unter Beweis stellt. Ein
zentra­les Merkmal der grafischen Oberfläche ist, daß es über die bei
her­kömm­li­ch­en UML-Werk­zeugen zur Verfü­gung stehenden Möglichkeiten
hinaus es außer­dem mög­lich ist, das dargestellte Diagramm in Echtzeit
zu zoomen. Zur Realisierung dieser Eigenschaft wurde das Rahmenwerk
„Jazz“ verwendet.


Werkzeuge, APIs
*UML* Modellierungssprache zum Entwurf der softwaretechnischen
Architektur
*Poseidon* Modellierungswerkzeug für UML
*Java* Verwendete Programmiersprache zur Implementierung
*Swing* Rahmenwerk zur Realisierung der grafischen Benutzeroberfläche
*Jazz* Rahmenwerk zur Implementierung einer „Zoomable GUI“ (ZGUI)
*IntelliJ Idea* Entwicklungsumgebung
*Meta Object Facility (MOF)* Standard zur Definition von
Metadaten, Spezifikati­on des Speicher­formates für UML-Diagramme
*Meta Data Repository (MDR)* Realisierung der Persistenz von
UML-Dia­grammen, Umsetzung des in MOF spezifizierten Speicherformates
*XML, XML **Metadata** Interchange (XMI)* Dateiformat für den Im-
und Export von UML-Dia­grammen
*XSL, XSLT, **Scalable** **Vector** **Graphics** (SVG)* Pflege
eines Stylesheets zur Trans­formation eines UML-Diagrammes von XMI
nach SVG
*CVS* Versionsverwaltungssystem


07/2002 - 09/2002: Weiterentwicklung einer Delphi-Anwendung


Auftraggeber

Schmersal-EOT GmbH & Co. KG, Freiburg


Beschreibung

Weiterentwicklung und Pflege einer in einem früheren Projekt erstell­ten
Win­dows-Anwendung (s.u.) mit grafischer Benutzeroberfläche zur
Konfiguration eines 2D-Laserscanners.

Er­wei­ter­ung der grafischen Eingabe, so daß die gleichzeitige
Darstel­lung und Be­arbeitung von sechs grafischen Bereichen statt
bisher zwei möglich wird. Erweite­rung des Konfigurationsumfanges um
mehrere neue Parameter. Realisierung einer Option zur persistenten
Speicherung von Ausdrucken zur Archivierung. Verbesse­rung der
softwaretechnischen Architek­tur mittels Refactoring. Por­tie­rung der
Anwendung von Windows 3.1 auf Windows 32-Bit.


Werkzeuge, APIs
*Object Pascal* Objektorientierte Programmiersprache
*Borland* *Delphi* Entwicklungsumgebung für MS Windows
*Visual **Component** **Library** (VCL)* Rahmenwerk zur
Realisierung der grafischen Benutzeroberfläche
*RX **Controls* Grafische Komponenten zur Implementierung
zusätzlicher Be­dienelemente
*Windows 16 & 32-Bit* Portierung von Windows 3.1 auf alle 32-Bit
Windows-Ver­sionen (95, 98, ME, NT, 2000, XP)
*CVS* Versionsverwaltungssystem


04/2000 - 06/2001: Fernsteuerung für Swing-Anwendungen


Beschreibung

Studienarbeit im Projekt „Hydepark“ an der Unversität Hamburg, dessen
Ziel die Fernsteuerung gra­fischer Anwendungen mittels mobiler Geräte
ist (Ubiquitous Computing).

Entwicklung einer serverseitigen Software in Java zur Transformation der
gra­fischen Oberfläche von Swing-Anwendungen in ein universelles
XML-Format („JSML“ Java/Swing-Markup Language). Entwicklung eines
XSL-Stylesheets zur Transformation von JSML nach HTML/WML zwecks
Über­tragung ihrer grafischen Oberfläche auf mobile Geräte (Handy, PDA,
etc). Die Soft­ware ist außerdem in der Lage, die Antworten mobiler
Geräte per WAP entgegenzunehmen und in lokale Benutzereingaben zu
über­setzen. Auf diese Weise wird die Fernsteuerung der Anwendung
ermöglicht.


Werkzeuge, APIs
*Java* Verwendete Programmiersprache zur Implementierung
*Swing* Rahmenwerk zur Introspektion der grafischen
Benutzeroberfläche der analysierten Anwendung.
*Netbeans* Entwicklungsumgebung
*XML, DOM, SAX* Zur Erzeugung der Swing-GUI-Beschreibung in JSML
*XSL, XSLT* Zur Transformation von JSML nach HTML/WML
*HTML, **Wireless** Markup Language (WML) *Zur Nachbildung der
grafischen Oberfläche von Swing-Anwendungen
*HTTP, WAP* Übertragung der HTML/WML-Seiten und Rückübertragung
von Benutzereingaben
*CVS* Versionsverwaltungssystem


2000, 2001 sporadisch: Wartung eines Online-Stellenmarktes, Schulungen


Auftraggeber

Axel Springer Verlag AG, Hamburg


Beschreibung

Pflege und Weiterentwicklung einer bestehenden Online-Stellenda­tenbank
in PHP. Einrichtung einer automatisierten Importschnittstelle für
Angebote über das Inter­net. Schu­lun­gen zur Administration der
Datenbank mit­tels der in­di­vi­du­ell angefertig­ten
Admini­stra­tions­schnitt­stelle.


Werkzeuge, APIs
*PHP* Serverseitige Skripte zur dynamischen Generierung der
HTML-Seiten
*MySQL* Datenbank zur Speicherung von Stellenangeboten,
Stellengesuchen, Anwenderkonten etc.
*HTML* Grafische Schnittstelle des Stellenmarktes sowohl für
Endanwender wie auch für Sys­temadministratoren
*Apache HTTP Server*


03/1999 - 10/1999: Neuentwicklung eines Online-Stellenmarktes


Auftraggeber

Axel Springer Verlag AG, Hamburg


Beschreibung

Konzeption und Entwicklung eines Online-Stellenmarktes auf der Basis von
PHP und MySQL.

Gestaltung und Neuerstellung von HTML-Seiten mittels PHP als Generator.
Schaf­fung einer Schnitt­stelle zur Suche nach Angeboten und
Stellengesuchen. Einrich­tung einer mehrschichtigen Benutzer­verwaltung
mit unterschiedlichen Zugangsbe­rechtigungsstufen. Stellensuchende
können sich per In­ternet anmelden, um Stellengesuche aufzugeben. Ein
Nachrichtensystem erlaubt die Antwort auf ein Stellengesuch sowie die
Speicherung und Weiterleitung der Nachricht an den Stellensuchenden.

Entwicklung einer Schnittstelle zur Administration per HTML zwecks
Neueingabe und Pflege der Da­ten. Stellenangebote und -gesuche können
mit HTML-Forma­tierungen eingegeben werden. Migration der be­stehenden
Daten von Oracle nach MySQL.


Werkzeuge, APIs
*PHP* Serverseitige Skripte zur dynamischen Generierung der
HTML-Seiten
*MySQL* Datenbank zur Speicherung von Stellenangeboten,
Stellengesuchen, Anwenderkonten etc.
*HTML* Grafische Schnittstelle des Stellenmarktes sowohl für
Endanwender wie auch für Sys­temadministratoren
*Apache HTTP Server*


08/1997 - 09/1998: Grafische Windows-Anwendung


Auftraggeber

Schmersal-EOT GmbH & Co. KG, Freiburg


Beschreibung

Konzeption und Entwicklung einer Anwendung zur Konfiguration eines
industri­ellen 2D-La­serscanners für einen Hersteller von
Indus­triesensoren.

Der Laserscanner ist in der Lage, eine Ebene im Winkelbereich von 180°
abzutasten. Innerhalb dieses Bereiches überwacht er zwei aus einer
variablen Anzahl von Segmenten bestehende Flächen, das soge­nannte
Warnfeld und das Schutzfeld. Ein Anwendungsgebiet ist die Überwachung
von Industriema­schinen. Bewegt sich ein Hindernis (z.B. ein Mensch) in
das Warnfeld, so sendet der Sensor ein Warnsi­gnal (z.B. akustisch oder
optisch), bei Verletzung des Schutzfeldes wird eine Aktion ausgelöst
(z.B. Ab­schaltung der überwachten Maschine). Auf diese Weise können
Menschen davor geschützt werden, von einer Maschine verletzt zu werden.
Zur Erhöhung der Anwenderfreundlichkeit besitzt der La­serscanner zwei
Paare von Warn- und Schutzfeldern, zwischen denen auf Knopfdruck hin-
und herge­schaltet werden kann.

Die entwickelte 16-Bit Anwendung verwendet das Multiple Document
Interface (MDI) API von Windows zur Darstellung eines Felderpaares in
einem Fenster. Das dabei verwendete Koordinatensys­tem ist wahlweise
polar oder kartesisch und die Maßeinheit ist zwischen cm und inch
umschaltbar. Der gezeigte Bildausschnitt kann beliebig gewählt werden,
d.h. Vergrößerung bzw. Verkleinerung so­wie die Wahl des Zentrums der
Darstellung sind frei wählbar und leicht zu bedienen (z.B.
Lupenwerk­zeug). Diese Ansicht dient außerdem gleichzeitig auch zur
komfortablen Bearbeitung der Felder, wobei die interne Repräsentation
von Feldern im Sensor als Segmente dem Anwender direkt gra­fisch
dargestellt wird. Die Bearbeitung kann entweder über die Maus oder aber
über numerisch über die Ta­statur erfolgen und besitzt eine mehrstufige
Rückgängig- und Wiederherstellen-Funktion.

Außerdem besitzt der Sensor zahlreiche Konfigurationsparameter, deren
Einstellung über umfangrei­che Dialoge erfolgt. Alle Einstellungen des
Sensors zusammen, also alle Felder und Parameter bilden ein Projekt, das
in einer Datei gespeichert und von dort wieder geladen werden kann. Der
Ausdruck eines Projektes ist ebenfalls möglich.

Die Kommunikation zwischen Sensor und Anwendung erfolgt über die
serielle Schnittstelle. Die vom Kunden gelieferte, in C geschriebene DLL
wurde in Delphi eingebunden und das Anwendungsproto­koll des Sensors in
der entwickelten Software implementiert.


Werkzeuge, APIs
*Object Pascal* Objektorientierte Programmiersprache
*Borland** Delphi* Entwicklungsumgebung für MS Windows
*Visual Component Library (VCL)* Rahmenwerk zur Realisierung der
grafischen Benutzeroberfläche
*RX Controls* Grafische Komponenten zur Implementierung
zusätzlicher Be­dienelemente
*Windows 3.1* Zielplattform für die Anwendung


07/1996 - 10/1996: Java-Applet für KFZ-Versicherung


Auftraggeber

Werbeagentur


Beschreibung

Konzeption und Entwicklung eines Java-Applets zur Online-Berech­nung von
KFZ-Versicherungen für Endkunden.

Anhand eines in Visual Basic geschriebenen Programmes als Spezifikati­on
wurde ein per Internet benutzbares Programm geschrieben. Der
Funktionsumfang und der Bedienkomfort des lediglich lokal lauffähigen
Visual-Basic-Programmes wurde dabei wesentlich verbessert. Außerdem
wurden auf diesem Wege einige Fehler ausgemerzt. Zur Berech­nung der
Versicherungspolice greift das Java-App­let per JDBC auf eine
serverseitige Datenbank mit allen relevanten Daten zu.

Der Anwender gibt in einem mehrschrittigen Prozeß nacheinander die für
die Versicherungspolice re­levanten Daten seines Fahrzeuges ein. Bei
jedem Schritt wird dem Anwender der temporär gültige, ak­tuelle Status
seiner Eingaben präsentiert. Er ist zu jedem Zeitpunkt über die noch
verbleibenden Schritte informiert. Am Ende des Eingabeprozesses wird dem
Anwender die sich aus seinen Eingaben ergebende Versicherungspolice
präsentiert.


Werkzeuge, APIs
*Java* Verwendete Programmiersprache zur Implementierung
*Visual Basic* Programmiersprache, in der ein als Spezifikati­on
dienendes Programm geschrieben war
*Abstract Windowing Toolkit (AWT)* Rahmenwerk zur Konstruktion
grafischer Benutzeroberfläche
*Java Database Connectivity (JDBC)* Rahmenwerk zur Realisierung
von Datenbankzugriffen aus Java
*Symantec Visual Cafe* Entwicklungsumgebung


12/1995 - 02/1996: Windows-Anwendung für SGML-Dateien


Auftraggeber

Axel Springer Verlag AG, Hamburg


Beschreibung

Konzeption und Entwicklung einer Windows-Anwendung mit gra­fischer
Benutzeroberfläche zur automatischen Bearbeitung von SGML-Dateien. Die
Anwendung läßt sich über ein Skript steuern und erlaubt die Sortierung
von SGML-Tags. Weitere Aufgaben der Anwendung bestehen in der
Validierung und automatischen Korrektur fehlerhafter SGML-Dokumente.
Neben einer Online-Hilfe wurde ein Benutzerhandbuch erstellt.


Werkzeuge, APIs
*Object Pascal* Objektorientierte Programmiersprache
*Borland** Delphi* Entwicklungsumgebung für MS Windows
*Visual Component Library (VCL)* Rahmenwerk zur Realisierung der
grafischen Benutzeroberfläche
*Standard **Generalized** Markup Language (SGML)*
Dokumentenbeschreibungssprache, Vorläufer von XML.
*Windows 3.1* Zielplattform für die Anwendung


07/1994 - 09/1995: Portierung des Mumps-Systems auf Flashdisk


Auftraggeber

Sysing GmbH, Hamburg


Beschreibung

Weiterentwicklung der MS-DOS basierten Programmiersprache und
Laufzeitum­gebung „Mumps“, so daß sie von einer nicht-beschreibba­ren
Flashdisk von 1 MB Größe startbar ist.

Hierzu wurden zur Berücksichtigung der nicht-Beschreibbarkeit alle
Schreibzugrif­fe des Mumps-Sys­tems auf Datenträger unterbunden.
Außerdem wurden zur Be­rücksichtigung der begrenzten Größe der Flashdisk
alle entbehrlichen Programm­teile aus dem Mumps-System entfernt.


Werkzeuge, APIs
*MS-DOS* Host-Betriebssystem für Mumps
*Mumps* Programmiersprache, Laufzeit- und Entwicklungsumgebung

Reisebereitschaft

Verfügbar in den Ländern Deutschland
100% Vor Ort

Sonstige Angaben

Persönliche Daten
-----------------
Berufsbezeichnung: Diplom-Informatiker, Baccalaureus Scientiae, Softwareentwickler, Projektleiter,
Berater, Trainer
Tätigkeiten: Softwareanalyse, -design und -implementierung; Code-Reviews, Qualitätssicherung
etc.; Schulungen
Geburtsjahr: 1972
Sprachen: Deutsch (Muttersprache)
Englisch: (fließend)
Französisch: (gut)
E-Mail, Internet: fransson@fransson.de, www.fransson.de

Ausbildung
----------
1992 Abitur, Note 1,9
1992 – 1994 Studium der Physik mit Nebenfach Informatik an der Universität Hamburg
1994 – 1995 Studium der Informatik mit Nebenfach Physik an der Universität Hamburg
10/1995 Diplomvorprüfung Informatik, Note „gut“
1995 – 2000 Tätigkeit als Softwareentwickler (s.u. „EDV-Erfahrung“)
ab 2000 Fortsetzung des Informatik-Studiums
11/2001 Baccalaureus Scientiae in Informatik, Note „gut“
10/2003 Abschluß als Diplom-Informatiker, Note „sehr gut“

EDV-Erfahrung
-------------
1994 – 1995 als Softwareentwickler (selbständig, neben dem Studium)
1995 – 1997 als Softwareentwickler (selbständig, hauptberuflich)
1997 – 2000 als Softwareentwickler und Projektleiter (selbständig, hauptberuflich)
2000 – 2003 als Softwareentwickler und Projektleiter (selbständig, neben dem Studium)
seit 10/2003 als Softwareentwickler und Projektleiter (selbständig, hauptberuflich)

Veröffentlichungen
------------------
2002 BOGER, MARKO, J. FRANSSON, M. JECKLE und S. MÜLLER (2002). Diagram Interchange
for UML. In: JÉZÉQUEL, JEAN-MARC, H. HUSSMANN und S. COOK, Hrsg.: UML 2002 —
The Unified Modeling Language, 5th International Conference, Bd. 2460 d. Reihe Lecture
Notes in Computer Science, S. 398–411, Dresden, Deutschland. Springer Verlag.
ISBN 3-5404-4254-5.
Profilbild von Jens Fransson Diplom-Informatiker, Softwarearchitekt, Softwareentwickler: Java (GUI: SWT, Swing), J2EE aus Tangstedt Diplom-Informatiker, Softwarearchitekt, Softwareentwickler: Java (GUI: SWT, Swing), J2EE
Registrieren