Objektorientierung für Führungskräfte

Einführung in die Objektorientierung

  • Komplexität von Software und Struktur komplexer Systeme
  • Objektorientierte Vorgehensweise und ihre Vorteile
  • Begriffserklärungen, Vererbung, Aggregation, Assoziation, Wiederverwendung etc.

Objektorientierte Analyse und Design

  • Ziele und Vorgehensweise
  • Elementare Systembausteine
  • Abkapselung von Systemteilen und Definition von Schnittstellen

Objektorientierte Programmentwicklung

  • Wartbarkeit und Wiederverwendbarkeit
  • Klassenbibliotheken
  • Überblick über wichtige OO-Programmiersprachen (C++ und JAVA)

Methoden und Notationen

  • Unified Modelling Language (UML) als Standard der OO-Notation

Zusätzliche Orientierung

  • Überblick über wichtige OO-Programmiersprachen (C++ und JAVA)
  • Verteilte Programmierung RPC/DCE, RMI, DCOM und CORBA
  • Komponentenmodelle COM, ActiveX und JavaBeans


Objektorientierung und Objektorientierte Analyse

Einführung in die Objektorientierung

  • Komplexität von Software und Struktur komplexer Systeme
  • Objektorientierte Vorgehensweise und Objektorientierter Lebenszyklus
  • Entwicklung, Elemente und Anwendung des Objekt-Modells
  • Objekte und Beziehungen zwischen ihnen, Klassen und Beziehungenn zwischen ihnen
  • Begriffserklärungen, Vererbung, Aggregation, Assoziation, Wiederverwendung, Mehrfachvererbung
  • Zwischenspiel von Objekten und Klassen, Methoden und Attribute
  • Klassifikation und Abstraktion, Erkennen von Klassen und Objekten
  • Polymorphismus, Generizität, Subsysteme, Schnittstellen

Methoden und Notationen

  • Unified Modelling Language (UML) als Standard der OO-Notation
  • Objektorientierte Analyse und objektorientiertes Design Peter Coad, Edward Yourdon
  • Überblick über andere Methoden, beispielsweise
  • Objektorientiertes Modellieren und Entwerfen Rumbaugh und andere
  • Objektorientiertes Software-Engineering Jacobson und andere
  • Objektorientierte Analyse und Design Grady Booch

Objektorientierte Analyse

  • Ziele und Vorgehensweise
  • Statisches, Dynamisches und Funktionales Modell des Systems
  • Klassen-, Zustands-, Squenz- und Paketdiagramme
  • Sinnvoller Einsatz von Use Cases für die Anforderungsermittlung
  • Klassen, Verantwortlichkeiten und Kooperation, fachliche Konzepte mit CRC-Karten
  • Grammatikanalyse
  • Exploratives Prototyping
  • Vorgehensmodell: anwendungsfallgetrieben, iterativ-inkrementell und architekturorientiert


Objektorientiertes Design

Objektorientiertes Design

  • Unterschiede und Abgrenzung zur Objektorientierten Analyse
  • Ergebnisse der Designphase
  • Elementare Systembausteine
  • Abkapselung von Systemteilen und Definition von Schnittstellen
  • Aufbau der Software-Architektur
  • Verwendung von Klassenbibliotheken
  • Modellierung von Hilfsklassen
  • Problembereichskomponente
  • Kommunikationskomponente
  • Datenmanagementkomponente
  • Taskmanagementkomponente


Objektorientierte Programmierung

Objektorientierte Programmentwicklung

  • Objektorientierte Programmierung im Überblick
  • Überblick über die wichtigsten OO-Programmiersprachen C++ und JAVA
  • OO-Tools und Entwicklungs-Tools
  • Komponentenmodelle COM, ActiveX und JavaBeans
  • Verteilte Programmierung RPC/DCE, RMI, DCOM und CORBA
  • Klassen für COM-Objekte
  • Wartbarkeit und Wiederverwendbarkeit
  • Verwendung von Klassenbibliotheken
  • Klassenbibliotheken für C++ und JAVA


Workshop Objektorientierung und Rational Rose

Was ist Rational Rose?

  • Zweck der visuellen Modellierung
  • Aspekte der UML in Rational Rose

Anwendungsfallorientierte Sicht

  • Erarbeiten von Anwendungsfällen
  • Erstellen von Anwendungsfalldiagrammen mit Rational Rose
  • Definition von Beziehungen Zwischen Anwendungsfällen
  • Übung zur Anwendungsfallmodellierung
  • Aktivitätsdiagramme
  • Szenarien
  • Objekte
  • Kooperationsdiagramme

Modellieren der statischen Sicht

  • Klassen und Klassenbeziehungen
  • Klasssenstruktur

Modellieren der dynamischen Sicht

  • Sequenzdiagramme

Module

  • Einfügen eines Moduls in Rational Rose
  • Umverlegen von Klassen in Module
  • Hinzufügen von Modulen in Klassendiagrammen


Zweitägige Einführung Objektorientiertes Design nach Grady Booch

Konzepte

  • Komplexität von Software und Struktur komplexer Systeme
  • Entwicklung, Elemente Anwendung und des Objekt-Modells
  • Objekte und Beziehungen zwischen ihnen
  • Klassen und Beziehungen zwischen ihnen
  • Zwischenspiel von Objekten und Klassen
  • Klassifikation und Abstraktion
  • Erkennen von Klassen und Objekten

Methoden

  • Notation für Klassendiagramme und Zustandsübergänge
  • Objekte, Module, Prozesse
  • Anwendung als Designprozeß

Beispiele in Auswahl

  • Hausheizungssystem
  • Datenbank für die Problemlösung
  • Verkehrsleitsystem