Michael Horstmann

Derzeitige Tätigkeitsschwerpunkte (10/2011)

  • Software-Entwicklung / Programmierung
  • Qualitätssicherung / Test
  • Dokumentation

Fachlicher Schwerpunkt Software:

Systemingenieur, Softwareentwickler, Windows, Linux, Embeded-Systeme, Desktop-Applikationen, C, C++, C#, Delphi, Datenkommunikation, Messtechnik / Sicherheitstechnik


Fachlicher Schwerpunkt Web:

Softwareentwickler, Webmaster, (X)HTML, CSS 2.1/3, PHP 4/5, MySQL 4/5, Joomla CMS 1.5, Photoshop CS3

   

Ausbildung

Studium der Angewandten Informatik, Fachrichtung Kommunikations- und Systeminformatik an der Fachhochschule Südwestfalen, Abschluss als Diplom-Informatiker 2006.

Schwerpunkte des Studiums:

  • Programmiersprachen (C, C++, JAVA)
  • Objektorientierte Programmierung
  • 3D-Programmierung (OpenGL)
  • Software-Technik (u.a. UML, Lasten- und Pflichtenhefte, Design-Patterns)
  • Datenbanken (SQL, ER-Modellierung, Normalisierung)
  • Mikrocomputertechnik / Firmwareentwicklung
  • Kommunikation, Protokolle, ISDN
  • Informationsverarbeitung mittels grafischer Programmiersprachen (LabView)
  • Implementierung von mathematischen Algorithmen (Operations Research)
  • Projekt- und Personalmanagement

In vielen Fächern wurde der Realitätsbezug durch praktische Arbeiten hergestellt.

Diplomarbeit: Robot Virtual Factory - Plattformunabhängiges Rahmenwerk zur Simulation automatisierter Fertigungsprozesse

Das Projekt RVF - Robot Virtual Factory - hat die stufenweise Entwicklung eines Simulationswerkzeuges für Industrieroboter und Fertigungsumgebungen zum Ziel. Das Projekt wird als Open-Source-Lösung umgesetzt und basiert auf einer Reihe frei verfügbaren Bibliotheken und Werkzeuge, die zum Teil speziell dafür entwickelt werden.

Einsatzgebiete sind die Ausbildung im Bereich Robotik und Automatisierungstechnik (Roboterprogrammierung, Kinematik) und im Bereich Informatik (kinematische Algorithmen, Software-Konstruktion, Compiler und Interpreter). Durch die Quelloffenheit wird sich das System auch als Testumgebung für Steuerungsalgorithmen eignen.

Die graphischen Oberfläche ist mittels OpenGL und der Qt-Bibliothek realisiert. Die Kollisionserkennung bewegter Objekte ist möglich. Die kinematischen Berechnungen werden auf der Grundlage einer speziell entwickelten Bibliothek implementiert, die auch Geschwindigkeiten und Beschleunigungen bewegter Teile exakt ermitteln kann. Im Rahmen von weiteren Abschlussarbeiten ist eine generische Robotersteuerung geplant, die über eine Zwischencode-Schnittstelle verfügt und über einen integrierten Interpreter scripting-fähig sein wird. Spätere Erweiterungen sehen die Integration von Aktorik und Sensorik, Arbeitsraumanalysen und Aufstellungsoptimierung vor.
Das Exponat an der Fachhochschule Südwestfalen in Iserlohn gibt Einblicke in ein laufendes Entwicklungsprojekt.

Ausbildung beim Theodor-Reuter-Berufskolleg Iserlohn (Staatliche Berufsfachschule für Fertigungstechnik und Elektrotechnik),
Abschluss als Kommunikationselektroniker, Fachrichtung Informationstechnik 2000.

Schwerpunkte der Ausbildung:

  • Stromversorgungstechnik
  • Analogtechnik
  • Digital- und Mikrocontrollertechnik
  • Programmierung (Assembler, Pascal)
  • Mess-, Steuer-, Regelungstechnik sowie Datenkommunikation

In allen berufsbezogenen fächern wurde der Realitätsbezug durch entsprechende Projekte in den Fachwerkstätten hergestellt.

   

Hardware

In erster Linie Kenntnisse im Bereich Mess- und Regelungstechnik, Signalgeneratoren, digitale und analoge Oszillografen.
Gute Hardwarekenntnisse, die für hardwarenahe Softwareentwicklung von Vorteil sind. Messtechnische Erfahrungen in der analogen und digitalen Schaltungstechnik sind vorhanden, mäßig komplexe Schaltungen können getestet werden.

   

Softwareentwicklung und Programmierung

In erster Linie Softwareentwicklung im Systembereich und zwar über die gesamte Projektlaufzeit hinweg.
Dazu gehören die Analyse, die Architektur, Mitarbeit bei der System- und Software Anforderungsspezifikation, die Implementierung und Test von Software. Grundkenntnisse im Bereich sicherheitskritischer Softwareentwicklung sind vorhanden.

Betriebssysteme

  • Microsoft Windows (98 / 2000 / XP / Vista / 7)
  • Windows Mobile 5
  • Linux (Debian Etch, RedHat Enterprise 3/4, SuSE 8-11)

Modellierung

  • Objektorientierte Methoden (OOA / OOD)
  • Software-Architektur, UML
  • Design Patterns
  • Grundkenntnisse in Flow-Design in Zusammenhang mit DI, EBC und IoC

Programmierung

  • Assembler PIC (Microchip), AVR (Atmel)
  • Linux-Shell (bash) / Windows-Shell
  • C
  • C++
  • C#
  • Delphi / Pascal
  • LabView 7
  • Visual Basic 6
  • OpenGL 1.4 (3D-Programmierung)

Entwicklungsframeworks

  • Microsoft .NET 2.0 / 4.0
  • Nokia Qt-Bibliothek Version 4.x
  • Microsoft WinAPI / MFC

Entwicklungsumgebungen

  • Borland Developer Studio (Delphi)
  • Eclipse
  • KDevelop
  • Visual Studio 6
  • Visual Studio 2005
  • Visual Studio 2010

Normen und Richtlinien

  • EN 50271 (SIL 1)
  • MISRA 2004

Datenbanken

  • Modellierung
  • Normalisierung
  • MySQL 4.1 / 5.0 mittels ODBC/SQL
  • Sybase Advantage Database Server mittels LiveCursor / SQL
  • SQL / Stored Procedures

Datenkommunikation

  • LONWorks Feldbus
  • RS232, USB
  • Windows Netzwerk (CIFS / SMB / NetBIOS)
  • I2C
  • IEEE
  • Modbus
  • Entwicklung von übertragungstechnisch sicheren Protokollen (Master/Slave und Multi-Master)
  • VPN via IPSec
  • Tobit David 10 (Administration + Integration)
  • XML

Webdesign

Geübter Umgang mit gebräuchlicher Software wie z.B. Photoshop und Dreamweaver

Webentwicklung

  • Apache 2 (Integration + Administration)
  • XHTML 1.0
  • CSS 2.1 / 3
  • PHP 4.4 / 5 (objektorientiert)
  • Joomla! 1.5 Content Management System
  • Grundkenntnisse in Javascript (jQuery)
   

Test- und Qualitätssicherung

  • Debugging
  • Blackbox-Tests
  • Withebox-Tests
  • Entwicklung von Testszenarien für Software im Entwicklungszustand
  • Erstellung von Testspezifikationen und Testplänen