Andreas Hanke Geschäftsführer

„Das Wissen und die Erfahrung unserer Mitarbeiter sind das Fundament unseres Hauses“

Andy_wide

Alexandra Specht Key Account Managerin

„Seit 1995 sind wir auf dem Markt und jedes Jahr werden es mehr zufriedene Kunden, die unsere Dienstleistungen schätzen“

Nana_wide

Werner Eberling Principal Consultant

„Technologie-Hypes kommen und gehen, fundamentale Prinzipien der Software-Entwicklung halten Systeme stabil und zukunftssicher“

Slide3

Thomas Haug Principal Consultant

„Die Vermessung von Software und die Visualisierung der Ergebnisse hilft uns, strukturelle Probleme aufzudecken“

Thomas_wide

Objektorientierte Analyse und Design

Beschreibung:

Die objektorientierte Sicht auf Probleme und Lösungen erfordert auch eine neue Form der Analyse und der Umsetzung in ein Design. Objekte zu finden ist grundsätzlich nicht schwierig, aber bei zunehmender Komplexität des Problems, und damit zunehmender Anzahl der Objekte, nehmen die Interaktionsmöglichkeiten sehr schnell (exponentiell) zu. Mit geeigneten Analysemethoden und einigen bewährten Prinzipien kann man aber aus der Vielzahl der Möglichkeiten immer ein passendes Modell finden. Mit der Unified Modeling Language (UML) können solche Analyse- und Designmodelle ausreichend, vor allem aber normiert, beschrieben und dokumentiert werden.

Dieser Kurs gibt einen Überblick über die gemeinsamen Elemente gängiger Methoden der objektorientierten Systementwicklung und die Design-Prinzipien der Entwurfsmuster. Anhand von ausgewählten Beispielen und eigenen Anforderungen lernen Sie Systemanforderungen objektorientiert zu analysieren und mit Hilfe der allgemein anerkannten Unified Modeling Language (UML) eine Lösung zu entwickeln und zu beschreiben.

Nach erfolgreichem Abschluss des Trainings sind die Teilnehmer mit der objektorientierten Sicht auf Probleme und Lösungen vertraut, sie kennen die Formen der objektorientierten Analyse und der Umsetzung in ein objektorientiertes Design, sie können die Methoden der Analyse und des Designs nach bewährten Prinzipien anwenden, Systemanforderungen analysieren, verstehen und formalisieren Analyse-Modelle erstellen und diese in Design-Modelle überführen, die Qualität der Modelle prüfen und bewerten, die Modelle mit der Unified Modeling Language (UML) normiert beschreiben und dokumentieren und dabei die fundamentalen Analyse- und Design-Pattern einsetzen.

Inhalt:

  • Objektorientierung (Wiederholung): Abstraktion, Modell; Objekte, Klassen, Kapselung; Assoziation, Komposition, Aggregation, Generalisierung; Substitution und Polymorphismus; Komplexität, Risiko, Qualität; Kohäsion und Kopplung
  • Analyse und Design im Software-Entwicklungsprozess
  • Modelle: Analyse-Modell; Design-Modell; Überfährung Analyse-Modell in Design-Modell
  • OOA-Konzepte und -Notation: Basis: Objekt, Klasse, Attribut, Operation; Statisch: Assoziation, Generalisierung, Package; Dynamisch: Use-Case (Diagramm, Beschreibung), Collaboration, Activity, Scenario, State Machine
  • OOA-Methoden: Use-Case-Analyse; Prozess-Analyse (BPM, OOBPM); Klassen finden; CRC-Karten; Noun-Phrase-Approach; Common-Class-Pattern; Entity-Controller-Boundary
  • Analyse-Pattern
  • OOA-Checklisten
  • Konzepte und Notation des objektorientierten Designs: Basis: Klasse, Attribut, Operation, Komponente; Statisch: Assoziation, Polymorphismus, Generalisierung, Paket; Dynamisch: Activity, Scenario, State Machine
  • Design-Smells und ihre Ursachen
  • Designprinzipien: Open Closed Principle (OCP); Liskovsches Substitutionsprinzip (LSP); Design by Contract (DBC); Interface Segregation Principle (ISP); Dependency Inversion Principle (DIP); Stable Dependency; Law of Demeter / Tell don't ask / Don't talk to strangers; Design by Contract
  • Design Patterns
  • OOD-Checklisten