Dr. Winfried Grünewald
Stand: 20.12.2018
Herzlich Willkommen,
mein Name ist
Dr.-Ing. Winfried Grünewald.
Mein Hauptgebiet umfaßt die Entwicklung professioneller Softwareprogramme mit technischen oder
mathematischen Aufgabenstellungen in und als Leiter eines Entwicklungsteams. Als
Diplom-Mathematiker habe ich 1998 am Institut für Rechnerarchitektur und Fehlertoleranz
der Universität Karlsruhe (TH) promoviert.
Bei Ihren Projekten kann ich Sie unterstützen als:
Systemarchitekt
Die technische Software wird gerne in Anwender-Software, System-Dienste, Hardware-Treiber
und Firmware (Embedded Software) unterteilt. Mit generativen und objektorientierten Techniken
lassen sich auch komplexe Architekturen beherrschen. Fertigkeiten aus dem Compilerbau und der
formalen und informalen Programmverifikation erleichtern die Abstraktion der Komponenten und
deren Verhalten. Entwurfsmuster unterstützen hierbei das Verständnis im Team und die Dokumention.
Mathematiker
Innovative Produkte benötigen die Neuentwicklung, Revision und Adaption komplizierter und
performanter Algorithmen. Die Implementierung und Optimierung ist Aufgabe für einen Spezialisten.
Hierzu sind neben einem fundierten mathematischen Grundwissen auch genaue Kenntnisse
der (gängigen) Datenstrukturen und deren Umsetzung in der jeweiligen Systemumgebung unabdingbar.
Insbesondere stellen Mehrprozessorsysteme und Multithreading besondere Anforderungen an die
Algorithmen, deren Implementierung und Test-Szenarien. Konsistenzmodelle werden meist
stiefmütterlich behandelt.
Refaktorierer
Redesign und Migration der bestehenden Software ist oft der klügere Weg, größere existierende
Software fort- und fertig zu entwickeln. Ein kompletter Neuanfang auf der grünen
Wiese scheitert meist an der ungenauen Spezifikation und der damit verbundenen fehlenden
Akzeptanz der Benutzer und Entwickler. Selbst scheinbar gescheiterte Projekte lassen sich meist
durch Umstrukturierung in moderne Software-Produkte transformieren.
Berater
Die Kundenbedürfnisse unterscheiden sich oft von den geäußerten Kundenwünschen.
Das V-Modell verlagert die Verantwortung für eine unzutreffende Spezifikation auf den Kunden.
Der Auftraggeber ist im Normalfall aber nicht in der Lage seine Bedürfnisse für die
Entwicklungsabteilung klar genug zu formulieren. Unzufriedene Auftraggeber und Mehrkosten
sind die Folge. Die agile Softwareentwicklung z.B. Extreme Programming versucht mit Prototypen
und über kontinuierliche Kommunikation mit dem Kunden den Kundenbedürfnissen gerecht zu werden.
Überflüssige Funktion werden vermieden, die Problemstellung während der Projektphase erarbeitet
und die Dokumentation gemeinsam mit dem Auftraggeber erstellt.