Teil IV: Objektorientierter Entwurf 41 Einführung in die objektorientierte Softwarearchitektur

Größe: px
Ab Seite anzeigen:

Download "Teil IV: Objektorientierter Entwurf 41 Einführung in die objektorientierte Softwarearchitektur"

Transkript

1 Teil IV: Objektorientierter Entwurf 41 Einführung in die objektorientierte Softwarearchitektur Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden Version , ) Architekturprinzipien 2) Modularität und Geheimnisprinzip 3) Geschichtete Architekturen Softwaretechnologie, Prof. Uwe Aßmann 1 Obligatorische Literatur Zuser Kap 10. Ghezzi Pfleeger ST für Einsteiger 5.3, 8 Prof. Uwe Aßmann, Softwaretechnologie 2

2 Sekundäre Literatur D. Parnas. On a buzzword: hierarchical structure. Proceedings IFIP Congress 1974, North-Holland, Amsterdam. Prof. Uwe Aßmann, Softwaretechnologie 3 Teil IV - Objektorientierter Entwurf (Object-Oriented Design, OOD) 1) Einführung in die objektorientierte Softwarearchitektur (41) 1) Modularität und Geheimnisprinzip 2) Entwurfsmuster für Modularität 3) BCD-Architekturstil (3-tier architectures) 2) Verfeinerung des Entwurfsmodells zum Implementierungsmodell (Anreicherung von Klassendiagrammen) 1) Verfeinerung von Operationen 2) Verfeinerung von Assoziationen 3) Verfeinerung von Vererbung 3) Verfeinerung von Lebenszyklen 1) Verfeinerung von verschiedenen Steuerungsmaschinen 4) Verfeinerung mit Chicken Fattening 5) Objektorientierte Rahmenwerke (frameworks) 6) Softwarearchitektur mit dem Quasar-Architekturstil Prof. Uwe Aßmann, Softwaretechnologie 4

3 Von der Analyse zum Entwurf Vertrag mit dem Kunden Analyse Anforderungs- Ermittlung Fachliche Modellierung Anforderungs- Spezifikation Produktdefi nition (Anforderungen und fachliches Modell) Architektur- Spezifi kation Architektur- Entwurf Klassen- Spezifi kationen Entwurf Detail- Entwurf Prof. Uwe Aßmann, Softwaretechnologie Grundlegende Architekturprinzipien Softwaretechnologie, Prof. Uwe Aßmann 6

4 Typische Bestandteile eines Softwaresystems Anwendungsspezifische Funktionen Benutzungsoberfläche Ablaufsteuerung Datenhaltung Infrastrukturdienste Kommunikationsdienste Sicherheitsfunktionen Zuverlässigkeitsfunktionen Systemadministration Installation, Anpassung Systembeobachtung Objektverwaltung Interne Objekt- und Prozeßkommunikation Verteilungsunterstützung etc. Architektur Technik Anwendung (spezifisch) Prof. Uwe Aßmann, Softwaretechnologie 7 Aspekte des Architekturentwurfs (Grobe) Strukturelle Zerlegung: Blockdiagramme Schichten, Sichten, Dimensionen F1 F3 F2 Physikalische Verteilung: Zentral oder verteilt? f1 f2 Topologie f3a f3b Ablaufsicht Logischer Detail-Entwurf Einhaltung nichtfunktionaler Anforderungen: Architekturbestimmende Eigenschaften (z.b. Realzeitsystem, eingebettetes System) Optimierungen Standardarchitekturen Prof. Uwe Aßmann, Softwaretechnologie 8

5 Architekturprinzip: Hierarchische Organisation der obersten Ebenen Mit Montagediagrammen, wurden schon in der Top-Level-Architektur behandelt Oberste Ebene des Systems ist meist hierarchisch, nicht objektorientiert strukturiert Damit die letzte Integration zum Gesamtsystem einfach verläuft Dokument- System Adresses DokumentSystem Adress Manager Text IText Text Manager Buffer Manager TextRep IForm Lines Forms Prof. Uwe Aßmann, Softwaretechnologie 9 Blockdiagramme (Informelle) Blockdiagramme sind kein Bestandteil von UML Blöcke stellen UML-Komponenten ohne Anschlüsse dar Blockdiagramme sind das meistverbreitete Hilfsmittel zum Skizzieren der logischen Struktur einer Systemarchitektur. Prof. Uwe Aßmann, Softwaretechnologie 10

6 Konfigurationsdiagramme Konfigurationsdiagramme sind nicht Bestandteil von UML Rechner, Knoten Lokales Kommunikationsnetz Speicherndes System Konfigurationsdiagramme sind das meistverbreitete Hilfsmittel zur Beschreibung der physikalischen Verteilung von Systemkomponenten. Datenkommunikations- Netz Prof. Uwe Aßmann, Softwaretechnologie 11 Beispiel Terminverwaltung PC1 PCn PDA1 PDAm Physikalische Konfi guration Termin- Server Anzeigetafel- Steuerung PC Client PDA Client Blockdiagramm PDA Sync Termin-Manager Daten- Export Termin-Datenbank Prof. Uwe Aßmann, Softwaretechnologie 12

7 Architekturprinzip: Hohe Kohäsion + Niedrige Kopplung Subsystem A (z.b. Benutzungsoberfl äche) Subsystem B (z.b. fachlicher Kern) Hohe Kohäsion: Subsystem B darf keine Information und Funktionalität enthalten, die zum Zuständigkeitsbereich von A gehört und umgekehrt. Niedrige Kopplung: Es muß möglich sein, Subsystem A weitgehend auszutauschen oder zu verändern, ohne Subsystem B zu verändern. Änderungen von Subsystem B sollten nur möglichst einfache Änderungen in Subsystem A nach sich ziehen. Prof. Uwe Aßmann, Softwaretechnologie Veränderungsorientierter Entwurf mit dem Geheimnisprinzip Softwaretechnologie, Prof. Uwe Aßmann 14

8 Architekturprinzip: Einteilung in Komponenten Nach dem Teile-und-Herrsche-Prinzip sollte Software in Komponenten oder Module eingeteilt werden Eine Komponente im allgemeinden Sinne ist eine Wiederverwendungseinheit: gruppiert Funktionalität (Kohäsion) unterstützt lose Kopplung:. hat keine impliziten, nur explizit in der Schnittstelle angegebene Abhängigkeiten zu anderen Komponenten. kann unabhängig von anderen entwickelt werden. Komponenten können einzeln getestet werden (Einheitstest, unit test). Fehler können zu individuellen Komponenten verfolgt werden. hat eine schlanke Schnittstelle kann ausgetauscht werden, ohne dass das System zusammenbricht (Ersetzbarkeit) kann wiederverwendet werden Prof. Uwe Aßmann, Softwaretechnologie 15 Komponentenmodelle und Kompositionssysteme Es gibt nicht nur die UML-Komponente. sondern viele verschiedene Komponentenmodelle: Module einer modularen Programmiersprache (Modula, Ada) Klassen in objektorientierten Sprachen UML-Komponenten Fragmentkomponenten, Schablonen Dokumentkomponenten Serverseitige Webkomponenten Ein Kompositionssystem definiert: Komponentenmodell: Eigenschaften der Schnittstelle einer Komponente Kompositionstechnik: Wie werden Komponenten komponiert? Kompositionssprache: Wie wird die Architektur eines großen Systems beschrieben? --> Vorlesung CBSE (SS) Prof. Uwe Aßmann, Softwaretechnologie 16

9 Wie modularisiert man einen Entwurf? Parnas' Prinzip des Entwurfs mit dem Geheimnisprinzip (veränderungsorientierter Entwurf, change-oriented modularization with information hiding) [Parnas, CACM 1972]: 1) Bestimme alle Entwurfsentscheidungen, die sich ändern können 2) Entwickle für jede Entscheidung ein Komponente, die die Entscheidung verbirgt Die Entscheidung nennt man das Komponenten- oder Modulgeheimnis (module secret) 3) Entwerfe eine stabile Schnittstelle für die Komponente die unverändert bleibt, wenn sich die Entwurfsentscheidung und somit die Implementierung des Modulgeheimnisses ändert Das Das Geheimnisprinzip Geheimnisprinzip erniedrigt erniedrigt die die externe externe Kopplung Kopplung und und erhöht erhöht die die innere innere Kohäsion Kohäsion Prof. Uwe Aßmann, Softwaretechnologie 17 Geheimnisse von Modulen/Komponenten Arbeitsweise von Algorithmen Datenformate Texte, Dokumente, Bilder Datentypen Abstrakte Datentypen und ihre konkrete Implementierung Benutzerschnittstellenbibliotheken Bearbeitungsreihenfolgen Verteilung Persistenz Parallelität Prof. Uwe Aßmann, Softwaretechnologie 18

10 Verschiedene Arten von Komponenten/Modulen Funktionale Module ohne Zustand sin, cos, BCD arithmetic, gnu mp, Daten-Repositorien Verbergen Repräsentation, Zugriff und Zustand der Daten Symboltabellen, Materialcontainer, Abstrakte Datentypen Singletons (Konfigurationskomponenten) Klassen mit einer einzigen Instanz Prozesse (aktive Objekte) Klassen Module, die ausgeprägt werden können Generische Klassen (Klassenschablonen) Komplexe Klassen (UML-Komponenten) Fragmentkomponenten für alle gilt das Geheimnisprinzip für alle gilt das Geheimnisprinzip Prof. Uwe Aßmann, Softwaretechnologie 19 Entwurfsmuster für Geheimnisprinzip Viele Entwurfsmuster (z.b. TemplateMethod) sind Variabilitätsmuster, d.h., sie lassen einem bestimmte Geheimnisse verbergen und dann die Implementierungen austauschen (variieren) Fassade verbirgt ein ganzes Subsystem Fabrikmethode verbirgt die Allokation von Produkten TemplateMethod und Strategie verbergen einen Anteil eines Algorithmus Singleton kapselt globale Konfigurationsdaten In UML kann man Entwurfsmuster als Komponenten (Wiederverwendungeinheiten) kapseln, indem man sie als Kollaborationen spezifiziert Prof. Uwe Aßmann, Softwaretechnologie 20

11 Entwurfsmuster Fassade zur Reduktion von Kopplung Ein Entwurfsmuster im Geiste Parnas (Wdh.) Softwaretechnologie, Prof. Uwe Aßmann 21 Entwurfsmuster Fassade (Facade) Eine Fassade (Facade) ist ein Objektadapter, der ein komplettes Subsystem verbirgt Die Fassade bildet die eigene Schnittstelle auf die Schnittstellen der verkapselten Objekte ab Eine UML-Komponente ist gleichzeitig eine (einfache) Fassade. Die Delegationskonnektoren werden 1:1 an innere Komponenten delegiert; interne Adapter können adaptieren Prof. Uwe Aßmann, Softwaretechnologie 22

12 Fassaden verbergen Subsysteme Client Eine Fassade bietet eine Sicht auf ein Subsystem an. Es darf mehrere Sichten geben, nur keinen direkten Zugriff auf die inneren Objekte Abstract Facade operation() HiddenSubsystem Concrete Facade operation(). adaptedobject.specificoperation() adaptedobject2.specificoperation(). adapted Object1 adapted Object2 adapted Object3 HiddenClass1 specificoperation() HiddenClass2 specificoperation() HiddenClass3 specificoperation() Prof. Uwe Aßmann, Softwaretechnologie 23 Restrukturierung hin zur Fassade Fassaden entkoppeln; Subsysteme können leichter ausgetauscht werden (Variabilitätsmuster) Clients Facade Subsystem Prof. Uwe Aßmann, Softwaretechnologie 24

13 Fassaden und Schichten Falls einzelne Klassen eines Subsystems wieder Fassaden sind, entstehen fassadengeschützte Schichten Clients Facade Upper layer Facade Lower layer Prof. Uwe Aßmann, Softwaretechnologie 25 Entwurfsmuster Fabrikmethode (FactoryMethod) (vertiefend) zur polymorphen Variation von Komponenten (Produkte) und zum Verbergen von Produkt-Arten Softwaretechnologie, Prof. Uwe Aßmann 26

14 Problem der Fabrikmethode Wie variiert man die Erzeugung für eine polymorphe Hierarchie von Produkten? Problem: Konstruktoren sind nicht polymorph! Product ConcreteProduct1 Product = new ConcreteProduct1() ConcreteProduct2 Prof. Uwe Aßmann, Softwaretechnologie 27 Struktur Fabrikmethode FactoryMethod ist eine Variante von TemplateMethod, zur Produkterzeugung Product Creator FactoryMethod() anoperation() Product = FactoryMethod() ConcreteProduct ConcreteCreator FactoryMethod() return new ConcreteProduct Prof. Uwe Aßmann, Softwaretechnologie 28

15 Factory Method (Polymorphic Constructor) Abstract creator classes offer abstract constructors (polymorphic constructors) Concrete subclasses can specialize the constructor Constructor implementation is changed with allocation of concrete Creator // Abstract creator class // Abstract creator class public abstract class Creator { public abstract class Creator { // factory method // factory method public abstract Set createset(int n); public abstract Set createset(int n); public class Client { public class Client { Creator cr = [.. subclass ].. Creator cr = [.. subclass ].. public void collect() { public void collect() { Set myset = Creator.createSet(10); Set myset = Creator.createSet(10);.. // Concrete creator class // Concrete creator class public class ConcreteCreator extends Creator { public class ConcreteCreator extends Creator { public Set createset(int n) { public Set createset(int n) { return new ListBasedSet(n); return new ListBasedSet(n); Prof. Uwe Aßmann, Softwaretechnologie 29 Beispiel FactoryMethod Rahmenwerk für Gebäudeautomation Klasse Building hat eine Schablonenmethode zur Planung von Gebäuden Abstrakte Methoden: createwall, createroom, createdoor, createwindow Benutzer können Art des Gebäudes verfeinern Wie kann das Rahmenwerk neue Arten von Gebäuden behandeln? Building construct() createwall() createdoor() createwindow() createroom() Skyscraper createwall() createdoor() createwindow() createroom() house = new Building(); house.construct(); house.createwall(); house.createdoor(); house.createwindow(); Framework Extensions Prof. Uwe Aßmann, Softwaretechnologie 30

16 Lösung mit FactoryMethod Bilde createbuilding() als Fabrikmethode aus // abstract creator class // abstract creator class public abstract class Building { public abstract class Building { public abstract public abstract Building createbuilding(); Building createbuilding(); // concrete creator class // concrete creator class public class Skyscraper extends Building { public class Skyscraper extends Building { Skyscraper() { Skyscraper() { public Building createbuilding() { public Building createbuilding() { fill in more info fill in more info return new Skyscraper(); return new Skyscraper(); Prof. Uwe Aßmann, Softwaretechnologie 31 Factory Method im SalesPoint-Rahmenwerk Anwender von SalesPoint verfeinern die StockImpl-Klasse, die ein Produkt des Warenhauses im Lager repräsentiert z.b. mit einem CountingStockImpl, der weiß, wieviele Produkte noch da sind StockImpl +clone() : Object #createpeer(): StockImpl CountingStockImpl #createpeer(): StockImpl Prof. Uwe Aßmann, Softwaretechnologie 32

17 Einsatz in Komponentenarchitekturen In Rahmenwerk-Architekturen wird die Fabrikmethode eingesetzt, um von oberen Schichten (Anwendungsschichten) aus die Rahmenwerkschicht zu konfigurieren: Rahmenwerk Building Building Style Anwendung Skyscraper Castle Bungalow Mideval Style Modern Style Prof. Uwe Aßmann, Softwaretechnologie 33 Strategie (Strategy, Template Class) (Wdh.) Softwaretechnologie, Prof. Uwe Aßmann 34

18 Strategy (also called Template Class) Strategy wirkt wie TemplateMethod, nur wird die Hakenmethode in eine separate Klasse ausgelagert Zur Variation der Hakenklasse (und -methode) TemplateClass templatemethod() hookobject HookClass (Strategy) hookmethod() hookobject.hookmethod() ConcreteHookValueA hookmethod() ConcreteHookValueB hookmethod() Prof. Uwe Aßmann, Softwaretechnologie 35 Kombinierter Einsatz in Rahmenwerken FactoryMethod variiert den Konstruktor TemplateMethod oder Strategy (TemplateClass) variiert die Hookmethode Bridge (s. später) variiert die TemplateMethode Rahmenwerk Building createbuilding() animate() CastleTempl createbuilding() drawbuilding() CastleHook drawbuilding() Anwendung Bungalow createbuilding() Template Class ScottishCastle drawbuilding() Factory Method Template Method Prof. Uwe Aßmann, Softwaretechnologie 36

19 Entwurfsmuster Einzelstück (Singleton) zur globalen Konfiguration einer Komponente oder Schicht (Wdh) Softwaretechnologie, Prof. Uwe Aßmann 37 Entwurfsmuster Einzelstück (Singleton) Gesucht: globales Objekt, das global oder innerhalb einer Laufzeitkomponente (z.b. Schicht) Daten, z.b. Konfi gurationsdaten, vorhält Idee: Erstelle eine Klasse, von der genau ein Objekt existiert (Invariante) Erstelle einen artifi ziellen Konstruktor (Fabrikmethode), der oft aufgerufen werden kann, aber die Invariante sicherstellt Eigentlicher Konstruktor wird verborgen (private) Austausch der Konfi guration durch Unterklassenbildung (Variabilität) Singleton theinstance: Singleton getinstance(): Singleton 0..1 theinstance:singleton class Singleton { private static Singleton theinstance = null; private Singleton () { public static Singleton getinstance() { if (theinstance == null) theinstance = new Singleton(); return theinstance; Prof. Uwe Aßmann, Softwaretechnologie 38

20 Singleton im SalesPoint the Shop Der Shop im SalesPoint-Rahmenwerk ist ein Einzelstück (die Firma). Dagegen gibt es viele Verkaufsstellen (sales points) Austausch der Eigenschaften des Shops durch Unterklassenbildung Shop #Shop() $gettheshop(): Shop $settheshop (Shop sh) Prof. Uwe Aßmann, Softwaretechnologie Schichtenarchitekturen (Layered Architectural Styles) und die benutzt -Relation Softwaretechnologie, Prof. Uwe Aßmann 40

21 Drei-Schichten-Architektur (BCD) Klassische Struktur eines interaktiven Anwendungssystems Schichten sind jeweils stark kohäsiv, und wenig gekoppelt aber warum? Oft kapselt eine Fassade eine Schicht, ein Einzelstück konfiguriert jede Schicht, Fabriken schneiden die Produkte der unteren Schichten zu, TemplateMethod/Class variieren Algorithmen der Produkte Benutzungsschnittstelle <<boundary>> Basiert auf Analysemodell Fachlicher Kern <<control>> Datenverwaltung <<data>> <<entity>> Prof. Uwe Aßmann, Softwaretechnologie 41 Verschiedene Relationen zwischen Komponenten Es gibt verschiedene Beziehungen zwischen den Komponenten eines Systems Ähnlichkeit Zugriff Vererbungsrelationen: is-a (set inheritance), behaves-like (Verhaltenskonformität), accesses-a (access relation) Zugriffsrecht: is-privileged-to, owns-a (security) Aufrufe: calls. is-called-by. delegates-to (delegation) Senden und Empfangen von Nachrichten Die USES Relation fasst alle diese zusammen Prof. Uwe Aßmann, Softwaretechnologie 42

22 USES-Relation (Relies-On, Requires, Sees-A) Component Component A A USES USES (relies-on, (relies-on, sees-a) sees-a) component component B B iff iff A A requires requires a a correct correct implementation implementation of of B B for for its its own own correct correct execution. execution. (A (A requires requires the the presence presence of of B) B) Requires an implementation may means visibility: A accesses public variable of B A uses a resource provided by B A allocates an instance of B A delegates work to B (A calls B) or B delegates work to A (B calls A) A calls B by exception or event If the USES relation is a partial order (a tree or a dag), then the system is called hierarchical or layered because partial orders can be layered Prof. Uwe Aßmann, Softwaretechnologie 43 Repeat: BCD/BCED Classification Boundary classes: Represent an interface item that talks with the user May persist beyond a run Control class: Controls the execution of a process, workflow, or business rules Does not persist Entity class: Describes persistent knowledge. Caches a persistent object from a database (data access object, DAO) Database class Adapter class for the database <<boundary>> Often, Entity and Database classes are unified <<entity>> <<database>> BCD/BCED is linked with the 3-tier architecture <<control>> Prof. Uwe Aßmann, Softwaretechnologie 44

23 Example: USES Relation in 3- and 4-Tier Architectures (BCED) 3- and 4-tier architectures have an acyclic USES relation, divided into 3 (resp. 4) layers that use each other in an acyclic relationship Upper layers see lower layers, but not vice versa Graphical user interface (GUI, Benutzerschnittstelle) <<boundary>> Application logic (business logic, Fachlicher Kern, Anwendungslogik) <<control>> Middleware (memory access, distribution) <<entity>> Data access object (DAO) Data Repository Layer (database, memory) <<database>> Prof. Uwe Aßmann, Softwaretechnologie 45 Example: 3- and 4-Tier Architectures (BCD/BCED) Good encapsulation of cohesive knowledge in a layer Low coupling due to acyclic USES relationship Better exchange of subsystems of the application GUI encapsulates user interactions and look Data repository layer encapsulates how data is stored (database, transient, persistent component platforms such as Enterprise JavaBeans) Middleware mediates between both. The middleware hides distribution. and deals with security The BCD/BCED architecture is the architecture for business-oriented software and for projects in the projects Prof. Uwe Aßmann, Softwaretechnologie 46

24 Example: 4-Tier Web System (Thick Client) Thick client Web Systems have a http-based middleware, in which GUI and application logic reside on the client, data is managed on the server Graphical user interface Client Application logic (business logic) <<boundary>> <<page>> <<control>> <<applet>> http Middleware Server <<entity>> Data access object (DAO) Data Repository Layer (database, memory) <<database>> Prof. Uwe Aßmann, Softwaretechnologie 47 Example: 4-Tier Web System (Thin Client) Thin client Web Systems have a http-based middleware, in which GUI resides on the client, application logic and data is managed on the server Graphical user interface Client http <<boundary>> <<page>> Application logic (business logic) Middleware Server <<control>> <<servlet>> <<entity>> Data access object (DAO) Data Repository Layer (database, memory) <<database>> Prof. Uwe Aßmann, Softwaretechnologie 48

25 Example: ISO-OSI 7 Layers Network Architecture Every layer contains an abstract machine (set of operations) Presentation Layer Presentation Layer Session Layer Data Transport Layer Session Layer Data Transport Layer.. Prof. Uwe Aßmann, Softwaretechnologie 49 Example: Operating Systems.. UNIX: User Space Apple- UNIX User Space Kernel Kernel Microkernel (Mach) Windows NT/XP: User Space Kernel Hardware Abstraction Layer (HAL) Prof. Uwe Aßmann, Softwaretechnologie 50

26 Example: Database Systems SQL compiler transaction manager lock manager table manager physical storage management record management layer Prof. Uwe Aßmann, Softwaretechnologie 51 Why are Layered Architectures Successful? Layered architectures require an acyclic USES relationship They are successful, Because the dependencies within the system are structured as a dag System is structured Internals of layers can be abstracted away Prof. Uwe Aßmann, Softwaretechnologie 52

27 What Have We Learned Designing the global architectural style of your application is important (Architekturentwurf) Layers play an important role The USES (relies-on) relation is different from is-a (inheritance) and part-of (aggregation) It deals with prerequisites for correct execution Can be used to layer systems, if it is acyclic Examples of architectural styles with acyclic USES relation: The BCED 4-tier architecture Layered abstract machines for interactive applications Layered behavioral state machines Both styles can be combined Prof. Uwe Aßmann, Softwaretechnologie 53 Conway s Law on Software Structure Software is always structured in the same way as the organisation which built it. Prof. Uwe Aßmann, Softwaretechnologie 54

28 The End Prof. Uwe Aßmann, Softwaretechnologie 55

Teil IV: Objektorientierter Entwurf

Teil IV: Objektorientierter Entwurf Teil IV: Objektorientierter Entwurf OOD.1 Einführung in die objektorientierte Softwarearchitektur Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie

Mehr

Teil IV: Objektorientierter Entwurf 41 Einführung in die objektorientierte Softwarearchitektur

Teil IV: Objektorientierter Entwurf 41 Einführung in die objektorientierte Softwarearchitektur New Van der Aalst Teil IV: Objektorientierter Entwurf 41 Einführung in die objektorientierte Softwarearchitektur Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl

Mehr

New. Van der Aalst. Prof. U. Aßmann, Softwaretechnologie 1

New. Van der Aalst. Prof. U. Aßmann, Softwaretechnologie 1 New Van der Aalst Prof. U. Aßmann, Softwaretechnologie 1 Teil IV: Objektorientierter Entwurf 41 Einführung in die objektorientierte Softwarearchitektur Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für

Mehr

4. Objektorientierter Entwurf

4. Objektorientierter Entwurf 4. Objektorientierter Entwurf 4.1 Entwurf der Softwarearchitektur Softwaretechnologie, Prof. Uwe Aßmann 1 Obligatorische Literatur Zuser Ghezzi 4.1-4.2 Pfleeger 5.1-5.3 Prof. Uwe Aßmann, Softwaretechnologie

Mehr

46 Softwarearchitektur mit dem Quasar-Architekturstil

46 Softwarearchitektur mit dem Quasar-Architekturstil 46 Softwarearchitektur mit dem Quasar-Architekturstil Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie http://st.inf.tu-dresden.de

Mehr

Teil IV: Objektorientierter Entwurf 41 Grundlegende Architekturprinzipien

Teil IV: Objektorientierter Entwurf 41 Grundlegende Architekturprinzipien Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Teil IV: Objektorientierter Entwurf 41 Grundlegende Architekturprinzipien Prof. Dr. rer. nat. Uwe Aßmann Institut für

Mehr

Factory Method (Virtual Constructor)

Factory Method (Virtual Constructor) Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08 Security Patterns Benny Clauss Sicherheit in der Softwareentwicklung WS 07/08 Gliederung Pattern Was ist das? Warum Security Pattern? Security Pattern Aufbau Security Pattern Alternative Beispiel Patternsysteme

Mehr

43 Verfeinerung von Lebenszyklen - Geschichtete Interpretierer (Automaten)

43 Verfeinerung von Lebenszyklen - Geschichtete Interpretierer (Automaten) 43 Verfeinerung von Lebenszyklen - Geschichtete Interpretierer (Automaten) Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt OERA OpenEdge Reference Architecture Mike Fechner PUG Infotag 19. Mai 05 Frankfurt Überblick OERA Separated presentation and integration layers Common business logic with advanced models Data access abstracted

Mehr

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek Speaker Andreas Holubek VP Engineering andreas.holubek@arlanis.com arlanis Software AG, D-14467 Potsdam 2009, arlanis

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Design Patterns 2. Model-View-Controller in der Praxis

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

Mehr

16 Architekturentwurf Einführung und Überblick

16 Architekturentwurf Einführung und Überblick Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software

Mehr

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Design Pattern - Strukturmuster CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Agenda Einleitung Strukturmuster Fassade Model View Controller Vergleich 2 Einleitung Strukturmuster

Mehr

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski Die Phase Design Design Entwerfen der Benutzeroberfläche, des Bedienablaufs und der Softwarearchitektur Umsetzen des fachlichen Modells auf technische Möglichkeiten; Spezifikation der Systemkomponenten

Mehr

The B Method. B ist eine Methode zur Spezifikation zum Entwurf zur Implementierung von Software Systemen. Bücher zur B-Methode

The B Method. B ist eine Methode zur Spezifikation zum Entwurf zur Implementierung von Software Systemen. Bücher zur B-Methode The B Method B ist eine Methode zur Spezifikation zum Entwurf zur Implementierung von Software Systemen. Bücher zur B-Methode P. Schmitt: Formal Specification and Verification of Software p.1 The B Method

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

System-Modellierung. statisches & dynamisches Modell. System Model. System Model

System-Modellierung. statisches & dynamisches Modell. System Model. System Model System Model System-Modellierung erarbeiten der: der System-UseCases des konzeptionellen Analysemodells des Architekturmodells des Designmodells Setzt auf dem BusinessModel auf Martin Jud NDS-I SWE II

Mehr

OOD.3 Verfeinerung von Lebenszyklen - Geschichtete Interpretierer (Automaten)

OOD.3 Verfeinerung von Lebenszyklen - Geschichtete Interpretierer (Automaten) OOD.3 Verfeinerung von Lebenszyklen - Geschichtete Interpretierer (Automaten) Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

Some Software Engineering Principles

Some Software Engineering Principles David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen

Mehr

Objektorientierte Analyse

Objektorientierte Analyse Objektorientierte Analyse OOA.4) Analysebeispiel EU-Rent Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

RUP Analyse und Design: Überblick

RUP Analyse und Design: Überblick Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und

Mehr

Was ist Software-Architektur?

Was ist Software-Architektur? Was ist Software-Architektur? Stephan Schulze Martin Knobloch 28.04.2004 Seminar: Software-Architektur Humboldt Universität zu Berlin sschulze knobloch@informatik.hu-berlin.de Gliederung Begriffsbestimmung

Mehr

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Objektorientierte Analyse. Verfeinerung mit Konnektoren (Kollaborationen, Teams, Rollenmodellen) Obligatorische Literatur

Objektorientierte Analyse. Verfeinerung mit Konnektoren (Kollaborationen, Teams, Rollenmodellen) Obligatorische Literatur Objektorientierte Analyse OOA.3.3 Szenarienanalyse mit komplexen Objekten Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik

Mehr

Application Layer Active Network

Application Layer Active Network Folie 1 Application Layer Active Network Vortrag zur Diplomarbeit Entwicklung eines Netzwerk-Interface zur Steuerung der Datenkommunikation einer Netzwerkkarte geschrieben und gehalten von Martin Wodrich

Mehr

Software-Entwurfsmuster

Software-Entwurfsmuster Software-Entwurfsmuster Prinzip von Entwurfsmustern und einige elementare Beispiele Malte Spiess malte@mathematik.uni-ulm.de Seminar Bildanalyse und Simulation mit Java im WS 2003/2004 Universität Ulm

Mehr

8 Design Patterns. Events

8 Design Patterns. Events 8 Design Patterns. Events Jörn Loviscach Versionsstand: 28. März 2015, 19:13 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

OOSE 8 Entwurfsmuster (Hörsaalübung)

OOSE 8 Entwurfsmuster (Hörsaalübung) OOSE 8 Entwurfsmuster (Hörsaalübung) SS 2015 Birgit Demuth Entwurfsmuster in Softwaretechnologie 2015 Prüfungsrelevant Composite Iterator Factory Method Class Adapter Object Adapter Observer Singleton

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Objects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0

Objects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0 Objects First With Java A Practical Introduction Using BlueJ Mehr über Vererbung Exploring polymorphism 1.0 Zentrale Konzepte dieses Kapitels Methoden-Polymorphie statischer und dynamischer Typ Überschreiben

Mehr

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057)

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057) e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057) 1 e-business Patterns??? e-business Patterns Architekturen, die sich über die Zeit bewährt haben. Pattern-Fundgrube web-basierte

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken Oracle Application Server Oracle Application Server - 1 Gliederung Einführung Oracle Application Server (OAS) Praxis- und Diplomarbeitenverwaltung LiveHTML Kritik Becker,

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

Objektorientierte Analyse

Objektorientierte Analyse Objektorientierte Analyse 1) Systemanalyse Einführung Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden

Mehr

Wie können Sie eine Client Lizenz wieder freigeben?

Wie können Sie eine Client Lizenz wieder freigeben? NetWorker - Allgemein Tip #267, Seite 1/5 Wie können Sie eine Client Lizenz wieder freigeben? Auch diese Frage wird häufig gestellt - sie ist wichtig, wenn ein Computer außer Dienst gestellt wurde und

Mehr

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP. Beschreibung Betriebliche Kennzahlen sind für die Unternehmensführung von zentraler Bedeutung. Die Geschäftsführer oder Manager von erfolgreichen Unternehmen müssen sich deshalb ständig auf dem Laufenden

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

Applikationsentwicklung Architekturübungen

Applikationsentwicklung Architekturübungen Applikationsentwicklung Architekturübungen Aufgabe : Systeme und Subsysteme Gegeben ist das umfangreiche Softwaresystem eines modernen Passagierflugzeuges von der Steuerung und Navigation bis zum Bordunterhaltungssysstem

Mehr

Prüfung Software Engineering I (IB)

Prüfung Software Engineering I (IB) Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 3 A Wintersemester 2014/15 Prüfung Software Engineering I (IB) Datum : 21.01.2015, 14:30 Uhr Bearbeitungszeit

Mehr

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement in Android-Apps. 16. Mai 2013 Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer

Mehr

HERZLICH WILLKOMMEN SHAREPOINT 2013 - DEEP DIVE FOR ADMINS 11.09.2012 IOZ AG 2

HERZLICH WILLKOMMEN SHAREPOINT 2013 - DEEP DIVE FOR ADMINS 11.09.2012 IOZ AG 2 11.09.2012 IOZ AG 1 HERZLICH WILLKOMMEN SHAREPOINT 2013 - DEEP DIVE FOR ADMINS 11.09.2012 IOZ AG 2 AGENDA Über mich Architekturänderungen Systemvoraussetzungen Migration Fragen 11.09.2012 IOZ AG 3 ÜBER

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

5. Abstrakte Klassen

5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Reporting Services und SharePoint 2010 Teil 1

Reporting Services und SharePoint 2010 Teil 1 Reporting Services und SharePoint 2010 Teil 1 Abstract Bei der Verwendung der Reporting Services in Zusammenhang mit SharePoint 2010 stellt sich immer wieder die Frage bei der Installation: Wo und Wie?

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server.

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server. 1. Dynamic Host Configuration Protocol 1.1 Einleitung Im Folgenden wird die Konfiguration von DHCP beschrieben. Sie setzen den Bintec Router entweder als DHCP Server, DHCP Client oder als DHCP Relay Agent

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

U08 Entwurfsmuster (II)

U08 Entwurfsmuster (II) U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??

Mehr

Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA

Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Windows Server 2012 R2 Essentials & Hyper-V

Windows Server 2012 R2 Essentials & Hyper-V erklärt: Windows Server 2012 R2 Essentials & Hyper-V Windows Server 2012 R2 Essentials bietet gegenüber der Vorgängerversion die Möglichkeit, mit den Boardmitteln den Windows Server 2012 R2 Essentials

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung Variante 1 Swisscom-Router direkt ans Netzwerk angeschlossen fixe IP-Adressen (kein DHCP) 1. Aufrufen des «Netz- und Freigabecenters». 2. Doppelklick auf «LAN-Verbindung» 3. Klick auf «Eigenschaften» 4.

Mehr

Jürgen Schwab, debis Systemhaus

Jürgen Schwab, debis Systemhaus Jürgen Schwab, debis Systemhaus 1 Komponenten - Markt VAA - Referenzmodell: eine komponentenorientierte Anwendungsarchitektur März 99 99 2 Die Voraussetzungen für einen Komponentenmarkt sind so gut wie

Mehr

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie. GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen Teil 1: Einführung: Wissensbasis und Ontologie Was ist eine Wissensbasis? Unterschied zur Datenbank: Datenbank: strukturiert

Mehr

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010 1 von 6 Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010 ci solution GmbH 2010 Whitepaper Draft Anleitung Deutsch Verfasser: ci solution GmbH 2010 Manfred Büttner 16. September

Mehr

Ökonomik der Agrar und Ernährungswirtschaft in ILIAS

Ökonomik der Agrar und Ernährungswirtschaft in ILIAS ILIAS Open Source elearning Die ersten Schritte in ILIAS & Der Zugriff auf das Modul Ökonomik der Agrar und Ernährungswirtschaft in ILIAS Gliederung Login Einführung Was versteht man unter ILIAS? Hauptansichten

Mehr

HANDBUCH LSM GRUNDLAGEN LSM

HANDBUCH LSM GRUNDLAGEN LSM Seite 1 1.0 GRUNDLAGEN LSM 1.1. SYSTEMVORAUSSETZUNGEN AB LSM 3.1 SP1 (ÄNDERUNGEN VORBEHALTEN) ALLGEMEIN Lokale Administratorrechte zur Installation Kommunikation: TCP/IP (NetBios aktiv), LAN (Empfehlung:

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Thema: Microsoft Project online Welche Version benötigen Sie?

Thema: Microsoft Project online Welche Version benötigen Sie? Seit einiger Zeit gibt es die Produkte Microsoft Project online, Project Pro für Office 365 und Project online mit Project Pro für Office 365. Nach meinem Empfinden sind die Angebote nicht ganz eindeutig

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen Anwendungshinweis Nr. 12 Produkt: Schlüsselworte: Problem: Softing OPC Easy Connect OPC Server, Redundanz Wie konfiguriere ich redundante Lösung: Ausgangssituation: Eine OPC Client-Anwendung ist mit mehreren

Mehr

6 Architektur-Mittel (WOMIT)

6 Architektur-Mittel (WOMIT) 6 Architektur-Mittel (WOMIT) Abb. 6-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WOMIT-Dimension des architektonischen Ordnungsrahmens, indem es grundlegende Konzepte

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

12.4 Sicherheitsarchitektur

12.4 Sicherheitsarchitektur 12.4 Sicherheitsarchitektur Modellierung Sicherheitsstrategie Systemmodell Sicherheitsmodell Entwurf Architektur Sicherheitsarchitektur Implementierung sicherer Code SS-12 1 Wie wird das Sicherheitsmodell

Mehr

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank SwissICT 2011 am Fallbeispiel einer Schweizer Bank Fritz Kleiner, fritz.kleiner@futureways.ch future ways Agenda Begriffsklärung Funktionen und Aspekte eines IT-Servicekataloges Fallbeispiel eines IT-Servicekataloges

Mehr

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration Ora Education GmbH www.oraeducation.de info@oraeducation.de Lehrgang: Oracle Application Server 10g R3: Administration Beschreibung: Oracle Application Server 10g Release 3 (10.1.3.1.0) bietet eine neue

Mehr

Abschnitt 16: Objektorientiertes Design

Abschnitt 16: Objektorientiertes Design Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das

Mehr

Informationswirtschaft II

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr