• Keine Ergebnisse gefunden

Erinnerung: UML-Aufgaben im Praktomaten

N/A
N/A
Protected

Academic year: 2021

Aktie "Erinnerung: UML-Aufgaben im Praktomaten"

Copied!
10
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. U. Aßmann, Softwaretechnologie 1

Erinnerung: UML-Aufgaben im Praktomaten

einführende Aufgaben zur Java-Programmierung

Aufgaben zum Übungsmaterial

zusätzliche, komplexere Aufgaben

Klausurrelevante Aufgaben (Implementierungsteil)

(2)

Softwaretechnologie, © Prof. Uwe Aßmann

Technische Universität Dresden, Fakultät Informatik 2

Teil IV:

Objektorientierter Entwurf (OOD)

Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und

Multimediatechnik

Lehrstuhl Softwaretechnologie Fakultät für Informatik

TU Dresden

Version 11-0.1, 25.06.11

(3)

Prof. U. Aßmann, Softwaretechnologie 3

Teil IV - Objektorientierter Entwurf (Object-Oriented Design, OOD)

1) Einführung in die objektorientierte Softwarearchitektur

1) Modularität und Geheimnisprinzip 2) Entwurfsmuster für Modularität

3) BCD-Architekturstil (3-tier architectures)

2) Verfeinerung des Entwurfsmodells zum Implementierungsmodell

1) Verfeinerung von Klassendiagrammen 2) Verfeinerung von Lebenszyklen

3) Verfeinerung mit Object Fattening

3) Objektorientierte Rahmenwerke (frameworks)

4) Softwarearchitektur mit dem Quasar-Architekturstil

(4)

Prof. U. Aßmann, Softwaretechnologie 4

Verfeinerung von UML von der Analyse zum Entwurf zur Implementierung

Analyse-Modell Entwurfs-Modell (Architektur)

Implementierungsmodell (Feinentwurf)

Implementierung

vollständig nein nein beinahe ja

Sprache aUML dUML jUML Java

Charakter Fachlichkeit;

Domäne

Fachlichkeit und System

Fachlichkeit, System und Technologie

Fachlichkeit, System, Technologie und Resourcen

Technologie Annahme perfekter Technologie;

funktionale Essenz

perfekt; funktionale Essenz und interne Aktivititäten

technologieabhängig

(plattformabhängig) technolgieabhängig (plattformabhängigg), resourcenabhängig

Struktur noch wenig Architektur des Systems

Verhalten des Systems Lauffähiges Programm

(5)

Prof. U. Aßmann, Softwaretechnologie 5

Verfeinerung der Sprachkonzepte

Analyse-Modell Entwurfs-Modell

(Architektur) Implementierungsmodell

(Feinentwurf) Implementierung

Klassen Begriffe und

Domänenkonzepte;

Facetten, Rollen

Systemkonzepte;

Facetten, Rollen;

Komponenten

Systemkonzepte nur noch in einfachen Klassen;

Rollen aufgelöst durch Entwurfsmuster

Systemkonzepte

Objekte Domänenobjekte Systemobjekte auf Architekturebene

Alle Systemobjekte Alle

Systemobjekte Vererbung Begriffshierarchien

Mehrfachvererbung, Produktverbände

ad-hoc Vererbung konform, 1-D-

Vererbungshierarchie

konform

Assoziatione n

oft ungerichtet mit Kardinalitäten abgeflacht

(6)

Prof. U. Aßmann, Softwaretechnologie 6

Was bedeutet Verfeinerung?

Verfeinerungsschritte vom Analysemodell zum Entwurfsmodell

Vervollständigung (Elaboration) mit Einzelheiten

Detaillierung

Strukturierung und Restrukturierung

Abflachen (Flachklopfen, lowering) von Fragmenten:

Ersetzen von ausdrucksstarken Konstrukten durch weniger ausdrucksstarke, implementierungsnähere

Erhöhung Zuverlässigkeit: Einziehen von qualitätssteigernden Fragmenten

Einführung des Architektur-Aspektes des Systems

Integration von Unterobjekten

Verfeinerung vom Entwurfsmodell zur Implementierungsmodell und Implementierung

Gleiche Verfeinerungsschritte, aber nun in vollständige Modelle (übersetzbar, ausführbar)

Umorganisieren von nicht-konformer in konforme Vererbung

Auswahl einer Implementierungssprache

(7)

Prof. U. Aßmann, Softwaretechnologie 7

Verfeinerungsschritte beim Übergang zum Entwurfsmodell

Vervollständigung fehlender Angaben

Typisierung

Implementierung von Methoden

Strukturierung

Erhöhung von Wiederverwendung:

Einziehen von Paketen zur Strukturierung

Einschränkung durch Sichtbarkeiten zur loseren Kopplung (Datenkapselung und Austauschbarkeit)

Identifikation von abgeleiteten Modellelementen zur Elimination von Redundanz (Verschlankung)

Flachklopfen (Abflachen)

Integration von Unterobjekten: Rollen, Facetten, Teile

Abflachen der Assoziationen

(8)

Prof. U. Aßmann, Softwaretechnologie 8

Verfeinerungsschritte beim Übergang zum Entwurfsmodell (II)

Detaillierung

Assoziationen:

Einziehen von Navigationsrichtungen, um Platz zu sparen

Einziehen von Qualifikationen, um Suchen zu beschleunigen

Annotation von geordneten und sortierten Assoziationen

Einziehen von Schnittstellen zur Sicherstellung von homogenem Verhalten

Einziehen von Materialbehälterklassen (Verwaltungsklassen)

Erhöhung Zuverlässigkeit

Verfeinerung der Vererbungsrelation zu konformer Vererbung zur Elimination von Fehlern

Schreiben von Verträgen

(9)

Prof. U. Aßmann, Softwaretechnologie 9

Schritte beim Übergang zum

Implementierungsmodell (Feinentwurf)

Strukturierung

Auflösen von Mehrfachvererbung

Einziehen von abgeleiteten Relationen, um Zugriffe, Navigationen und Abfragen zu beschleunigen (Verfettung)

Detaillierung

Assoziationen:

Einziehen von Navigationsrichtungen, um Platz zu sparen

Einziehen von Qualifikationen, um Suchen zu beschleunigen

Annotation von geordneten und sortierten Assoziationen

Verfeinerung der Vererbungsrelation zu konformer Vererbung zur Elimination von Fehlern

(10)

Prof. U. Aßmann, Softwaretechnologie 10

The End

Referenzen

ÄHNLICHE DOKUMENTE

Jede Klasse in Java ist von der Klasse Objekt abgeleitet, ohne dass wir dies explizit definieren müssen.. Wie wir in der Abbildung sehen, können wir in Java eine Klasse Person

§8.1.3: The optional extends clause in a class declaration specifies the direct superclass of the current class.. A class is said to be a direct subclass of the class

Deshalb gibt es einen Zugriffsbereich für Vererbung, der alle Subklassen einer Klasse umfasst. Programmelemente, die als geschützt deklariert

erbt: code, price, available, print ergänzt: author, title, Konstruktor überschreibt: print. Article code price available() print() Article(

Zerlege Aufgabe in Teilaufgaben und spezifiziere ihre Schnittstelle word = readWord(); liefert nächstes Wort oder null, wenn kein Wort mehr.. von der aktuellen Eingabedatei

Abgang wegen Infektion und Dysfunktion von Gebärmutter, Eierstöcke, Euter & Klauen

Werden Fehler von Lernenden so gedeutet und sind sie auch bei Lehrenden negativ besetzt, so ist die Wahrscheinlichkeit hoch, dass aus ihnen 'zwar gelernt wird, sie künftig zu

Mit einer F¨ ullung konnte das Experiment ¨ uber 10 Stunden betrieben werden, bis dann bei HERMES unpolarisiertes Gas h¨ oherer Dichte eingelassen wurde und der Strahl nach dann