Objektorientierung / UML

An die natürliche Art des menschlichen Denkes angelehnte Muster werden auf strukturierte Weise entwickelt, dokumentiert und am Ende in Code umgesetzt. Kein Ansatz hat die Softwareentwicklung in den letzten Jahren so stark beeinflußt, wie die Objektorientierung - und das über die Grenzen unterschiedlicher Programmiersprachen hinweg.

Dieses Seminar vermittelt Ihnen sicheren Umgang mit Objektorientierung, ihren Begriffen und ihrer Darstellung mit Hilfe der UML (unified modeling language). Damit stellen Sie die Weichen für die erfolgreiche Realisierung objektorientierter Softwareprojekte, durch effiziente und wirtschaftliche Entwicklung qualitativ hochwertiger Software.

Sie lernen neben der UML die Grundlagen der Objektorientierung und einfache Design-Patterns (objektorientierte Strukturen für bestimmte Problemstellungen) kennen. Übungen werden mit Zettel und Stift durchgeführt. Tools und Programmiersprachen werden nicht eingesetzt. Nur vereinzelt werden kleine Beispiel-Programme gezeigt. Interessierte können gerne (außerhalb der eigentlichen Kurszeit) mit diesen Programmen experimentieren. Dafür steht jedem Teilnehmer ein Linux-Notebook mit vorinstallierten Entwicklungsumgebungen für verschiedene Programmiersprachen zur Verfügung. Für das Erlernen der objektorientierten Programmierung in einer bestimmten Programmiersprache (z.B. C++, Java, C#) ist allerdings ein eigenes Seminar notwendig!

Ziele:

  • Prinzipien der Objektorientierung verstehen und Anwenden
  • Fallstricke der Vererbung kennen und vermei­den (Vererbung an den "richtigen" Stellen einsetzen)
  • Einfache Design-Patterns (Entwurfsmuster)
  • Überblick der Diagramm-Arten der UML
  • Sicherer Umgang mit den wichtigen Diagramm-Arten der UML (Lesen, Erstellen, Anwenden)

Trainer und Dozenten

Michael Kerkhoff hat in Münster Dipl. Mathematik mit Nebenfach Informatik studiert. Seit 1998 gibt er OO Kurse bei verschiedenen Firmen. Er arbeitet freiberuflich seit 1992.

Voraussetzungen

Dieser Kurs richtet sich an

  • Projektleiter, die die objektorientierte Technologie kennen lernen wollen
  • Fachkonzeptionierer, System-Analysten, Software-Architekten, Software-Designer, Software-Ingenieure, Software-Entwickler, Anwendungsentwickler, Programmierer
  • Qualitätssicherer, Tester

Kursvoraussetzung ist logisches und analytisches Denkvermögen. Kenntnis einer Programmiersprache ist von Vorteil aber nicht notwendig.

Inhalt

Grundlagen Objektorientierung

  • Klasse
  • Objekt
  • Assoziation
  • Operation
  • ...

Grundlagen Objektorientierung

  • Vererbung
  • abstrakte Klasse

Einfache Design Patterns

  • Template Pattern

Interface, Entkopplung per Interface, Einfache Design Patterns

  • Observer Pattern

Einfache Design Patterns

  • Event-Listener Pattern
  • Model-View-Controller-Konzept

Einfache Design Patterns

  • Delegation versus Vererbung
    Kleine Design-Beispiele werden diskutiert und durch Einsatz von Delegation und Vererbung variiert. Es wird der Blick geschult für den richtigen Einsatz des Vererbungskonzepts.

Einfache Design Patterns

  • Traversierung von Bäumen

UML

  • Historie
  • einfacher Entwicklungsprozess
  • Metamodel, Infra- und Superstrukturm

UML Diagrammtypen

  • Use Case Diagram (Anwendungsfalldiagramm)
  • Klassen- und Objektdiagramm
    (Attribute, abgeleitete Attribute, Operationen, Generalisierung, abstrakte Klassen und Inter­faces, mehrfache und dynamische Klassifikation)
  • Assoziation
    (Name und Leserichtung, Rolle, Multiplizität, Navigierbarkeit, Eigenschaften für Ass.)
  • Spezielle Assoziationen
    • Aggregation und Komposition
    • Abgeleitete Assoziation
    • Qualifizierte Assoziation
    • Assoziationsklasse

UML Diagrammtypen

  • Verhaltens- und Interaktionsgramme (Aktivitäs-, Zustands-, Sequenz- und Kommunikations-Diagramm)

UML Diagrammtypen

  • Constraints (Zusicherungen)
  • Paket-Diagramme
  • Implementierungsdiagramme (Komponenten-Diagramm, Einsatz- und Verteilungs-Diagramm (deployment diagram))

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.