Softwaretechnik (Medieninformatik) Überblick: 6. Objektorientiertes Design
|
|
- Frida Schmidt
- vor 8 Jahren
- Abrufe
Transkript
1 Softwaretechnik (Medieninformatik) Überblick: 6.1 Einleitung 6.2 Verfeinerung des Klassenmodells 6.3 Sequenzdiagramme 6.4 Umsetzung der Analysekonstrukte in das Design 6.5 Fallstudie 6.6 Software Kontrakte 6.7 Anwendungsfälle und Benutzerschnittstelle 6.8 Anwendungsfälle und Interaktionsdiagramme 6.9 Anwendung von GRASP Entwurfsmustern 6.10 Entwurfsmuster der Gang of Four (GoF) 6.11 Entwurfsmuster zur Model-View Architektur 6.12 Lösungen mit Objekten und Entwurfsmustern 6.13 Spezielle Design-Probleme 6.15 Weitere GoF Pattern Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 490 Wir wollen weitere 4 Pattern als Kriterien zur Verbesserung des Designs kennenlernen: Polymorphism Pure Fabrication Indirection Don t Talk to Strangers Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 491
2 Polymorphismus Gib ähnliche Services in verschiedenen Klassen denselben Namen, aber variiere die Implementierung Die verschiedenen Klassen müssen i.a. in einer gemeinsamen Vererbungshierarchie sein (Ausnahme: Interfaces in Java) Zweck: Wenn miteinander zusammenhängende Alternativen oder Verhalten mit dem Datentyp (der Klasse) variiert, weise Zuständigkeiten für dieses Verhalten den Klassen zu, bei denen sich das Verhalten unterscheidet Verwende dazu polymorphe Operationen Korollar: Prüfe nicht den Typ eines Objektes und verwende dann bedingte Logik, um die Alternativen zu unterscheiden Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 492 Polymorphismus Problem Verwendet man in einem Programm Bedingungskonstrukte (if-thenelse, switch-case), um Fälle zu unterscheiden, so bedarf es für jeden neuen, zusätzlichen Fall einer Ergänzung dieses logischen Konstruktes Erweiterungen des Programms bedingen Änderungen an mehreren Stellen Vor dem Hintergrund von austauschbaren Softwarekomponenten kann man das Verhältnis zwischen zusammenarbeitenden Objekten als Client/Server-Beziehung ansehen Wie kann ich dann eine Server-Komponente austauschen, ohne den Klienten zu betreffen? Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 493
3 Polymorphismus Unser Beispiel: Nehmen wir an, wir haben verschiedene Zahlungsweisen vorgesehen: Barzahlung Zahlung Kreditkarte betrag Scheck autorisiere() {abstract} Wo sollte die autorisiere Methode implementiert werden? Barzahlung Kreditkartenzahlung Scheckzahlung autorisiere() autorisiere() autorisiere() Die Implementierung jeder autorisiere Methode wird verschieden sein Mittels Polymorphismus autorisiert sich jede Zahlungsart selbst Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 494 Polymorphismus Diskussion: Wie beim Expert Pattern gilt auch hier derselbe Geist : Tue es selbst Wie Expert als das wichtigste taktische Pattern in der Objektorientierung ist, kann Polymorphismus als das wichtigste strategische Pattern angesehen werden Polymorphismus muss langfristiger für eine Architektur geplant werden als die Umsetzung des Expert Patterns Ein Design, das Zuständigkeiten auf der Basis des Polymorphismus Pattern zuweist, kann leicht erweitert werden, um neue Variationen zu unterstützen Leicht könnte man eine Zahlung per Lastschrift hinzufügen. Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 495
4 Pure Fabrication Pure Erfindung (???) Zweck: Weise eine Menge stark zusammenhängender Zuständigkeiten einer künstliche Klasse zu, die nichts Reales in der Anwendungsdomäne repräsentiert Etwas, das nur dazu dient, hohen Zusammenhalt, schwache Kopplung und gute Wiederverwendbarkeit zu unterstützen Erfindung der Imagination. Design ist üblicherweise sehr sauber daher pur Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 496 Pure Fabrication Unser Beispiel: Angenommen wir benötigen Unterstützung, um eine Verkaufs-Instanz in eine relationale Datenbank zu schreiben Nach dem Expert Pattern ist das Sache von Verkauf selbst Man beachte aber die folgenden Einwände: Um das Schreiben in die Datenbank zu realisieren, bedarf es einer Anzahl von datenbankspezifischen Operationen, die nichts mit dem eigentlichen Verkauf zu tun haben Dadurch erhielte die Klasse Verkauf schlechten Zusammenhalt. Die Verkaufs-Klasse wäre zusätzlich an die Schnittstelle zu der relationalen Datenbank (zugekaufte Software) gekoppelt Keine Kopplung zu einer anderen Domänen-Klasse sondern zu einer Schnittstelle zu einer Datenbank Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 497
5 Pure Fabrication... Man beachte aber die folgenden Einwände (fortgesetzt): Objekte in einer relationalen Datenbank zu speichern, ist eine häufig benötigte Zuständigkeit Diese sollte nicht jeder Klasse der Anwendungsdomäne gegeben werden, da dadurch wahrscheinlich sehr viel Code dupliziert würde Wiederverwendbarkeit wäre gering Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 498 Pure Fabrication Vernünftige Lösung: Zusätzliche Klasse, deren einzige Zuständigkeit es ist, irgendwelche Objekte auf irgendeinem persistenten Medium zu speichern Pure Fabrication Pattern PersistentStorageBroker save() Vorteile: Verkauf behält den sauberen Entwurf. Die Klasse PersistenStorageBroker ist relativ gut zusammenhängend. Einzige Verantwortlichkeit: Speichern von Objekten Die Klasse PersistenStorageBroker ist eine sehr generische und wiederverwendbare Klasse Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 499
6 Pure Fabrication Pure Fabrication Klassen orientieren sich an zusammenhängenden Funktionalitäten und sind daher eher funktions-zentrierte Klassen Viele existierenden Design Patterns sind Pure Fabrication Klassen: Adapter, Observer, Visitor, usw. Probleme: Der Geist der Objektorientierung kann durch diese funktionsorientierte Argumentation verletzt werden Wird Pure Fabrication missbraucht, dann führt es zu funktions- oder prozessorientiertem Design, das lediglich mit Hilfe einer objektorientierten Sprache implementiert wird Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 500 Indirection Pattern Zweck: Weise einem Objekt eine Zuständigkeit zu, so dass es zwischen anderen Komponenten oder Klassen vermittelt, damit diese nicht direkt gekoppelt sind Dadurch wird eine Indirection zwischen die anderen Komponenten eingefügt Beispiel: PersistentStorageBroker Das Pure Fabrication Beispiel ist auch ein Beispiel für Indirection: Die Klasse PersistentStorageBroker ist auch ein Mittler zwischen Verkauf und dem Datenbanksystem Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 501
7 Indirection Pattern Beispiel: Modem Annahme: Unser Kassenterminal muss ein Modem verwenden, um Kreditkartenzahlungen zu autorisieren Das Betriebssystem stellt eine low-level API dafür zur Verfügung Die Klasse KreditAutorisierungsService ist dafür zuständig, mit dem Modem zu kommunizieren Würde KreditAutorisierungsService direkt das low-level API aufrufen, wäre diese Klasse eng an diese sehr spezielle API gekoppelt Wollte man diese Klasse auf ein anderes Betriebssystem portieren, würde sie massive Modifikationen benötigen Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 502 Indirection Pattern Lösung Stattdessen fügen wir dazwischen eine Klasse Modem ein, die eine higher-level Schnittstelle für KreditAutorisierungsService bietet und diese Anforderungen auf die low-level API übersetzt Eine solche Klasse wird auch als Device Proxy bezeichnet Indirection Pattern dial() send() receive() Modem Modem::dial(nummer) { ::OS_OpenPort(1); ::OS_Dial(nummer); } autorisiere(betrag) :KreditAutorisierungs- Service 1: dial(nummer) :Modem Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 503
8 Zweck: Ein Klient habe eine Assoziation zu einem (direkten) Objekt Dieses wiederum habe eine Assoziation zu einem anderen (für den Klienten indirekten) Objekt Dann sollte das direkte Objekt die Zuständigkeit erhalten, mit dem indirekten Objekt zu kommunizieren (und nicht der Klient), so dass der Klient nichts über das indirekte Objekt wissen muss Dieses Pattern definiert Randbedingungen, zu welchen anderen Objekten Messages geschickt oder nicht geschickt werden sollten: Zu dem this Objekt (oder self) Einem Objekt, das Parameter einer Methode ist Einem Attribut von this Einem Element einer Collection, welche Attribut von this ist Einem Objekt, das innerhalb einer Methode erzeugt wurde Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 504 Dahinter steckt, dass vermieden werden soll, dass ein Klient an indirekte Objekte und an die interne Struktur direkter Objekte gekoppelt wird Direkte Objekte sind Vertraute des Klienten, indirekte Objekte sind Fremde Um dieses Pattern zu realisieren, müssen direkte Objekte ggf. neue Operationen implementieren, so dass der Klient nicht direkt mit dem indirekten Objekt reden muss Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 505
9 Unser Beispiel: Kasse hat ein Attribut, welches Verkauf referenziert. Verkauf hat ein Attribut, das Zahlung referenziert Teil-Klassendiagramm: Kasse Verkauf Zahlung gibzahlbetrag(): Float schliesseverkauf() bearbeiteware() machezahlung() hat datum: Datum zeit: Zeit istabgeschlossen: Boolean schliesseab() erzeugeverkpos() fuegezahlunghinzu() zahlung(): Zahlung gesamtsumme(): Float ist gezahlt durch gegebenerbetrag gibgegebenenbetrag(): Float Kasse besitzt Methode gibzahlbetrag(), welche den gegebenen Betrag liefert Verkauf besitzt Methode zahlung(), welche Referenz auf Zahlung liefert Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 506 (Leichter) Verstoß: float gibzahlbetrag() { Zahlung z = m_verkauf.zahlung(); // Verletzt das "Don't talk to Strangers" Pattern return z.gibgegebenenbetrag(); } b := gibzahlbetrag(): Float :Kasse 1: z := zahlung(): Zahlung :Verkauf 1.1: b := gibgegebenenbetrag() z:zahlung Verletzt "Don't Talk to Strangers" z ist ein "Fremder" für Kasse Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 507
10 Bessere Lösung Füge Klasse Verkauf weitere Zuständigkeit hinzu, d.h. Verkauf benötigt eine weitere Methode Damit ist die Forderung des Patterns erfüllt: float gibzahlbetrag() { return m_verkauf.gibgegebenenbetrag(); } Verkauf datum: Datum zeit: Zeit istabgeschlossen: Boolean schliesseab() erzeugeverkpos() fuegezahlunghinzu() zahlung(): Zahlung gibgegebenbetrag(): Float gesamtsumme(): Float b := gibzahlbetrag(): Float :Kasse 1: b := gibgegebenenbetrag :Verkauf 1.1: b := gibgegebenenbetrag() Unterstützt das "Don't Talk to Strangers" Pattern z:zahlung Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 508 Vorteile Das Pattern Don t Talk to Strangers verhindert, dass vorübergehende Assoziationen und somit Sichtbarkeiten zu Objekten erzeugt werden, die eigentlichen direkten Nachbarn schon bekannt sind, aber nicht dem Klienten Einhalten der Forderungen des Patterns verhindert überflüssige zusätzliche Kopplungen Details über den Zusammenhang zwischen Verkauf und Zahlung sind für Kasse gekapselt Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 509
11 Ausnahmen: Für jede Regel gibt es Ausnahmen: Falls es in einer Anwendungsarchitektur bestimmte Broker oder Mediator Objekte gibt, die verschiedene Objekte miteinander verknüpfen und deren Aufgabe es ist, z.b. aufgrund eines Schlüsselwertes die Referenz eines Objektes zurückzugeben, dann ist es akzeptabel, Sichtbarkeit über den Broker zu erlangen und auch auszunutzen. Prof. Dr. Björn Dreher Softwaretechnik (Medieninformatik) 510
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
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
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
MehrKapitel 4 Die Datenbank Kuchenbestellung Seite 1
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung
MehrWas bedeutet Inklusion für Geschwisterkinder? Ein Meinungsbild. Irene von Drigalski Geschäftsführerin Novartis Stiftung FamilienBande.
Was bedeutet Inklusion für Geschwisterkinder? unterstützt von Ein Meinungsbild - Irene von Drigalski Geschäftsführerin Novartis Stiftung FamilienBande Haben Sie Kontakt zu Geschwistern schwer chronisch
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
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
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
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:
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
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
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
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
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
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
Mehrinfach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock
infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um
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
MehrUpdatehinweise für die Version forma 5.5.5
Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrIst Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers
Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,
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
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
MehrUrlaubsregel in David
Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5
MehrDiese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.
Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,
MehrHow to do? Projekte - Zeiterfassung
How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
Mehrteischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep
teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen
MehrDie Bundes-Zentrale für politische Bildung stellt sich vor
Die Bundes-Zentrale für politische Bildung stellt sich vor Die Bundes-Zentrale für politische Bildung stellt sich vor Deutschland ist ein demokratisches Land. Das heißt: Die Menschen in Deutschland können
MehrImpulse Inklusion 2015. Selbst-bestimmtes Wohnen und Nachbarschaft
Impulse Inklusion 2015 Selbst-bestimmtes Wohnen und Nachbarschaft Impulse sind Ideen und Vorschläge. Inklusion bedeutet: Alle Menschen können selbst-bestimmt und gleich-berechtigt am Leben teilnehmen.
MehrSEPA-Anleitung zum Release 3.09
Hier folgt nun eine kurze Information was sich mit dem neuen Release 3.08 zum Thema SEPA alles ändert. Bitte diese Anleitung sorgfältig lesen, damit bei der Umsetzung keine Fragen aufkommen. Bitte vor
MehrCarolo Knowledge Base
KB 07: Wie stelle ich ein fremdsprachiges Layout ein? (1) My-T-Soft verhält sich bezüglich fremdsprachiger Layouts wie eine physische Tastatur, d.h. sie liefert lediglich die Codes für die einzelnen Tasten.
Mehr5.2 Neue Projekte erstellen
5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort
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
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
MehrWir machen neue Politik für Baden-Württemberg
Wir machen neue Politik für Baden-Württemberg Am 27. März 2011 haben die Menschen in Baden-Württemberg gewählt. Sie wollten eine andere Politik als vorher. Die Menschen haben die GRÜNEN und die SPD in
MehrDie richtigen Partner finden, Ressourcen finden und zusammenführen
Kongress Kinder.Stiften.Zukunft Workshop Willst Du mit mir gehen? Die richtigen Partner finden, Ressourcen finden und zusammenführen Dr. Christof Eichert Unsere Ziele: Ein gemeinsames Verständnis für die
MehrUniversal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.
ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf
MehrDie Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.
In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website
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
MehrZusatzmodul Lagerverwaltung
P.A.P.A. die kaufmännische Softwarelösung Zusatzmodul Inhalt Einleitung... 2 Definieren der Lager... 3 Zuteilen des Lagerorts... 3 Einzelartikel... 4 Drucken... 4 Zusammenfassung... 5 Es gelten ausschließlich
MehrErstellen einer E-Mail in OWA (Outlook Web App)
Erstellen einer E-Mail in OWA (Outlook Web App) Partner: 2/12 Versionshistorie: Datum Version Name Status 13.09.2011 1.1 J. Bodeit Punkte 7 hinzugefügt, alle Mailempfänger unkenntlich gemacht 09.09.2011
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?
MehrObjektorientiertes Software-Engineering
Objektorientiertes Software-Engineering Vorlesung VIII Inhalt der Vorlesung Wiederholung Vorlesung VII Factory Method Observer s Übung Vorstellung des (Gruppe Jukebox) Folie 2 Definiert ein Objekt zur
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
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
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
MehrFestigkeit von FDM-3D-Druckteilen
Festigkeit von FDM-3D-Druckteilen Häufig werden bei 3D-Druck-Filamenten die Kunststoff-Festigkeit und physikalischen Eigenschaften diskutiert ohne die Einflüsse der Geometrie und der Verschweißung der
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
MehrSteganos Secure E-Mail Schritt für Schritt-Anleitung für den Gastzugang SCHRITT 1: AKTIVIERUNG IHRES GASTZUGANGS
Steganos Secure E-Mail Schritt für Schritt-Anleitung für den Gastzugang EINLEITUNG Obwohl inzwischen immer mehr PC-Nutzer wissen, dass eine E-Mail so leicht mitzulesen ist wie eine Postkarte, wird die
MehrKommunikations-Management
Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal
MehrKurze Anleitung zum Guthaben-Aufladen bei. www.blau.de
Kurze Anleitung zum Guthaben-Aufladen bei www.blau.de Seite 1 von 8 Inhaltsverzeichnis 1 blau.de aufrufen... 3 2 Ihr Konto bei blau.de... 4 2.1 Aufladen über das Internet... 5 2.2 Aufladen direkt am Mobiltelefon
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
MehrDie Post hat eine Umfrage gemacht
Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
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
MehrFax einrichten auf Windows XP-PC
Um ein PC Fax fähig zu machen braucht man einen sogenannten Telefon Anschluss A/B das heißt, Fax funktioniert im Normalfall nur mit Modem nicht mit DSL. Die meisten neueren PCs haben ein Modem integriert.
Mehrnic.at - Salzamt im (österreichischen) Internet?
nic.at - Salzamt im (österreichischen) Internet? Dr. Barbara Schloßbauer Leiterin nic.at Rechtsabteilung Salzamt Das Wort Salzamt lebt vor allem in Österreich weiter als Ausdruck für eine nicht existierende
MehrAufruf der Buchungssystems über die Homepage des TC-Bamberg
Aufruf der Buchungssystems über die Homepage des TC-Bamberg Das Online-Buchungssystem erreichen Sie einfach über die Homepage des TC-Bamberg (www.tennis-club-bamberg.de).über den Link (siehe Bild 1) gelangen
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,
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........................
MehrBürgerhilfe Florstadt
Welche Menschen kommen? Erfahrungen mit der Aufnahme vor Ort vorgestellt von Anneliese Eckhardt, BHF Florstadt Flüchtlinge sind eine heterogene Gruppe Was heißt das für Sie? Jeder Einzelne ist ein Individuum,
MehrImpulse Inklusion 2014 Beteiligungskulturen - Netzwerke - Kooperationen (Leichte Sprache Version)
Impulse Inklusion 2014 Beteiligungskulturen - Netzwerke - Kooperationen (Leichte Sprache Version) Das heißt: Beteiligungskultur: Wie können Menschen mit Behinderungen überall mitmachen und mitsprechen.
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
MehrHandbuch zur Anlage von Turnieren auf der NÖEV-Homepage
Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei
MehrEinrichtung eines VPN-Zugangs
Einrichtung eines VPN-Zugangs Einleitung Die nachfolgende Anleitung zeigt die Einrichtung eines VPN-Zugangs zum Netzwerk des Unternehmensverbundes Evangelisches Johannesstift. Diese Anleitung ist auf Basis
MehrFehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems
Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems Name: Bruno Handler Funktion: Marketing/Vertrieb Organisation: AXAVIA Software GmbH Liebe Leserinnen und liebe Leser,
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
MehrSo funktioniert das online-bestellsystem GIMA-direkt
So funktioniert das online-bestellsystem GIMA-direkt Loggen Sie sich mit Ihren Anmeldedaten, die Sie von GIMA erhalten haben, in das Bestellsystem ein. Sollten Sie noch keine Anmeldedaten haben und Für
MehrONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele
ONLINE-AKADEMIE Ziele Wenn man von Menschen hört, die etwas Großartiges in ihrem Leben geleistet haben, erfahren wir oft, dass diese ihr Ziel über Jahre verfolgt haben oder diesen Wunsch schon bereits
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
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
MehrQuellen prüfen und angeben
1 1. Woher hast du das? Beispiel: Du nutzt das Internet zur Informationssuche und kopierst Online-Inhalte in deine eigenen Texte, Referate oder Facharbeiten. Dann ist es notwendig, dass du dich mit Quellenkritik
MehrDas große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten
Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während
MehrLeit-Bild. Elbe-Werkstätten GmbH und. PIER Service & Consulting GmbH. Mit Menschen erfolgreich
Leit-Bild Elbe-Werkstätten GmbH und PIER Service & Consulting GmbH Mit Menschen erfolgreich Vorwort zu dem Leit-Bild Was ist ein Leit-Bild? Ein Leit-Bild sind wichtige Regeln. Nach diesen Regeln arbeiten
MehrSoftwaretechnik (WS 11/12)
Universität Augsburg, LSt. Softwaretechnik, K. Stenzel, H. Seebach, G. Anders Softwaretechnik (WS 11/12) Lösungsvorschlag 5 Aufgabe 1 (System Behavior: System Sequence Diagrams) (10/5 Punkte) a) Was sind
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
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.
Mehr1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern
1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten
MehrBIA-Wissensreihe Teil 4. Mind Mapping Methode. Bildungsakademie Sigmaringen
BIA-Wissensreihe Teil 4 Mind Mapping Methode Bildungsakademie Sigmaringen Inhalt Warum Mind Mapping? Für wen sind Mind Maps sinnvoll? Wie erstellt man Mind Maps? Mind Mapping Software 3 4 5 7 2 1. Warum
MehrBIF/SWE - Übungsbeispiel
BIF/SWE - Übungsbeispiel Arthur Zaczek Feb 2015 1 Allgemein 1.1 Ziele Ziele dieses Übungsbeispieles ist es: GUI: Implementierung einer grafischen Oberfläche mit JavaFX oder WPF UI-Komponente: Implementierung
MehrQuick Guide Mitglieder
Fairgate Vereinssoftware Quick Guide Mitglieder Login Einloggen unter: http://my.fairgate.ch/zop/ Falls noch kein Passwort vorhanden ist, muss dieses angefordert werden. Dafür deine E-Mails Adresse in
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)
MehrPlanung für Organisation und Technik
Planung für Organisation und Technik MOA-VV Algorithmen-Beschreibung Version 0.0.2 Inhaltsverzeichnis 1. Die Vollmachtsprüfung... 3 1.1 Eingangsdaten... 3 1.2 einfache Vollmacht und Online-Vollmacht...
MehrHilfedatei der Oden$-Börse Stand Juni 2014
Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten
MehrSeit über. Jahren WIR SIND KARTZFEHN. Leitlinien zur Führung und Zusammenarbeit
WIR SIND KARTZFEHN Leitlinien zur Führung und Zusammenarbeit Liebe Kartzfehner, lässt man die Nachtruhezeit außer Betracht, verbringt ein Berufstätiger mehr Zeit mit seinen Kolleginnen und Kollegen als
MehrDer richtige Start mit Exact Online
Der richtige Start mit Exact Online 10 Dinge, die Sie vorher unbedingt wissen sollten! Stand 07/2014 EXACT ONLINE 2 Inhalt Anfragen an den Support... 3 Exact Online startet mit Demodaten... 5 Bilanzierung
Mehr50 Fragen, um Dir das Rauchen abzugewöhnen 1/6
50 Fragen, um Dir das Rauchen abzugewöhnen 1/6 Name:....................................... Datum:............... Dieser Fragebogen kann und wird Dir dabei helfen, in Zukunft ohne Zigaretten auszukommen
MehrVersion smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):
Supportanfrage ESN Bitte füllen Sie zu jeder Supportanfrage diese Vorlage aus. Sie helfen uns damit, Ihre Anfrage kompetent und schnell beantworten zu können. Verwenden Sie für jedes einzelne Thema jeweils
MehrAbituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)
Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler
MehrSchrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.
Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen. Klicken Sie auf Neu anlegen, um Ihre neue Angebotseite zu erstellen..
MehrAlle gehören dazu. Vorwort
Alle gehören dazu Alle sollen zusammen Sport machen können. In diesem Text steht: Wie wir dafür sorgen wollen. Wir sind: Der Deutsche Olympische Sport-Bund und die Deutsche Sport-Jugend. Zu uns gehören
Mehrhttp://train-the-trainer.fh-joanneum.at IINFO Storyboard
IINFO Storyboard Allgemeine Bemerkungen und Richtlinien zur Handhabung. Das Storyboard besteht aus einem Web, d.h. einer vernetzten Struktur von HTML-Seiten welche später von den Programmieren direkt als
MehrUm zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:
Client-Installation ec@ros2 ASP-Server 1. Allgemeine Informationen Für den Einsatz von ec@ros2 ist auf den Clients die Software Java Webstart (enthalten im Java Runtime Environment (JRE)) notwendig. Wir
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
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
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
MehrPapa - was ist American Dream?
Papa - was ist American Dream? Das heißt Amerikanischer Traum. Ja, das weiß ich, aber was heißt das? Der [wpseo]amerikanische Traum[/wpseo] heißt, dass jeder Mensch allein durch harte Arbeit und Willenskraft
MehrInstallationsanleitung WibuKey Treiber
Profi Line Warenwirtschaft Installationsanleitung WibuKey Treiber Bei der Installation der WibuKey ist zunächst zwischen der Serverinstallation und der reinen Client- bzw. Arbeitsplatzinstallation zu unterscheiden.
MehrSEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299
SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de
Mehr