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

Slides:



Advertisements
Ähnliche Präsentationen
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Advertisements

Blue J.
8. Termin Teil B: Wiederholung Begriffe Baum
Integrations- und Funktionstests im Rahmen des V-Modelles
Dokumentation von Software Architekturen unter Berücksichtigung von IEEE 1471 Vortrag an der FH Regensburg © Dr. Ulrich Margull, 2004 Dr. Ulrich.
Inhalt Saarbrücken,.
Harald Köbler Software Design Patterns Prototype.
Vom graphischen Differenzieren
Frame-Logik Eine Einführung Andreas Glausch.
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Finale Semantik und beobachtbares Verhalten
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 4 / 1 Termalgebren Definition "Freie Algebra" Die -Algebra A = [A, F ] heißt.
Hauptseminar Modellüberprüfung Kathrin Ott
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken beschreiben Sprachen L µ *, indem.
Einführung Blue J.
On a Buzzword: Hierachical Structure David Parnas.
Vorgehensmodelle – Prototyping
Java: Objektorientierte Programmierung
Formale Sprachen – Mächtigkeit von Maschinenmodellen
Java: Grundlagen der Objektorientierung
Seminar zum pi-Kalkül betreut von Andreas Rossberg
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Kapitel 5 Stetigkeit.
Kapitel 1 Das Schubfachprinzip
Kapitel 2 Die rationalen und die irrationalen Zahlen.
Texturwahrnehmung von Bela Julesz
Vorlesung: 1 Betriebssysteme 2007 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 3. Quartal.
Vorlesung: 1 Betriebssysteme 2008 Prof. Dr. G. Hellberg Studiengang Mechatronik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 2. Quartal.
Ganzzahligkeit in LP-Modellen
handlungsorientierte Zugänge zur Algebra
= 4x x nach links, Zahl nach rechts! -2x 4x -2x + 52x – 2x x -2x = 2x – 2x x Zahl 2x= = 2x -15 x = - 10 = 4x + 52x -15 Beispiel.
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
3.+4. Übungsblatt Abstraktion, Modultypen und OO Erweiterung des Entwurfs Benutzbarkeitsbeziehungen 11. Mai 2006 Dipl.-Inform. Christian Fuß.
DVG Einführung in Java1 Einführung in JAVA.
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
§14 Basis und Dimension (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
UML Begleitdokumentation des Projekts
Diplomarbeit Thema: Untersuchungen zur Spezifikation und Realisierung von Interoperabilitätskonzepten (hauptsächlich) CORBA-basierter Multiagentensysteme.
Spatial Decision Support Systems (SDSS)
§17 Produkte und Quotienten von Vektorräumen
Unternehmen.
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
1. Mengenlehre Grundbegriffe.
Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. M. Thaller AM1: Re-usable Content in 3D und Simulationssystemen.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
§3 Allgemeine lineare Gleichungssysteme
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Layered Learning Kapitel 4. Voraussetzungen 1. Komplexe Domain realtime noisy limited communications viele bewegt Objekte (Ball, Mitspieler, Gegner) direktes.
Kapitel 16 Ökonometrische Modelle
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Seminar Wien Einführung.
Implementierung eines RDF Stores
Leere Menge, Teilmenge, N, Z
Reelle Zahlen Grundrechenarten √2, √3, √5, … V 0.1.
Korrektheit von Programmen – Testen
Unified Modeling Language UML
Vom graphischen Differenzieren
Einführung Blue J. Inhaltsverzeichnis  Definition  Vokabeln.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Gegenstandsbenennung – Dimensionale Analyse & Begriffsbildung
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Universität Zürich Informatikdienste GoKoordinatorenmeeting 27. April SpamAssassin.
Objektorientierte (OO) Programmierung
Systems Requirements & Achitectur ENG 2 & ENG 3 Training Kunde,
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
S INGLETON P ATTERN IN M ATLAB By Giuseppe
Java-Kurs - 8. Übung Klassen und Objekte: Vererbung
Practical Exercises and Theory
 Präsentation transkript:

Architektur, Design oder Implementation? Ulrich Schulz, Sebastian Ordyniak

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)

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: 1. intentional/extensional: Wie viele Instancen erfüllen die Spezifikation (unendlich oder endlich viele?)

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) ?

A, D oder I ?7 The Intension/Locality criteria Behauptung: architekturintensionalglobal designintensionallocal implementationextensionallocal

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: 1.Layered Architecture 2.Pipes and filters 3.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?)