Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Hludowig Bloss Geändert vor über 10 Jahren
1
Architektur, Design oder Implementation? Ulrich Schulz, Sebastian Ordyniak
2
A, D oder I ?2 Einführung Ziel: qualitative Spezifikation der Begriffe Architektur, Design und Implementation Bisher: rein quantitative Unterscheidung dieser Begriffe (unterschiedliche Level der Abstraktion)
3
A, D oder I ?3 Einführung Architektur, Design und Implementation stellen Anforderungen an ein Softwaresystem (sind Spezifikationen) Architektur, Design und Implementation sind also verschiedene Arten der Spezifikation (von Softwaresystemen)
4
A, D oder I ?4 Einführung Wie lassen sich Spezifikationen unterscheiden? Qualitative Unterscheidung anhand der Arten der Spezifikationen (Wie werden Eigenschaften von Systemen spezifiziert?)
5
A, D oder I ?5 The Intension/Locality criteria Es werden 2 Kriterien zur Unterscheidung von Spezifikationen aufgestellt: 1. intentional/extensional: Wie viele Instancen erfüllen die Spezifikation (unendlich oder endlich viele?)
6
A, D oder I ?6 The Intension/Locality criteria 2. local/global: Aussagen der Form: Ein bestimmter Teil im System erfüllt bestimmte Eigenschaften sind local Alle Teile einer bestimmten Form haben bestimmte Eigenschaften sind global mögliche Unterscheidung durch Untersuchung der Erweiterbarkeit eines Systems: - Lässt sich das System so erweitern, das es eine zuvor erfüllte Spezifikation nicht mehr erfüllt (dann global) ?
7
A, D oder I ?7 The Intension/Locality criteria Behauptung: architekturintensionalglobal designintensionallocal implementationextensionallocal
8
A, D oder I ?8 The Intension/Locality criteria Begründung: Implementation ist local und extensional Bleibt Architektur und Design
9
A, D oder I ?9 The Intension/Locality criteria Design ist intentional und local: Beispiel Design Patterns (Factorymethoden)
10
A, D oder I ?10 The Intension/Locality criteria Menge von Factoryklassen, Menge von Produktklassen Jede Factoryklasse erzeugt genau ein Produkt und umgekehrt Jede Erweiterung eines Programms welches das Design Pattern erfüllt, behält diese Eigenschaft ???
11
A, D oder I ?11 The Intension/Locality criteria Architektur ist intentional und global! Beispiele: 1.Layered Architecture 2.Pipes and filters 3.Law of Demeter
12
A, D oder I ?12 The Intension/Locality criteria Layered Architecture: Jede Klasse gehört zu einem bestimmten Layer Eine Klasse hängt nur von Klassen ab, die auf einem niedrigeren ( bzw. demselben ) Layer liegen Eine Klasse, die sich auf Klassen höherer Layer bezieht, durchbricht diese Architektur
13
A, D oder I ?13 The Intension/Locality criteria Pipes and Filters: Jede Task hat entweder Input-, OutputStreams oder beides Alle aus einer Task herausgehenden Streams gehen in dieselbe Task
14
A, D oder I ?14 The Intension/Locality criteria Lay of Demeter: Jede Methode innerhalb einer Klasse ruft nur Methoden Ihrer bzw. Freunden der eigenen Klasse auf Freunde einer Klasse sind alle membervariablen Freunde einer Methode ist die eigene Klasse, globale Variablen (Klassen) sowie die Argumente der Methode
15
A, D oder I ?15 The Intension/Locality criteria Eine Methode ruft also nie direkt Methoden entfernter Verwandter auf!
16
A, D oder I ?16 UML Wozu zählen Klassendiagramme?
17
A, D oder I ?17 UML Klassendiagramme: Local Intentional ( Instancen sind immer Erweiterungen – Was ist dann nicht intentional?)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.