OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe
Prof. Dr. Michael Löwe, FHDW, Hannover Inhalt der Ausbildung Kennzeichen objektorientierter Softwareentwicklung (1) Projektorganisation (2) Architektur (2) Objektorientierte Analyse (4) Objektorientierter Entwurf (5) Realisierung und Test (2) Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Lernziele Überblick über die Beschreibungsmittel der Analyse Erlernen von Syntax und Semantik der Notationen Kenntnisse über Einsatzmöglichkeiten Kenntnisse über das Zusammenwirken Selbständiges Arbeiten mit den Beschreibungsmitteln Kennenlernen der Grenzen der Notationen Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Inhalt Modell der Fachklassen Beziehungen (Verfeinerung) Generalisierung, Spezialisierung und Mehrfachvererbung Abstrakte Klassen und Schnittstellenklassen Parametrische Klassen Aggregation und Komposition Abhängigkeitsbeziehungen Aktivitätsdiagramme Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Struktur der Ergebnisse Äußere Architektur: Kontext, Schnittstellen, Akteure Innere Architektur: Systemkomponenten, Schnittstellen Analyse (IST) Konstruktion (SOLL) Geschäftsvorfälle jeder Komponente Fachlexikon, Modell der Fachklassen Szenarien, Aktivitäten für jeden Geschäftsvorfall Funktionen und Abläufe Daten und Operationen Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Modell der Fachklassen Definition: Das Modell der Fachklassen ist ein Klassendiagramm. Es beschreibt die Konzepte, Gegenstände, Orte oder Personen aus der realen Welt (bzw. des Geschäftsbereichs) in einem Detaillierungsgrad, wie er vor allem von den Auftraggebern, Fachabteilungen bzw. Managern verstanden werden kann. Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Modell der Fachklassen, Beispiel: Klasse mit Namen Angebot Vertrag Kunde Anschrift Bankverbindung 1 [0,1] = hat ist Grund für ist Folge von Versicherungsnehmer Zusicherung Postanschrift Rolle Kardinalität Beziehung mit Name und Leserichtung Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Modell der Fachklassen enthält... ... keine Attribute ( Fachlexikon, Interaktion), ... keine Operationen ( Interaktion), ... ausschließlich fachliche Klassen, konkrete Klassen abstrakte Klassen Schnittstellen ... die fachlichen Beziehungen, ... Kardinalitäten, Rollen und Zusicherungen Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Modellierungskonzepte für (Fach-)Klassen (Verfeinerte Spezifikation von) Beziehungen Generalisierung und Spezialisierung Abstrakte Klassen und Schnittstellenklassen Parametrische Klassen Aggregation und Komposition Abhängigkeitsbeziehungen Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Beziehung oder Assoziation Definition: Eine Assoziation beschreibt als Relation zwischen zwei Klassen die gemeinsame Semantik und Struktur einer Menge von Objektverbindungen. Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Syntax und Semantik Syntax = Klassendiagramm: Person Vertrag 1 * versicherungsnehmer Semantik = Mögliche Objektwelten: p1:Person p2:Person p3:Person v1:Vertrag v2:Vertrag v3:Vertrag Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Assoziation Klasse A Klasse B Rolle von b für a (Rolle von a für b) Beziehungsname 1 Beziehungsname 2 [1..5] * Multiplizität Normale Assoziation: Richtung Rekursive Assoziation: Mitarbeiter 1 * führt berichtet an manager sachbearbeiter Attributierte Assoziation: Person Vertrag spielt Rolle in * Rolle Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Mehrgliedrige Assoziationen Zug Platz Fahrgast Reservierung * 1..* Zug Platz Fahrgast * 1..* Reservierung Person Vertrag spielt Rolle in * Rolle Person Vertrag * Rolle 1 spielt in Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Generalisierung und Spezialisierung Definition: Generalisierung und Spezialisierung sind Abstraktionsprinzipien zur hierarchischen Strukturierung der Sementik eines Modells. Eine Generalisierung (bzw. Spezialisierung) ist eine taxonomische1 Beziehung zwischen allgemeinen und speziellen Elementen (bzw. umgekehrt), wobei das speziellere weitere Eigenschaften hinzufügt und sich kompatibel zum allgemeinen verhält. 1 Taxonomie: „Einordnung in ein System“ Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Generalisierung, Beispiel: Person Telefonnr. Faxnr. email-Adr. Anschrift Komm.-weg * hat Person Telefonnr. Faxnr. email-Adr. Anschrift * hat Diskriminator Art Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Diskriminatoren und Mehrfachspezialisierung Maschine Dampfmaschine Verbrennungsmaschine Elektrische Maschine Motor incomplete Stationäre Maschine Bewegliche Maschine Mobilität complete Elektroauto Notstromaggregat {overlapping} Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Abstrakte Klassen Person Versicherungsnehmer hat * Kommunikationsweg {abstract} = Telefonnr. 1 Versandweg {abstract} Vertrag Faxnr. email-Adr. Anschrift Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Generalisierung und Spezialisierung Definition: Generalisierung und Spezialisierung sind Abstraktionsprinzipien zur hierarchischen Strukturierung der Sementik eines Modells. Eine Generalisierung (bzw. Spezialisierung) ist eine taxonomische1 Beziehung zwischen allgemeinen und speziellen Elementen (bzw. umgekehrt), wobei das speziellere weitere Eigenschaften hinzufügt und sich kompatibel zum allgemeinen verhält. 1 Taxonomie: „Einordnung in ein System“ Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Aggregation und Komposition Definition: Eine Aggregation ist eine Assoziation, deren beteiligte Klassen eine Ganze-Teile-Hierarchie darstellen. Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile vom ganzen existenzabhängig sind. Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Aggregation, Beispiel: 1 1..* 1 1..* Unternehmen Abteilung Mitarbeiter besteht aus besteht aus u1 a1 a2 a3 m1 m2 m3 Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
2 Beispiele für Kompositionen Übung 2 Beispiele für Kompositionen
Aggregation und Spezialisierung Generalisierung {abstract} Kompositum Element Kontext [1..*] 1 k1 k3 k2 e1 k4 e2 k5 e3 e5 e4 Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Aktivitätsdiagramme Definition: Aktivitätsdiagramme beschreiben die Ablaufmöglichkeiten eines Systems mit Hilfe von Aktivitäten. Definition: Eine Aktivität ist ein einzelner Schritt in einem Ablauf. Sie stellt einen stabilen Zustand dar, während eine internen Aktion abläuft. Sie hat eine oder mehrere ausgehende Transitionen, die automatisch dem Abschluß der internen Aktion folgen. Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Formalisierung von Anwendungsfällen, Beispiel: [Nicht gefunden] [Nicht gefunden] Angebot suchen Als Vertrag übernehmen Fehlende Daten ergänzen [Gefunden] Kunden Vertragsdaten erfassen Kundendaten aufnehmen Bankverbindung suchen&zuordnen Postanschrift Drucken bzw. Verschicken {and} Anfang Aktivität Entscheidung Transition Ende Synchronisation Splitting Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Aktivitätsdiagramme Vor Anwendungsfällen Geschäftsprozesse Transition = Wechsel des Akteurs Aktivität = Anwendungsfall Transition = Schnittstellenelement Nach Anwendungsfällen Verfeinerung eines Falls Transition = Kausale Abhängigkeit Aktivität = Elementarer (Dialog-) Schritt Transition = Kontrollfluß Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Pragmatik beim Aktivitätsmodell Sicht von außen, Sicht von den Akteuren Beschreibung des Soll- nicht des Ist-Ablaufs Nicht zu kleine Aktivitäten So viel Parallelität wie eben möglich Nur so viel Sequentialisierung, wie nötig ca. 10 - 15 Aktivitäten pro Anwendungsfall sonst Anwendungsfall dekomponieren Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover
Zusammenfassung Kontextdiagramm: System und seine Akteure Anwendungsfalldiagramm: Anwendungsfälle und ihre Akteure Fachlexikon: Fachbegriffe und -strukturen Anwendungsbeschreibung: Systemfunktionen und ihre Abläufe Fachliches Klassenmodell: Klassen und Beziehungen Aktivitätsdiagramme: Aktivitäten und kausale Abhängigkeit Fachliches Klassenmodell: Attribute und Operationen Interaktionsdiagramme: Realisierung der Aktivitäten durch Interaktion von Objekten Sprache der Analyse (cont) Prof. Dr. Michael Löwe, FHDW, Hannover