Call for Papers

Die Quadratur des Klassendesigns ( Kompaktseminar )

Ein Leitfaden für den Entwurf von Klassen einer Applikation

Referent: Karl Nieratschker, SKT Nieratschker
Vortragsreihe: KS 1.03
Zeit: 03.12.18 09:00-12:30

Zielgruppe

Entwicklung

Themenbereiche

Analyse & Design, Implementierung

Schwerpunkt

Methode

Voraussetzungen

Grundlagenwissen

Kurzfassung

Der Entwurf von Klassen für ein objektorientiertes Softwaresystem gehört zu den anspruchsvollsten Aufgaben eines Softwareentwicklers. Für ein gutes Klassendesign wird viel Erfahrung und Kreativität benötigt, insbesondere dann, wenn es um Embedded Systeme geht. Die Klassen müssen nicht nur alles enthalten, was die aktuelle Anwendung benötigt, sondern sollten gleichzeitig auch optimal wiederverwendbar und erweiterbar sein, damit das Rad nicht immer wieder neu erfunden werden muss. Gleichzeitig sollten sie auch leicht verständlich sein, damit neue Mitarbeiter sich schnell einarbeiten können und die Wartung nicht zum Albtraum wird. Und nicht zuletzt müssen auch noch Speicherplatz- und Laufzeitanforderungen erfüllt werden. Angesichts dieser Herausforderungen zeigt dieser Vortrag nicht nur, wie die vielen Fragen, die sich in diesem Zusammenhang stellen, mithilfe von klassischen Designprinzipien wie z.B. DRY, YAGNI und SOLID beantwortet werden können, sondern auch, was dabei zu beachten ist.

Gliederung

Der Vortrag gibt Antworten auf viele Fragen, die generell für den Entwurf von objektorientierten Softwareanwendungen wichtig sind, wie z.B.:
- Was sind wichtige Ziele für einen guten Softwareentwurf?
- Was ist Sinn und Zweck einer Klasse?
- Wie findet man Klassen?
- Welche Rolle spielt die Namensgebung in diesem Zusammenhang?
- Welchen Funktionsumfang sollte eine Klasse besitzen?
- Was kostet eigentlich eine Klasse?
- Welche Methoden sollte eine Klasse haben, und wie findet man diese?
- Wie geht man am besten mit Typvarianten um?
- Wie gestaltet man die Zusammenarbeit von Klassen?
- Wie sorgt man für Flexibilität und gute Anpassbarkeit?
- …

Nutzen und Besonderheiten

Die Erfahrung zeigt, dass der Entwurf von Klassen auch bei noch so viel Erfahrung nie zu einer Routineangelegenheit wird, denn bei jedem neuen Projekt gibt es wieder neue Gegebenheiten und Anforderungen. Dieser Vortrag stellt einen Leitfaden dar, der es dem Teilnehmer nicht nur ermöglicht, seine Software nach anerkannten und praxiserprobten Designprinzipien zu entwerfen, sondern insbesondere auch, Designfehler zu vermeiden, die sich häufig erst sehr viel später auswirken und deshalb, wenn überhaupt, nur mit viel Aufwand wieder behoben werden können.

Über den Referenten

Mehr als 25-jährige Berufserfahrung in den Bereichen Software-Entwicklung, Beratung und Training, hauptsächlich für Embedded/Realtime-Systeme sowie Windows- und Linux-Programmierung. Seit 1999 freiberuflicher Dozent, Softwareberater und Coach mit Schwerpunkt auf objektorientierte Programmierung und Softwaredesign in ressourcenlimitierten Systemen, sowie Multithreading- und Multicore-Programmierung.