Analyse und Entwurf objektorientierter Systeme
|
|
- Juliane Schulze
- vor 8 Jahren
- Abrufe
Transkript
1 Analyse und Entwurf objektorientierter Systeme Fachbereich der FHW Berlin Teil 4 Modellbildung in der Entwurfsphase 4.2 Entwurfsmuster Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik Prof. Dr. Gert Faustmann Fachbereich Berufsakademie der FHW Berlin
2 Teil 1 Architekturmuster
3 Architekturmuster Definition SW-Architektur Eine SW-Architektur ist eine Beschreibung der Subsysteme und Komponenten eines SW-Systems und der Beziehungen zwischen ihnen. Eine Komponente ist ein in sich gekapselter Teil eines SW-Systems mit einer Schnittstelle. Mit der Größe und Komplexität von SW-Systemen wächst die Wichtigkeit nichtfunktionaler Eigenschaften wie Änderbarkeit, Interoperabilität, Effizienz, Zuverlässigkeit, Testbarkeit und Wiederverwendbarkeit. Architekturmuster bzw. allgemein Software-Muster haben zum Ziel oder fördern nichtfunktionale Eigenschaften von SW-Systemen.
4 Architekturmuster: Schichtenmodelle Ein Schichtenmodell gliedert ein SW-System in mehrere Abstraktionsebenen. Beispiel: Benutzeroberfläche (B), Verabeitung (V), Datenhaltung (D) Regeln: - Oberflächengestaltung und -verhalten nur in der Schicht B - Alle in der Analysephase definierten essenziellen Leistungen des Systems als API (Application Programming Interface) in der Schicht V - Datenbankzugriffe nur in der Schicht D, exportiert als API - Allgemein Zugriffe nur innerhalb der eigenen oder auf nächsttiefere Schicht Vorteile: - Gliederung - leichte Testbarkeit der APIs - Austauschbarkeit der Schichten B und D - Schicht F stellt Ergebnis der Analysephase dar
5 Architekturmuster: Broker-Systeme (I) Problem: Interagierende Komponenten in verteilter Umgebung Lösung: - Abhängigkeiten durch eigenständige Interprozeßkommunikation (abh. von Mechanismus, Programmiersprache, Serverstandort) - Wechsel von Systemkomponenten schwierig - systemabhängige Entwicklung Server 1 Proxy Server 2 Proxy Server 3 Proxy Broker Proxy Client 1 Proxy Client 1 direkte Kommunikation: Broker stellt Verbindung zwischen Client und Server her indirekte Kommunikation: Nachrichten gehen immer über Broker
6 Architekturmuster: Broker-Systeme (II) Beispiel: Stadtinformationssystem im WWW Server: Client: Informationen zum öffentlichen Nahverkehr, zu freien Hotelzimmern öffentliche Terminals, WWW-Browser, PDAs, Mobiltelefonen Vorteile: - Standortunabhängigkeit - Änderung der Server durch IDL-Stubs (Proxies) - Portierbarkeit (nur Broker + Neuübersetzung der Proxies) - Wiederverwendbarkeit von Diensten Nachteile: - Eingeschränkte Effizienz (Anzahl der Komponenten!) - Niedrige Fehlertoleranz (z.b. Versagen des Vermittlers) - Schwieriges Testen (Verteilte Komponenten)
7 Weitere Architekturmuster Pipes and Filters Verarbeitung von Datenströmen Jederzeit neue Anordnung der Filter Blackboard Anwendungen ohne deterministische Lösungsstrategie z.b.: Mustererkennung (Sprache, Signale, Molekülstrukturen) Presentation-Abstraction- Control Microkernel Hierarchie von Agenten, die über Kontrollmodule (Control) miteinander kommunizieren; Presentation = Nutzerschnittstelle, Abstraction = Funktionen Architektur für sich ändernde Systemanforderungen Minimaler funktionaler Kern, erweitert um zusätzliche Funktionen und kundenspezifische Teile Reflection Dynamische Änderungen der Struktur und des Verhaltens Basisebene enthält Anwendungslogik und Metaebene Informationen über ausgewählte Systemeigenschaften
8 Übung Entwerfen Sie ein Schichtenmodell für die Verwaltung eines Bankkontos. Überlegen Sie speziell, welche Informationen und welche Funktionen auf welchen Ebenen anzusiedeln sind! Sind weitere Architekturmuster für eine solche Anwendung denkbar? Geben Sie Aspekte an, die im Rahmen dieser Anwendung für bzw. gegen entsprechende Architekturen sprechen.
9 Teil 2 Entwurfsmuster
10 Klassen von Mustern A. Perspektive der Abstraktion Klassenbasierte Entwurfsmuster beschreiben Beziehungen zwischen Klassen, die während der Übersetzung festgelegt werden und durch Vererbung festgelegt werden. Objektbasierte Entwurfsmuster beschreiben Beziehungen zwischen Objekten, die zur Laufzeit geändert werden können. B. Perspektive der Aufgabe Erzeugungsmuster isolieren den Aspekt der Objekterzeugung und repräsentation. Beispiel: Singleton-Muster, Fabrikmethode-Muster Strukturmuster beschreiben, wie Klassen und Objekte zu größeren Strukturen zusammengesetzt werden. Beispiel: Proxy-Muster Verhaltensmuster beschreiben Interaktionen zwischen Objekten und Klassen. Beispiel: Publisher-Subscriber-Muster
11 Singleton-Muster Das Entwurfsmuster Singleton wird eingesetzt, wenn nur ein Objekt einer Klasse im System existieren darf. Dazu wird zunächst der Konstruktor vor einem externen Aufruf geschützt. Dann wird in der Klasse eine Klassenoperation instance() realisiert, die prüft, ob bereits ein Objekt dieser Klasse vorhanden ist. Ist noch kein Objekt vorhanden, wird ein neues Objekt erschaffen und eine Referenz zurückgeliefert. Singleton -uniqueinstance singletondata +instance() #Singleton() Im anderen Fall wird sofort die Referenz auf das bereits existierende Objekt geliefert. class Singleton{ private: static Singleton* uniqueinstance; protected: Singleton(); public: static Artikelliste* instance(); } Singleton* Singleton::instance(){ if (instance == 0){ instance = new Singleton(); } return instance; }
12 Beispiel Singleton-Muster Es soll eine Liste von Artikeln verwaltet werden. Dafür wird eine Klasse Artikelliste erschaffen, von der aber nur ein Objekt im System existieren darf. Dafür wird das Entwurfsmuster Singleton eingesetzt: Artikel Artikelliste static all: Artikelliste* Artikel[100]: Artikel* Artikelliste* instance(void) Das Objekt :Artikelliste verwaltet maximal 100 Artikelobjekte. Jedes Objekt im System, das Zugriff auf Artikel haben will, muss die statische Funktion instance der Klasse Artikelliste aufrufen, die eine Referenz auf das Objekt :Artikelliste liefert. Existiert dieses Objekt noch nicht, wird ein neues Objekt erschaffen. :Artikel :Artikel Objektdiagramm: :Artikel :Artikelliste :Artikel :Artikel
13 Fabrikmethode-Muster Zum Zeitpunkt der Erzeugung eines Objekts soll zwischen verschiedenen (Implementierungs-)Varianten gewählt werden können. Product definiert als abstrakte Klasse die Schnittstelle zu den konkreten Objekten <<abstract>> Product Creator create(...): Product Concrete Product1 Concrete Product2 <<create>> <<create>> In von Product abgeleiteten Klassen wird jeweils die Schnittstelle implementiert Creator speichert nur einen Verweis auf die abstrakte Basisklasse.
14 Beispiel Fabrikmethode-Muster Die Klasse Bestellung soll eine Liste von Positionen (Artikel und Menge) speichern. Diese Liste kann unterschiedlich realisiert werden. <<abstract>> List Falls die Bestellung häufig zu ändern ist, soll eine verkettete Liste benutzt werden. Im anderen Fall ist eine assoziative Liste für den schnelleren Zugriff auf Listenelemente zu nutzen. ArrayList LinkedList class Bestellung{... private List position; <<create>> <<create>> Bestellung Bestellung(...): Product public Bestellung(boolean oftzuaendern){ if (oftzuaendern){ position = new LinkedList(); } else { position = new ArrayList(); } } }
15 Proxy-Muster Das Muster kontrolliert den Zugriff auf ein Objekt mit Hilfe eines vorgelagerten Stellvertreterobjekts. Klient Subjekt Operation() Durch eine abstrakte Klasse wird eine gemeinsame Schnittstelle auf Proxy und Objekt definiert EchtesSubjekt Operation() echtessubjekt Proxy Operation() Der Proxy besitzt eine Referenz auf das echte Objekt. :Klient subjekt :Proxy echtessubjekt :EchtesSubjekt
16 Beispiel Proxy-Muster Das Muster kann z.b. für lokale Stellvertreter (Remote-Zugriff), virtuelle Objekte (bei hohen Kosten für Objekte), Zugriffsfilter und Smart-References (intelligenter Zeiger) eingesetzt werden. Das Beispiel zeigt, wie ein teures Objekt (z.b. Bild im Dokument) erst erzeugt wird, wenn es angezeigt werden soll. Editor Grafik Zeichne() Solange das Bild nicht angezeigt werden braucht, übernimmt ein Proxobjekt dessen Aufgaben (z.b. Liefern der Bildgröße). Bild Zeichne() echtessubjekt BildProxy Zeichne() if (bild == 0){ bild = ladebild(); } bild->zeichne();
17 Publisher-Subscriber-Muster Problem: Änderung von Daten, von denen viele Komponenten abhängen - Anzahl und Identität der Komponenten ist von vornherein nicht bekannt - Regelmäßiges Abfragen durch Komponenten nicht möglich (Aufwand) Lösung: Publisher register notify Subscriber Subscriber Subscriber push-modell: pull-modell: Senden aller geänderten Daten durch den Publisher Benachrichtigung über geänderte Daten
18 MVC-Muster (I) Problem: Flexible Darstellung und Verarbeitung von Informationen Lösung: - Änderungsanforderungen an der Benutzerschnittstelle - Unterschiedliche Anforderungen der Benutzer - Verwaltung von verschiedenen Varianten eines Systems ist teuer Nachricht Abfrage von Daten View View View Ansichten Publisher-Subscriber Model Ereignis + Daten Nachricht Abfrage von Daten Controller Controller Controller Ereignisse
19 MVC-Muster (II) Beispiel: Eingabe und Darstellung von Wahldaten Modell verwaltet aufaddierte Stimmen Abfrage von Stimmenzahlen für Ansichten Änderung der Daten für Steuerungskomponenten Ansichten: Balkendiagramm, Kuchendiagramm, Tabelle (verbunden mit Steuerung zur Eingabe von Einträgen) Vorteile: - Mehrere Ansichten mit integrierter Synchronisation - Austauschbare Ansichten und Steuerungen - Einfache Portierbarkeit (nur Views und Controller systemabhängig) Nachteile: - Erhöhte Komplexität - zu viele Aktualisierungen - getrennte Wiederverwendung von View und Controller unwahrscheinlich - schwierige Integration mit Oberflächenwerkzeugen (GUI-Builder)
20 Übung Entwerfen und realisieren Sie eine Anwendung, die das Publisher-Subscriber- Muster einsetzt: Der Publisher verwaltet eine zentrale Datenstruktur (z.b. ein int- Feld) und eine Zugriffsfunktion void change(void). Zwei Subscriber wollen informiert werden, wenn sich an diesen Daten etwas ändert (also die Zugriffsfunktion aufgerufen wurde). Die Zugriffsfunktion soll von einem vierten Modul (main) aufgerufen werden. Subscriber 1 Subscriber 2 register register notify Publisher notify Zentrale Daten Zugriff Main
21 Hilfen zur Übung Bei der Registrierung übergibt ein Subscriber dem Publisher einen Zeiger auf eine Funktion, die vom Publisher aufgerufen werden soll. Der Zeiger wird im Publisher gespeichert (Funktion register). Realisieren Sie im Publisher die Funktion void notify_all(void) die alle als Funktionszeiger gespeicherten Funktionen ausführt, sobald eine Änderung der Daten im Publisher stattgefunden hat. Der Aufruf erfolgt dann z.b. durch wenn notifylist.notify[i](); typedef void (*Tnotify) (void); // Typ Funktionszeiger struct{ Tnotify notify[100]; // 100 Subscriber möglich int anzahl; }notifylist; vereinbart wurde.
22 // // publisher.cpp // // Funktionszeiger als Typ typedef void (*Tnotify)(void); static struct{ Tnotify notify[100]; // 100 Subscriber int count; } notifylist; void register(void (*func)(void)){ notifylist.notify[notifylist.count++]=func; } void notify_all(){ for(int i=0; i<notifylist.count; i++){ notifylist.notify[i](); } } void change(){ // Daten ändern und // alle verständigen notify_all(); } void init(){ notifylist.count=0; } #include "publisher.h" #include "subscriber.h" void main(){ // Publisher initialisieren init(); // Subscriber anmelden lassen subscriber_reg(); // Aenderung der Daten change(); } // // subscriber.cpp // #include "publisher.h #include <iostream.h> // Weckfunktion void notify(){ cout << "Subscriber hat etwas bemerkt! ; } // Anmeldung beim Publisher void subscriber_reg(){ register(notify); }
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
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
MehrFactory 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
MehrDesign 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
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
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
MehrWintersemester 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
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
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:
Mehrpro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9
Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer
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
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
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
MehrEntwurfsmuster (Design Pattern) ETIS SS05
Entwurfsmuster (Design Pattern) ETIS SS05 Gliederung Motivation Pattern allgemein Proxy-Pattern Zusammenfassung 2 Motivation I Wie gut sind eure Programme strukturiert? Wartbarkeit? - Verständlichkeit
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrObjektorientierte 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
MehrKlausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
MehrÜbungen zu Softwaretechnik
Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte
Mehrmywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger
mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.
MehrSharePoint 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
MehrDrei-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
MehrSoftwaretechnik (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
MehrWillkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java
Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen
Mehrdpa-infocom - Datenlieferung
dpa-infocom - Datenlieferung Copyright 2006 von dpa-infocom GmbH Status des Dokuments: FINAL Inhaltsverzeichnis Inhaltsverzeichnis...1 1. Verzeichnisstrukturen...2 2. Nachrichtenmanagement...2 3. Datenübertragung...3
MehrSWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT
SWT II Projekt Chat - Anwendung Pflichtenheft 2000 SWT i Versionen Datum Version Beschreibung Autor 3.11.2000 1.0 erste Version Dietmar Matthes ii Inhaltsverzeichnis 1. ZWECK... 1 1.1. RAHMEN... 1 1.2.
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
MehrBedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof
Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung
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
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
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
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
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
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
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/
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrEine Anwendung mit InstantRails 1.7
Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen
MehrÜbungsklausur vom 7. Dez. 2007
Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrS TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E
S TAND N OVEMBE R 2012 HANDBUCH T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E Herausgeber Referat Informationstechnologie in der Landeskirche und im Oberkirchenrat Evangelischer Oberkirchenrat
MehrWeb Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen
9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.
MehrEinleitung: Frontend Backend
Die Internetseite des LSW Deutschland e.v. hat ein neues Gesicht bekommen. Ab dem 01.01.2012 ist sie in Form eines Content Management Systems (CMS) im Netz. Einleitung: Die Grundlage für die Neuprogrammierung
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
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
MehrSynchronisations- Assistent
TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent
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
Mehr3. Konzepte der objektorientierten Programmierung
3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung
MehrAccess 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013
Access 2013 Susanne Weber 1. Ausgabe, 1. Aktualisierung, Juni 2013 Grundlagen für Anwender ACC2013 2 Access 2013 - Grundlagen für Anwender 2 Mit Datenbanken arbeiten In diesem Kapitel erfahren Sie was
MehrTechniken der Projektentwicklungen
Von der Analyse zum Entwurf 5. Termin Vom Use Case zum Domänenmodell Bis zum nächsten Mal Vom Use Case zum Domänenmodell Vom Use Case zum Domänenmodell Was ist ein Domänenmodell? Graphische Beschreibung
MehrSichere E-Mail Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere E-Mail. der
Sichere E-Mail der Nutzung von Zertifikaten / Schlüsseln zur sicheren Kommunikation per E-Mail mit der Sparkasse Germersheim-Kandel Inhalt: 1. Voraussetzungen... 2 2. Registrierungsprozess... 2 3. Empfang
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
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
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
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
MehrDer neue persönliche Bereich/die CommSy-Leiste
Der neue persönliche Bereich/die CommSy-Leiste Mit der neue CommSy-Version wurde auch der persönliche Bereich umstrukturiert. Sie finden all Ihre persönlichen Dokumente jetzt in Ihrer CommSy-Leiste. Ein
MehrOrdner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
MehrGE Capital Equipment Financing. GE Capital Leasing-Tool Schulungsunterlagen
GE Capital Equipment Financing GE Capital Leasing-Tool Schulungsunterlagen Sie befinden sich im ALSO Online-Shop (2 Objekte liegen in Ihrem Merkzettel) Wechsel vom ALSO Online-Shop zum GE Capital Leasingantrag:
MehrAlltagsnotizen eines Softwareentwicklers
Alltagsnotizen eines Softwareentwicklers Entkoppeln von Objekten durch Callbacks mit c++-interfaces oder boost.function und boost.bind Tags: c++, entkoppeln, objekt, oop, callback, boost.bind, boost.function,
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
MehrSDD System Design Document
SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen
MehrJava 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
Mehrtentoinfinity Apps 1.0 EINFÜHRUNG
tentoinfinity Apps Una Hilfe Inhalt Copyright 2013-2015 von tentoinfinity Apps. Alle Rechte vorbehalten. Inhalt der online-hilfe wurde zuletzt aktualisiert am August 6, 2015. Zusätzlicher Support Ressourcen
MehrJava 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
MehrNovell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme
Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2
MehrPrü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
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2
Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung
MehrProzeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen
Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von
Mehr1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.
1 Einleitung Lernziele automatische Antworten bei Abwesenheit senden Einstellungen für automatische Antworten Lerndauer 4 Minuten Seite 1 von 18 2 Antworten bei Abwesenheit senden» Outlook kann während
MehrCMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1
CMS.R. Bedienungsanleitung Modul Cron Revision 1 Copyright 10.09.2009 www.sruttloff.de CMS.R. - 1 - WOZU CRON...3 VERWENDUNG...3 EINSTELLUNGEN...5 TASK ERSTELLEN / BEARBEITEN...6 RECHTE...7 EREIGNISSE...7
MehrAnleitung für die Registrierung und das Einstellen von Angeboten
Anleitung für die Registrierung und das Einstellen von Angeboten Das FRROOTS Logo zeigt Ihnen in den Abbildungen die wichtigsten Tipps und Klicks. 1. Aufrufen der Seite Rufen Sie zunächst in Ihrem Browser
MehrÄnderungsbeschreibung HWS32 SEPA Überweisungen
Änderungsbeschreibung HWS32 SEPA Überweisungen Inhaltsverzeichnis SEPA ÜBERWEISUNGEN... 2 INSTALLATION... 2 ÄNDERUNGEN IN DER ADRESSVERWALTUNG... 4 ÄNDERUNGEN IM RECHNUNGSEINGANGSBUCH... 5 DIE ÜBERWEISUNGSPROGRAMME
MehrSWE5 Übungen zu Software-Engineering
1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und
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
MehrInhalt: Ihre persönliche Sedcard... 1 Login... 1 Passwort vergessen... 2 Profildaten bearbeiten... 3
Inhalt: Ihre persönliche Sedcard..... 1 Login... 1 Passwort vergessen... 2 Profildaten bearbeiten... 3 Passwort ändern... 3 email ändern... 4 Sedcard-Daten bearbeiten... 4 Logout... 7 Ich kann die Sedcard
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
MehrGesicherte Prozeduren
Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.
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
MehrWenn Sie das T-Online WebBanking das erste Mal nutzen, müssen Sie sich zunächst für den Dienst Mobiles Banking frei schalten lassen.
1 PIN/TAN-T-Online-WebBanking mit moneyplex Bis auf wenige Ausnahmen bieten heute fast alle Kreditinstitute modernes und hoch sicheres HBCI-Internetbanking an. Um mit nicht HBCI-fähigen Banken trotzdem
MehrRIGGTEK. Dissolution Test Systems. DissoPrep Browser-Interface
2014 RIGGTEK Dissolution Test Systems DissoPrep Browser-Interface Integrieren Sie Ihren DissoPrep in Ihre IT-Infrastruktur RIGGTEK Dissolution Test Systems DissoPrep Browser-Interface 12/2014 2 Integrieren
MehrAbamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER
Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrObjectBridge 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
MehrIn diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.
Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem
MehrVermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D
Vermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D 1 1. EINLEITUNG... 3 2. ZWECK... 3 3. MOTIVATION... 3 4. ANWENDBARKEIT... 6 5. STRUKTUR... 6 6. TEILNEHMER... 7 7. INTERAKTION...
MehrSichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben
Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den
MehrDokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH
Dokumentenverwaltung Copyright 2012 cobra computer s brainware GmbH cobra Adress PLUS ist eingetragenes Warenzeichen der cobra computer s brainware GmbH. Andere Begriffe können Warenzeichen oder anderweitig
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...
MehrFastBill Automatic. Dokumentation Versand. FastBill GmbH. Holteyer Straße 30 45289 Essen Telefon 0201 47091505 Telefax 0201 54502360
FastBill GmbH Holteyer Straße 30 45289 Essen Telefon 0201 47091505 Telefax 0201 54502360 FastBill Automatic Dokumentation Versand 1 Inhaltsverzeichnis: 1. Grundlegendes 2. Produkteinstellungen 2.1. Grundeinstellungen
MehrBedienungsanleitung zur Nutzung der geschützten webbasierten Geodienste der Landesvermessung und Geobasisinformation Brandenburg
Bedienungsanleitung zur Nutzung der geschützten webbasierten Geodienste der Landesvermessung und Geobasisinformation Brandenburg Registrierung und Anlegen eines Kundenprofils Als neuer Kunde können Sie
MehrDas Model View Controller (MVC) Konzept
Das Model View Controller (MVC) Konzept Ziel: Erhöhung der Flexibilität und Reduktion der Komplexität von GUI-Programmen durch Standard- Struktur (MVC-Pattern). Geht zurück auf Smalltalk. View 1 View 2
MehrNetzwerkeinstellungen unter Mac OS X
Netzwerkeinstellungen unter Mac OS X Dieses Dokument bezieht sich auf das D-Link Dokument Apple Kompatibilität und Problemlösungen und erklärt, wie Sie schnell und einfach ein Netzwerkprofil unter Mac
MehrBenutzerhandbuch - Elterliche Kontrolle
Benutzerhandbuch - Elterliche Kontrolle Verzeichnis Was ist die mymaga-startseite? 1. erste Anmeldung - Administrator 2. schnittstelle 2.1 Administrator - Hautbildschirm 2.2 Administrator - rechtes Menü
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
MehrInventur. Bemerkung. / Inventur
Inventur Die beliebige Aufteilung des Artikelstamms nach Artikeln, Lieferanten, Warengruppen, Lagerorten, etc. ermöglicht es Ihnen, Ihre Inventur in mehreren Abschnitten durchzuführen. Bemerkung Zwischen
MehrKapitel 9. Inner Classes. 9.1 Wiederholung: Iteratoren. Ausführen einer Operation auf allen Elementen einer Containerklasse
Kapitel 9 Inner Classes 9.1 Wiederholung: Iteratoren Ausführen einer Operation auf allen Elementen einer Containerklasse (zb Liste, Baum,...) vgl. map/f old in der funktionalen Programmierung. Aber: higher-order
MehrIAWWeb PDFManager. - Kurzanleitung -
IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die
MehrPayPal API Zugang aktivieren und nutzen Version / Datum V 1.5 / 15.09.2014. a) Aktivierung auf der PayPal Internetseite. 1 von 7
Software WISO Mein Geld Thema PayPal API Zugang aktivieren und nutzen Version / Datum V 1.5 / 15.09.2014 Das vorliegende Dokument, zeigt wie der API Zugang von PayPal auf der Internetseite aktiviert und
MehrGISA. Definition Spoolfiles
GISA Definition Spoolfiles Definition Spoolfiles 2 Inhaltsverzeichnis 1 Berechtigung Spoolfiles 3 1.1 Berechtigung der Outqueues für allgemeine Ausdrucke 4 1.1.1 EDTOBJAUT (Objektberechtigung editieren)
MehrEinstieg in Exact Online Buchungen erfassen. Stand 05/2014
Einstieg in Exact Online Buchungen erfassen Stand 05/2014 Einstieg und Grundprinzip... 2 Buchungen erfassen... 3 Neue Buchung eingeben... 4 Sonstige Buchungen erfassen... 8 Bestehende Buchungen bearbeiten
Mehr