Software Engineering. 11. Entwurfsmuster III. Franz-Josef Elmer, Universität Basel, HS 2015
|
|
- Norbert Siegel
- vor 8 Jahren
- Abrufe
Transkript
1 Software Engineering 11. Entwurfsmuster III Franz-Josef Elmer, Universität Basel, HS 2015
2 Software Engineering: 11. Entwurfsmuster III 2 Entwurfsmuster: Builder Separate the construction of a complex object from its representation so that the same construction process can create different representations. GoF(97) Struktur: Director construct() Builder build() builder.build() ConcreteBuilder build() getresult(): Product 1 Product
3 Software Engineering: 11. Entwurfsmuster III 3 Builder Beteiligte Klassen: Builder: Interface mit diversen Methoden um Teile eines Produktobjektes zu erzeugen. ConcreteBuilder: Implementiert die Buildermethoden. Hält alle Teile, die das Produktobjekt bestimmen. Hat eine Methode, die das fertige Produktobjekt liefert. Director: Eine Klasse mit einer Methode, welche durch den Aufruf von Buildermethoden ein Produktobjekt erzeugt. Product: Klasse, welche das vom ConcreteBuilder zu erzeugende Objekt repräsentiert.
4 Software Engineering: 11. Entwurfsmuster III 4 Builder: Zusammenarbeit :Client «create» :ConcreteBuilder «create» construct() :Director buildpart1() buildpart2() getresult() product
5 Software Engineering: 11. Entwurfsmuster III 5 Builder Anwendbar wenn die Erzeugung eines Objekts ein komplexer Prozess ist der Konstruktionsprozess unterschiedliche Repräsentationen des Produktobjekts ermöglichen soll Konsequenzen: Entkopplung der Konstruktion eines Objektes aus einer Sequenz von möglichen Schritten (definiert durch die Methoden des Builder Interfaces) von der konkreten Erzeugung. Konform mit den Designprinzipien Geheimnisprinzip Open-Closed Prinzip Erlaubt feinere Steuerung der Konstruktion eines Objektes statt eines Konstruktors mit sehr vielen Parametern. Implementierung Das Builder Interface ist nicht nötig, wenn es nur eine Repräsentation des Produktobjektes gibt. Die Builder Methoden geben das Builder Objekt selber zurück und erlauben damit method chaining (ein Charakteristikum von sogenannten fluent APIs).
6 Software Engineering: 11. Entwurfsmuster III 6 Builder: Beispiel in Java API StringBuilder: StringBuilder append(b: boolean): StringBuilder append(n: int): StringBuilder append(c: char): StringBuilder append(s: String): StringBuilder append(o: Object): StringBuilder tostring(): String Example: StringBuilder builder = new StringBuilder(); builder.append("hello ").append(name); String greetings = builder.tostring(); ProcessBuilder: ProcessBuilder command(cmd: String[]): ProcessBuilder redirectoutput(f: File): ProcessBuilder redirecterror(f: File): ProcessBuilder redirectinput(f: File): ProcessBuilder start(): Process Example: ProcessBuilder builder = new ProcessBuilder(); builder.command("data-repository"); builder.command("list", "my-repo").redirecterror(errorfile); Process process = builder.start();
7 Software Engineering: 11. Entwurfsmuster III 7 Entwurfsmuster: Composite Compose objects into a tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. GoF(163) Struktur: Client Component operation() add(c:component) remove(c:component) getchild(index:int) children * Leaf +operation() Composite 0..1 operation() add(c:component) remove(c:component) getchild(index:int) parent for each child do child.operation();
8 Software Engineering: 11. Entwurfsmuster III 8 Composite Beteiligte Klassen: Component: Definiert ein Interface für alle Objekte des Baumes Leaf: Repräsentiert ein Blatt im Baum Composite: Definiert das Verhalten eines Knoten mit Kindern Hält die Kindkomponenten Implementiert alle Operation, die sich auf Kinder beziehen Client: Manipuliert Objekte im Baum via dem Component Interface Zusammenarbeit: Der Client ruft für ein beliebiges Objekt im Baum operation() auf. Abhängig von der Objektklasse bewirkt operation() unterschiedliches. Im Fall eines Composite Objekts wird der Aufruf an alle Kinder weitergereicht. Eventuell werden davor und/oder danach noch zusätzliche Operationen ausgeführt.
9 Software Engineering: 11. Entwurfsmuster III 9 Composite Anwendbar wenn eine baumartige Struktur aus Objekten modelliert werden soll und der Unterschied zwischen Leaf und Composite in gewissen Kontexten ignoriert werden kann. Konsequenzen: Definiert eine Klassenhierarchie aus einfachen Objekten und zusammengesetzten Objekten. Vereinfacht den Client, da einfache und zusammengesetzte Objekt gleich behandelt werden. Ausnahme: Manipulationen der Baumstruktur Es ist einfach neue Objekttypen hinzuzufügen (Open-Closed Prinzip). Nachteil: Manchmal zu Allgemein. Dies kann zu Typenüberprüfung zur Laufzeit führen. Beispiel: Eine neuer Typ hat eine spezielle Methode, die nicht im Component Interface deklariert ist.
10 Software Engineering: 11. Entwurfsmuster III 10 Composite Implementierung: Kindkomponente hat expliziten Zugriff auf Elternkomponente: Component +getparent():composite... oder Component -parent:composite +getparent():composite +setparent(p:composite)... In den Implementierungen der Methoden add() und remove() von Composite muss dies entsprechend berücksichtigt werden. Die Kinder eines Composite-Objekts müssen nicht geordnet sein. Konsequenz: Anderes Zugriffsinterface, z.b. getchildren():component[*] statt getchild(index:int) Maximierung des Component Interfaces durch Hinzufügen von so vielen gemeinsamen Operationen wie möglich. Vorteil: Client muss nicht den Typ der Komponente prüfen Nachteile: Operation machen für gewisse Typen keinen Sinn.
11 Software Engineering: 11. Entwurfsmuster III 11 Composite: Implementierung Deklaration der Methoden des Kinder Managements: im Component Interface: Vorteil: Einheitliches Interface aller Knoten im Baum Nachteile: Überprüfung des Knotentyps für Operationen wie Hinzufügen oder Wegnehmen eines Kindes. Fragwürdige Implementierungen dieser Operationen in den Leaf Klassen. in der Composite Klasse: Vorteil: Kinder Management nur dort wo es Sinn macht. Nachteil: Client Klasse muss bei Manipulationen des Baums auf Composite überprüfen und umwandeln. TreeBuilder TreeUser addleaf(c: Component):TreeBuilder addsubtree():treebuilder Component operation() * Composite children 0..1 operation() add(c:component) remove(c:component) getchild(index:int)
12 Software Engineering: 11. Entwurfsmuster III 12 Composite: Beispiele Java AWT Components: Component paint(g:graphics) getparent():container * Container 0..1 add(c:component) remove(c:component) getcomponentcount():int getcomponent(index:int) W3C XML DOM API: * Node appendchild(c:node):node getchildnodes():nodelist if leaf throw DOMException 0..1 Element setattributenode(a:attr):attr getattributenode(name:string):attr 0..1 * Attr getname():name getvalue():string
13 Software Engineering: 11. Entwurfsmuster III 13 Entwurfsmuster: Iterator Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation. GoF(257) Struktur: Client Aggregate Iterator createiterator():iterator first():object next():object current():object isdone():boolean ConcreteAggregate createiterator():iterator 1 ConcreteIterator return new ConcreteIterator(this);
14 Software Engineering: 11. Entwurfsmuster III 14 Iterator Beteiligte Klassen: Iterator: Definiert ein Interface für den sequentiellen Zugriff auf die Objekte einer Ansammlung von Objekten (engl.: aggregate, collection). ConcreteIterator: Implementiert das Iterator Interface und hält die momentane Position des Zugriffs (durch current() abfragbar). Aggregator: Definiert ein Interface zur Erzeugung eines Iterator Objekts. ConcreteAggregator: Implementiert das Aggregator Interface und erzeugt eine Instanz einer passenden ConcreteIterator Klasse. Zusammenarbeit: Mit first() holte der Client das erste Objekt. Mit next() wird das jeweils darauf folgende Objekt geholt. Mittels isdone() kann der Client feststellen, ob es noch weiter Objekte gibt oder nicht.
15 Software Engineering: 11. Entwurfsmuster III 15 Iterator Anwendbar wenn auf die Objekte einer Ansammlung zugegriffen werden soll, ohne interne Repräsentation der Ansammlung preiszugeben ein einheitliches Interface zum Zugriff unterschiedlicher Typen von Ansammlungen benötigt wird. Konsequenzen: Konform mit dem Geheimnisprinzip. Unterschiedliche Iterator-Implementierungen erlauben eine Aggregatstruktur auf unterschiedliche Weise zu durchlaufen. Beispiel: Baumstruktur kann entweder zuerst in die Tiefe (deep first) oder in Breite (breadth first) durchlaufen werden. Iterator vereinfacht das Aggregate Interface (nur eine Methode). Mehrere Iteratoren können parallel die Ansammlung durchlaufen. Die Operation zur Erzeugung eines Iterator ist eine Factory Methode. Problem: Was passiert wenn die Aggregatstruktur sich während der Iteration ändert?
16 Software Engineering: 11. Entwurfsmuster III 16 Iterator Implementierung: Statt der vier Operationen des Iterators (first, next, current, isdone) sind auch weniger möglich. Im einfachsten Fall gibt es nur eine Operation next() welche das nächste Objekt oder ein Null-Objekt liefert. Der Traversierungs Algorithmus ist entweder in der konkreten Iterator Klasse implementiert oder in der konkreten Aggregat Klasse. Im letztern Fall speichert der Iterator nur die momentane Position. Ein solcher Iterator wird auch Cursor genannt. In Java sind konkrete Iteratoren oft private innere Klassen der konkreten Aggregatoren.
17 Software Engineering: 11. Entwurfsmuster III 17 Iterator: Beispiele aus der Java API Interface Enumeration: Enumeration Collection API: nextelement():object hasmoreelements():boolean Aggregator Collection Collection iterator():iterator... Java Database Connection (JDBC) API: Aggregator Statement Iterator ResultSet Iterator next():object hasnext():boolean remove() Statement executequery(sql:string):resultset... ResultSet next():boolean getobject(index:int):object...
18 Software Engineering: 11. Entwurfsmuster III 18 Entwurfsmuster: Proxy Provide a surrogate or placeholder for another object to control access to it. GoF(207) Struktur: Client Subject operation() Proxy operation() -realsubject 1 RealSubject operation()... realsubject.operation()...
19 Software Engineering: 11. Entwurfsmuster III 19 Proxy Beteiligte Klassen: Subject: Gemeinsames Interface von RealSubject und Proxy. RealSubject: Definiert reales Objekt welches durch das Proxy Objekt repräsentiert wird. Proxy: Ersatz für das reale Objekt. Delegiert den Methodenaufruf an das reale Objekt weiter. Kontrolliert den Zugriff auf ein reales Objekt. Zusammenarbeit: Aufrufe der im Subject Interface definierten Methoden werden über das Proxy Objekt an das reale Objekt weitergeleitet. Das Proxy Objekt kann davor und/oder danach weitere Aktionen ausführen.
20 Software Engineering: 11. Entwurfsmuster III 20 Proxy Anwendbar wenn das reale Objekt zu Beginn noch nicht zur Verfügung steht das reale Objekt zur Laufzeit gewechselt werden soll, ohne dass der Client etwas davon mitbekommt das reale Objekt vor unberechtigtem Zugriff geschützt werden soll ganz allgemein vor und/oder nach dem Aufruf weitere Operationen nötig sind (z.b. Logging) Aspect Oriented Programming (AOP) Konsequenzen: Konform mit dem Geheimnisprinzip. Proxy Typen: Remote Proxy: Proxy für ein Remote Objekt Virtual Proxy: Proxy als Cache des realen Objekts Protection Proxy: Proxy überprüft Zugriffsberechtigung Copy-on-Write: Statt ein reales Objekt zu kopieren (was viel Zeit und/oder Speicher kosten kann) wird zunächst nur ein Proxy davon erzeugt. Erst wenn die Kopie verändert werden soll, wird das reale Objekt wirklich kopiert.
21 Software Engineering: 11. Entwurfsmuster III 21 Proxy Implementierung: Die Proxy Klasse muss nicht immer die RealSubject Klasse kennen: 1 Subject operation() Proxy operation() RealSubject operation() Ausnahme: Virtual Proxy muss eine Instanz von RealSubject erzeugt. wenn es das erste mal gebraucht wird (lazy initialization). Java Dynamic Proxy (java.lang.reflect.proxy): Erlaubt zur Laufzeit die Erzeugung eines Proxys für ein beliebiges Objekt. Beschränkung: Dieser dynamische Proxy funktioniert nur für Methoden die in einem Interface deklariert sind.
22 Software Engineering: 11. Entwurfsmuster III 22 Entwurfsmuster: Command Encapsulate a request as an object, thereby letting you parameterize clients with different requests and support undoable operations. GoF(233) Struktur: Invoker setcommand(c:command) 1 Command execute() Receiver action() -receiver 1 ConcreteCommand excute() Client receiver.action()
23 Software Engineering: 11. Entwurfsmuster III 23 Command Beteiligte Klassen: Command: Definiert ein Interface für die Ausführung einer Operation. ConcreteCommand: Implementiert execute() durch Aufruf einer korrespondierenden Aktion im gebundenen Receiver Objekt. Receiver: Führt die eigentliche Operation aus. Invoker: Initiiert die Ausführung der Operation via Command Interface. Client: Bindet einen Invoker an einen Receiver via einer ConcreteCommand Instanz. Zusammenarbeit: Client erzeugt ConcreteCommand Objekt zu einem spezifischen Receiver Objekt und übergibt es der Invoker Instanz. Der Invoker ruft die execute() Operation seiner Command Instanz auf, welche den Aufruf an den Receiver weiterleitet.
24 Software Engineering: 11. Entwurfsmuster III 24 Command: Zusammenarbeit :Client :Invoker :Receiver «create» c:concretecommand setcommand() execute() action()
25 Software Engineering: 11. Entwurfsmuster III 25 Command Anwendbar wenn parametrisierbare Aktion benötigt wird die Spezifizierung und Ausführung einer Aktion zu unterschiedlichen Zeiten erfolgen soll ein Undo Mechanismus benötigt wird Command Interface muss um eine undo() Methode erweitert werden und ConcreteCommand muss den alten Zustand speichern. Konsequenzen: Entkopplung zwischen dem Objekt, welches eine Operation einleiten will, und dem Objekt, welches weiss wie die Operation ausgeführt wird. Konform mit den Designprinzipien Geheimnisprinzip Open-Closed Prinzip Unter Einbezug des Composite Patterns können zusammen-gesetzte Kommandos aus einfachen aufgebaut werden.
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
MehrSoftware 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
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrKlassenentwurf. 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
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrClient-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Übung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrHow-to: Webserver NAT. Securepoint Security System Version 2007nx
Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver
MehrObjektorientierte 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
MehrDaniel 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
MehrObjektorientierte 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)
MehrApplet Firewall und Freigabe der Objekte
Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable
MehrFassade. 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
MehrKonfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0.
Konfigurationsanleitung Access Control Lists (ACL) Funkwerk Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0 Seite - 1 - 1. Konfiguration der Access Listen 1.1 Einleitung Im Folgenden
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrSEP 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
MehrBenutzerverwaltung Business- & Company-Paket
Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...
MehrDatenbank-Verschlüsselung mit DbDefence und Webanwendungen.
Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine
MehrJava Einführung Collections
Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...
MehrSoftware 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)
MehrAssoziation und Aggregation
Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrInhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER
AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...
Mehr25 Import der Beispiele
25 Import der Beispiele Versuch es nicht mit Gewalt. Nimm einfach einen größeren Hammer (Murphy s Law) 25.1 Einleitung Alle Beispielprogramme dieses Buchs funktionieren mit jeder Java-konformen Entwicklungsumgebung.
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrFachdidaktik 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,
MehrWindows 8 Lizenzierung in Szenarien
Windows 8 Lizenzierung in Szenarien Windows Desktop-Betriebssysteme kommen in unterschiedlichen Szenarien im Unternehmen zum Einsatz. Die Mitarbeiter arbeiten an Unternehmensgeräten oder bringen eigene
MehrFormular»Fragenkatalog BIM-Server«
Formular»Fragenkatalog BIM-Server«Um Ihnen so schnell wie möglich zu helfen, benötigen wir Ihre Mithilfe. Nur Sie vor Ort kennen Ihr Problem, und Ihre Installationsumgebung. Bitte füllen Sie dieses Dokument
MehrVerhindert, 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:
MehrProzessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08
Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer
MehrLizenzierung von System Center 2012
Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im
MehrOP-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
MehrWindows Small Business Server (SBS) 2008
September 2008 Windows Small Business Server (SBS) 2008 Produktgruppe: Server Windows Small Business Server (SBS) 2008 Lizenzmodell: Microsoft Server Betriebssysteme Serverlizenz Zugriffslizenz () pro
MehrSQL Server 2008 Standard und Workgroup Edition
September 2008 Produktgruppe: Server Lizenzmodell: Microsoft Server Server/ Serverlizenz Zugriffslizenz () pro Gerät Zugriffslizenz () pro Nutzer Produktgruppe: Server Lizenzmodell: Microsoft Server Pro
MehrSicherer Datenaustausch mit EurOwiG AG
Sicherer Datenaustausch mit EurOwiG AG Inhalt AxCrypt... 2 Verschlüsselung mit Passwort... 2 Verschlüsseln mit Schlüsseldatei... 2 Entschlüsselung mit Passwort... 4 Entschlüsseln mit Schlüsseldatei...
MehrDer lokale und verteilte Fall
Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf
Mehram Beispiel von JUnit
Aufbau eines Testwerkzeugs am Beispiel von JUnit Üblicher Ansatz für Tests und Fehlersuche: Print-Befehle, Debugger-Ausdrücke, Test-Skripte möglichst über globale Variable debug steuerbar Command Pattern
MehrINSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA
INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA Unter Windows Vista ist die Installation der V-Modell XT Komponenten nicht ohne Weiteres möglich, da die User Account Control (UAC)-Engine dies unterbindet.
MehrAnlegen 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
MehrFolgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:
Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Mehrarlanis 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
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrAJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.
DRUPAL 7 AJAX FRAMEWORK Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks AJAX Beispiele Fragen: Gibt es jemanden der noch gar keine Erfahrungen
MehrWas meinen die Leute eigentlich mit: Grexit?
Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?
Mehr185.A Software-Entwurfsmuster 1 OOP. Software-Entwurfsmuster
2013-12-11 Software-Entwurfsmuster 1 185.A01 OOP Software-Entwurfsmuster 2013-12-11 Software-Entwurfsmuster 2 OOP Zweck von Entwurfsmustern Benennen wiederkehrender Probleme und Lösungen Austasch von Erfahrungen
MehrÜ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
MehrZä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 --
MehrDiplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
MehrDesign 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
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
MehrKommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis
Kommunikationsübersicht Inhaltsverzeichnis Kommunikation bei Einsatz eines MasterServer... 2 Installation im... 2 Installation in der... 3 Kommunikation bei Einsatz eines MasterServer und FrontendServer...
MehrGroß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,
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrJava-Tutorium WS 09/10
Tutorial: Eclipse Debugger Was ist der Eclipse Debugger? Die Eclipse Plattform stellt einige sehr hilfreiche Features zum Programmieren bereit. Eines dieser Features ist der Debugger. Mithilfe des Debuggers
MehrInternet Explorer Version 6
Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster
MehrStudieren- Erklärungen und Tipps
Studieren- Erklärungen und Tipps Es gibt Berufe, die man nicht lernen kann, sondern für die man ein Studium machen muss. Das ist zum Beispiel so wenn man Arzt oder Lehrer werden möchte. Hat ihr Kind das
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrDokumentenkontrolle Matthias Wohlgemuth Telefon 043 259 42 33 Matthias.Wohlgemuth@bvk.ch Erstellt am 26.06.2015
CITRIX DESKTOP CITRIX REMOTE ACCESS Dokumentenkontrolle Autor Matthias Wohlgemuth Telefon 043 259 42 33 E-Mail Matthias.Wohlgemuth@bvk.ch Erstellt am 26.06.2015 Status Draft Klassifizierung vertraulich
MehrAnleitung zur Bearbeitung von Prüferkommentaren in der Nachreichung
Anleitung zur Bearbeitung von Prüferkommentaren in der Nachreichung Inhalt 1. Schritt Prüferkommentare... 1 2. Schritt Prüferkommentar kommentieren... 4 3. Schritt Nachweisdokumente hochladen... 6 4. Schritt
MehrSANDBOXIE konfigurieren
SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:
MehrStatuten in leichter Sprache
Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrWenn Russland kein Gas mehr liefert
Ergänzen Sie die fehlenden Begriffe aus der Liste. abhängig Abhängigkeit bekommen betroffen bezahlen Gasspeicher Gasverbrauch gering hätte helfen importieren liefert 0:02 Pläne politischen Projekte Prozent
MehrPHPNuke Quick & Dirty
PHPNuke Quick & Dirty Dieses Tutorial richtet sich an all die, die zum erstenmal an PHPNuke System aufsetzen und wirklich keine Ahnung haben wie es geht. Hier wird sehr flott, ohne grosse Umschweife dargestellt
MehrPlanung für Organisation und Technik
Salztorgasse 6, A - 1010 Wien, Austria q Planung für Organisation und Technik MOA-VV Installation Bearbeiter: Version: Dokument: Scheuchl Andreas 19.11.10 MOA-VV Installation.doc MOA-VV Inhaltsverzeichnis
MehrAutorisierung von ArcGIS 10.3 for Server ohne Internetverbindung
Autorisierung von ArcGIS 10.3 for Server ohne Internetverbindung (Februar 2015) Copyright 2015 Esri Deutschland GmbH Inhalt 1 Einleitung... 3 2 Voraussetzungen... 3 3 Aktualisierungsprozess... 3 4 Überprüfung
MehrProgrammieren 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
MehrInstallation 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.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage
.htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess
MehrObjektorientierte 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/
MehrAutorisierung. 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
MehrRT Request Tracker. Benutzerhandbuch V2.0. Inhalte
RT Request Tracker V2.0 Inhalte 1 Was ist der RT Request Tracker und wo finde ich ihn?...2 2 Was möchten wir damit erreichen?...2 3 Wie erstelle ich ein Ticket?...2 4 Wie wird das Ticket abgearbeitet?...4
MehrSQL Server 2005 Standard Edition SQL Server 2005 Enterprise Edition SQL Server 2005 Workgroup Edition
SQL Server 2005 Standard Edition SQL Server 2005 Enterprise Edition SQL Server 2005 Workgroup Edition Produktgruppe: Server SQL Server 2005 Standard Edition, Enterprise Edition, Workgroup Edition Lizenzmodell:
MehrVorkurs 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:
MehrDiese Anleitung zeigt dir, wie du eine Einladung mit Microsoft Word gestalten kannst.
Diese Anleitung zeigt dir, wie du eine Einladung mit Microsoft Word gestalten kannst. Bevor es losgeht Wenn du mal etwas falsch machst ist das in Word eigentlich kein Problem! Den Rückgängig-Pfeil (siehe
MehrÜbungen zu C++ Kapitel 1
Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrEinrichtung des Cisco VPN Clients (IPSEC) in Windows7
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über
MehrCatherina Lange, Heimbeiräte und Werkstatträte-Tagung, November 2013 1
Catherina Lange, Heimbeiräte und Werkstatträte-Tagung, November 2013 1 Darum geht es heute: Was ist das Persönliche Geld? Was kann man damit alles machen? Wie hoch ist es? Wo kann man das Persönliche Geld
MehrSession Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de
s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrJava 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
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrMailUtilities: Remote Deployment - Einführung
MailUtilities: Remote Deployment - Einführung Zielsetzung Die Aufgabe von Remote Deployment adressiert zwei Szenarien: 1. Konfiguration der MailUtilities von einer Workstation aus, damit man das Control
MehrFragebogen: Abschlussbefragung
Fragebogen: Abschlussbefragung Vielen Dank, dass Sie die Ameise - Schulung durchgeführt haben. Abschließend möchten wir Ihnen noch einige Fragen zu Ihrer subjektiven Einschätzung unseres Simulationssystems,
MehrStudentische Lösung zum Übungsblatt Nr. 7
Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int
MehrAcceptor-Connector. Acceptor-Connector
Acceptor-Connector Das Acceptor-Connector Pattern trennt den Verbindungsaufbau zwischen zwei Peer-Services und der Verarbeitung, welche bei bestehender Verbindung durchgeführt wird. Kontext Ein Netzwerksystem
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrEva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit
Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Frau Dr. Eva Douma ist Organisations-Beraterin in Frankfurt am Main Das ist eine Zusammen-Fassung des Vortrages: Busines
Mehr