1 / 17

Architektur, Design oder Implementation?

Architektur, Design oder Implementation?. Ulrich Schulz, Sebastian Ordyniak. Einführung. Ziel: qualitative Spezifikation der Begriffe Architektur, Design und Implementation Bisher: rein quantitative Unterscheidung dieser Begriffe (unterschiedliche Level der Abstraktion). Einführung.

oriole
Download Presentation

Architektur, Design oder Implementation?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architektur, Design oder Implementation? Ulrich Schulz, Sebastian Ordyniak

  2. Einführung • Ziel: qualitative Spezifikation der Begriffe Architektur, Design und Implementation • Bisher: rein quantitative Unterscheidung dieser Begriffe (unterschiedliche Level der Abstraktion) 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) 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?) A, D oder I ?

  5. The Intension/Locality criteria • Es werden 2 Kriterien zur Unterscheidung von Spezifikationen aufgestellt: • intentional/extensional:Wie viele Instancen erfüllen die Spezifikation (unendlich oder endlich viele?) A, D oder I ?

  6. The Intension/Locality criteria • 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) ? A, D oder I ?

  7. The Intension/Locality criteria • Behauptung: A, D oder I ?

  8. The Intension/Locality criteria • Begründung: • Implementation ist local und extensional • Bleibt Architektur und Design A, D oder I ?

  9. The Intension/Locality criteria Design ist intentional und local: Beispiel Design Patterns (Factorymethoden) 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 ??? A, D oder I ?

  11. The Intension/Locality criteria Architektur ist intentional und global! Beispiele: • Layered Architecture • Pipes and filters • Law of Demeter 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 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 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 A, D oder I ?

  15. The Intension/Locality criteria  Eine Methode ruft also nie direkt Methoden entfernter Verwandter auf! A, D oder I ?

  16. UML • Wozu zählen Klassendiagramme? A, D oder I ?

  17. UML • Klassendiagramme: • Local • Intentional ( Instancen sind immer Erweiterungen – Was ist dann nicht intentional?) A, D oder I ?

More Related