Software Engineering: Strukturelle Modellierung

Größe: px
Ab Seite anzeigen:

Download "Software Engineering: Strukturelle Modellierung"

Transkript

1 Copyright, Page 1 of 13 Software Engineering: Strukturelle Modellierung 1.0 Motivation und Voraussetzungen Zum Verständnis sind Kenntnisse aus dem Bereich der objektorientierten Programmierung unerlässlich. In diesem Dokument stellen wir grundlegende Elemente der strukturellen Modellierung vor. Wir erklären den grundlegenden Begriff Objekt und erläutern, was man unter Zustand, Verhalten und Identität eines Objekts sowie unter einer Verbindung zwischen Objekten versteht. Von den Objekten gehen wir zum abstrakteren Konzept der Klasse über und behandeln dann das Klassenmodell. Das Klassenmodell bildet den unverzichtbaren Kern jeder objektorientierten Softwareentwicklung, da es mit seiner Durchgängigkeit durch alle Entwicklungsaktivitäten einen festen Bezugsrahmen für die gesamte Softwareentwicklung schafft. Diese Zusammenfassung basiert auf dem Skript von Herrn Prof. Dr. H.W. Six, Lehrgebiet Software Engineering, der FernUniversität in Hagen. 2.0 Vom Konkreten zum Abstrakten Bei imperativen Programmiersprachen versteht man ein Programm als lineare Folge von Befehlen, die der Rechner in einer definierten Reihenfolge abarbeitet. Noch in den 80er Jahren des 20. Jahrhunderts war es üblich Go To Statements zu verwenden heutzutage würde man dies zu recht als Spaghetti-Code abtun. Erste Ansätze der besseren Strukturierung des Quellcodes finden sich 1968 als Dijkstra forderte absolute Sprunganweisungen einzuschränken und anstatt dessen DO... WHILE-Anweisungen o.ä. zu verwenden. Programme in kleinere Teilaufgaben zu zerlegen, Funktionalität zu kapseln und damit wiederverwendbar zu machen, ist die Intention der prozeduralen Programmierung. Ferner werden durch Prozeduren auch Schnittstellen bereitgestellt, welche die Aufgabe haben den notwendigen Input und den hinreichenden Output einer Prozedur zu regeln. Das Programmier-Paradigma der modularen Programmierung führte den Strukturierungswillen weiter und baute diesen aus. Im Gegensatz zu prozeduralen Programmen können modulares Programm in einzelne (voneinander unabhängige) Komponenten (Moduln) zerlegt werden. Dies ist nur deshalb möglich, da neben dem funktionalen Aspekt auch die notwendigen Datenstrukturen entsprechend modelliert und programmiert werden. Jede Komponente, jedes Modul, hat eine klar abgegrenzte, präzise definierte (Teil- )Aufgabe innerhalb des Programms zu erfüllen. Daten und Operationen, welche zur Lösung eines Teilproblems notwendig sind, werden zu einer logischen Einheit, dem Modul, vereinigt. Die modulare Programmierung kann als Vorstufe der objektorientierten Programmierung angesehen werden. So ist es auch nicht verwunderlich, dass die Grundsätze der Verkapselung und des Geheimnisprinzips bereits in modularen Sprachen umgesetzt wurden und diese unverändert in objektorientierte Paradigma übernommen wurden.

2 Copyright, Page 2 of 13 Eine Moduldefinition ist zweigeteilt und besteht aus einer Schnittstelle und einer Implementation. Die Zweiteilung der Moduldefinition in Schnittstelle und Implementierung hat vor allem den Sinn, den für den Benutzer des Moduls relevanten Teil von dem privaten Teil des Moduls zu trennen. Anschaulich handelt es sich bei der Modulschnittstelle um eine Beschreibung des Leistungsumfangs, während die Modulimplementation die zugehörige Realisierung mit sämtlichen Details enthält. Um den Modul korrekt zu benutzen, d.h. die exportierten Operationen korrekt aufzurufen, braucht der Benutzer deren Implementierung nicht zu kennen. Mehr noch, er darf sie nicht kennen, da er sein Wissen höchstens ausnutzen könnte und dadurch das benutzende Programm abhängig von der Modulrealisierung würde. Die Unabhängigkeit des Moduls von seinen Benutzern erhöht aber nicht nur die Sicherheit, d.h. die Programmkorrektheit, sondern auch die Änderbarkeit. Änderungen, die sich auf den Implementationsteil beschränken und nicht die Schnittstelle betreffen, haben keine Auswirkungen auf die benutzenden Programmteile. Wir werden auf diese Aspekte noch näher eingehen. Das zugrundeliegende Prinzip, die Realisierung vor dem Benutzer zu verbergen, nennt man das Geheimnisprinzip. Der Bezug zum Objekt bzw. zur Klasse fehlt in modularen Sprachen; davon abgesehen ist das Konzept der Vererbung bzw. Generalisierung in modularen Sprachen nur ansatzweise oder gar nicht zu erkennen. Ein Objekt ist ein matrielles oder sichtbares Ding, das bestimmte Eigenschaften (z.b. Aussehen und Verhalten) besitzt und mit dem man etwas tun kann so oder so ähnlich würde wohl ein Nicht-Informatiker ein Objekt definieren. Objekte mit denen wir es in der objektorientierten Softwarentwicklung zu tun haben, sind allerdings keine wirklich existierenden Objekte der Realwelt, sondern Abstraktionen dieser Objekte oder aber auch Abstraktionen einer fiktiven, gedachten Welt, die nur in unserer Vorstellung existiert. So kann beispielsweise Mitarbeiter Mustermann als ein abstrahiertes Objekt interpretieren. Dagegen ist eine Partie Schach mehr eine Idee als ein tatsächlich existierendes Ding im Sinne der Objektorientierung ist auch dies ein Objekt. Der zweite Schritt ist die Abstraktion von Objekten gleicher Art hin zu Klassen. Dabei werden insbesondere auch kollektive Eigenschaften der Objekte (sofern für die Problemlösung nötig) in der Klasse sichtbar. Man abstrahiert also strukturell gleichartige Objekte und nennt sodann dieses Klasse. Eine Klasse kann man auch als Schablone für die Objekte verstehen. Eingenschaften von Objekten können Attribute als auch Operationen sein. Ein Attribut (von lat: attribuere = zuteilen, zuordnen) wird gemeinhin als die Zuordnung eines Merkmals zu einem konkreten Objekt verstanden. Ein Attribut charakterisiert also ein Objekt. Attribute einer Klasse muss man also als Variable verstehten, die bestimmte Ausprägungen annehmen kann. Das abstrahierte Verhalten einer gleichartigen Menge von Objekten nennen wir Operation. In der Idee Klasse bezeichnet man die abstrahierten Operationen der Objekte als Methoden, dabei wird eine Methode einer Klasse von den Operationen der einzelnen zugehörigen Objekte bestimmt. Bei der objektorientierten Programmierung kehrt man diese Beobachtungsweise um. Man programmiert Klassen mit Methoden und Attributen und erzeugt mit Hilfe dieser Schablone seine Objekte.

3 Copyright, Page 3 of UML Grundlagen Die Unified Modeling Language (kurz UML) ist eine standardisierte Sprache für die objektorientierte Modellierung von Software und anderen Systemen. Die UML definiert grafische Notationen für diese Begriffe und für Modelle von statischen Strukturen und von dynamischen Abläufen, die man mit diesen Begriffen formulieren kann. So wird ein Objekt stets als Rechteck mit unterstrichenem Objektnamen visualisiert. Dagegen wird eien Klasse als Rechteck mit nicht unterstrichenem Objektnamen veranschaulicht. Nun ist es nicht immer ganz einfach, unter den Realweltphänomenen diejenigen zu erkennen, die sinnvollerweise als Objekte zu modellieren sind. Eine Gefahr besteht z. B. darin, eine funktionale Abstraktion fälschlicherweise als Objekt aufzufassen. So sollte etwa ein Kauf als funktionale Abstraktion modelliert werden, wenn die Kauftätigkeit gemeint ist, und nur dann als Objekt, wenn man den Kaufvertrag an sich oder die gekaufte Ware meint. Typische Beispiele von Nicht-Objekten sind z. B. Alter, Schönheit und Farbe oder Gefühle wie Liebe und Hass. Erstere sind Attribute, letztere spiegeln allenfalls Verbindungen zwischen Objekten wider. Als Fazit halten wir fest, dass wir eine Richtschnur benötigen, um Objekte eindeutig von Nicht-Objekten wie z. B. funktionalen Abstraktionen oder Attributen und Verbindungen abzugrenzen. Wie bereits weiter oben angedeutet kann eine Klasse durch Attribute, Methoden und dessen Verbindungen zu anderen Objekten. charakterisiert werden. Wir können zwei Arten von Attributen unterscheiden. Einfache Attribute, sind Eigenschaften des Objektes, welche selbst kein Objekt darstellen. Nicht-einfache Attribute, sind selbst wieder Objekte und haben somit evtl. selbst Attribute und Methoden. Die Attribute des Objektes und der Klasse entsprechen sich. Attributwerte können statisch als Konstante und dynamisch als Variable bzw. Objekt sein. Der Zustand eines Objektes ergibt sich aus der konkreten Wertebelegung seiner Attribute. Attributwerte von Objekten können dynamisch geändert werden und damit eine Zustandsänderung verursachen. Im Gegensatz dazu macht es (i. A.) für Klassen keinen Sinn einen Zustand zu definieren; letztlich ist es aber Definitionssache, denn Sonderfälle wie abstrakte Klassen sind hierbei dann ausgenommen. Ferner gibt es so genannte Klassenvariablen (auch Klassenattribute genannt), welche denselben Wert für alle Objekte einer Klasse verkörpern. Ein beliebiges Exemplar einer Klasse operiert mit Hilfe einer Methode auf dessen Menge an vorgegebenen (Input-)Daten und den zugehörigen Attributwerten des Exemplars.

4 Copyright, Page 4 of 13 Oft bezeichnet man eine Methode auch also Operation. Das Verhalten eines Objekts gibt für jeden Zustand an, welche Operationen (nach aktuellem Zustand und gegebenen Eingabedaten) ausgeführt werden dürfen und welches Resultat, d.h. welche Zustände und welche Rückgabewerte, sich nach Ausführung der Operationen ergeben. Ausgehend von einem Anfangszustand (auch Initialzustand genannt) ist der aktuelle Zustand eines Objektes durch die Folge von Operationen definiert, die das Objekt bis dahin ausgeführt hat. Grundsätzlich ist es nicht sinnvoll ein Verhalten für Klassen zu definieren. Eine Klasse beschreibt eine Menge von Objekten mit denselben (Anfangs-)Attributen und identischem Verhalten nach Erzeugung. Man kann sich also eine Klasse als eine Art abstrakten Objekttyp vorstellen. Weiterhin beschreibt eine Klasse eine Menge von Objekten mit gemeinsamen Eigenschaften, also identischen Attributen. Die von einer Klasse beschriebenen Objekte werden als Erzeugnisse dieser Klasse bezeichnet. Die Sichtbarkeit eines Attributs oder einer Operation gibt an, ob fremde Klassen auf das Attribut oder die Operation zugreifen dürfen oder nicht. Dabei kennzeichnet das Schlüsselwort public Elemente auf die von außen zugegriffen werden dürfen und private Elemente die geschützt sind gegen Zugriffe anderer Klassen. Im Klassendiagramm kann die Sichtbarkeit auch durch die Zeichen + bzw. kenntlichgemacht werden. 4.0 Verbindungen zwischen Objekten/Klassen Sinnvolle Modelle beschreiben Objektgeflächte, in denen jedes Objekt seine Operationen anderen Objekten zur Verfügung stellt oder sich der Operationen anderer Objekte bedient. In diesem Kontext heißt der Bereitstellende Dienstleister (supplier) und der in Anspruch nehmende Dienstnutzer (client). Voraussetzung für die Nutzung einer Operation eines Objektes durch ein anderes Objekt ist, dass der Dienstnutzer den Dienstleister kennt. Tritt ein Objekt in einer Verbindung stets als Dienstnutzer und das andere stets als Dienstleister auf, bezeichnet man die Verbindung als unidirektional. Allerdings sind auch unidirektionale Verbindungen mit wechselnder Aufgabenverteilung möglich. Verbindungsname: Rolle: Die Darstellung von Verbindungen in UML-Diagrammen erfolgt durch eine durchgezogene Verbindungskante zwischen den Objekten. Die Angabe eines (unterstrichenen) Namens für die Verbindung ist optional. Unidirektionale und bidirektionale Kanten werden als Pfeile mit offener Spitze dargestellt dies kann man auch sehr schön an obiger Skizze erkennen: Der Getränkeautomat stellt eine Dienstleistung zur Verfügung, um diese nutzen zu können müssen Dienstleister und Dienstnutzer in Verbindung treten. D.h. der Kunde muss den Getränkeautomaten kennen, also wissen wo dieser zu finden ist. Dem Automaten

5 Copyright, Page 5 of 13 ist es völlig gleichgültig wen der bedient die Tätigkeit ist stets diegleiche und unabhängig vom Dienstnutzer. Ein Objekt kann bezüglich seiner Verbindungen unterschiedliche Rollen spielen. Unter einer Rolle (siehe Skizze oben) verstehen wir eine Teilmenge der von ihm angebotenen Operationen. Eine Rolle definiert also das Verhalten des Objekts gegenüber den verbundenen Objekten. Wie wir bereits wissen können Objekte Verbindungen eingehen; Verbindungen von Instanzen einer Klasse zu Instanzen derselben Klasse oder anderer Klassen werden im Klassenmodell durch Assoziationsbeziehungen kurz: Assoziationenzwischen den entsprechenden Klassen ausgedrückt. Im Falle von Verbindungen zwischen Instanzen ein und derselben Klasse spricht man von reflexiven Assoziationen. Eine Assoziation wird in der Sprache der UML durch eine durchgezogene Linie zwischen den assoziierten Klassen gezeichnet. Ein Assoziationsende besitzt oft eine Multiplizität, die eine untere und obere Grenze für die Anzahl der jeweils verbundenen Instanzen angibt. Die gebräuchlichsten sind (genau eine verbundene Instanz, Abkürzung: 1) 0...* (beliebig viele verbundene Instanzen, Abkürzung: *) 0 1 (keine oder eine verbundene Instanz) 1 * (unbegrenzt viele verbundene Instanzen, aber mind. eine) Untere Grenze Obere Grenze Einseitige bzw. zweiseitige Beziehungen solcher Art werden Navigierbarkeit genannt und können auch durch Pfeile mit entsprechenden Spitzen dargestellt werden. Ungerichtete Kanten werden als unspezifiziert angesehen. D.h. insbesondere, dass eine Assoziation ohne Pfeilspitzen durchaus bidirektional sein kann. Wie für Naturwissenschaftler üblich, wird der so wichtige Begriff der Assoziation in einzelne Arten von Assoziationen zerlegt. Eine Aggregation ist eine spezielle Assoziation, die eine Hierarchie auf den verbundenen Instanzen definiert. Anschaulich gesprochen besteht also ein Teil-Ganzes-Verhältnis zwischen den verbundenen Instanzen (Objekten). Dabei hat die Ganzes-Instanz eine Verantwortung für die Teil-Instanzen. So erfordert das Zerstören des Ganzen ein Konzept, wie mit seinen Teilen zu verfahren ist. Da ein Objekt gleichzeitig auch Teil anderer Objekte sein kann, muss dem Zerstören besondere Aufmerksamkeit gewidmet werden.

6 Copyright, Page 6 of 13 In Klassendiagrammen wird eine Aggregation durch eine nicht ausgefüllte Raute am Ganzes-Ende der Assoziationslinie gekennzeichnet. Es besteht zwischen Einzelposten und Produkt sowie zwischen Kunde und Bestellung eine Assoziation. Die Aggregation, namentlich Bestellposten, besteht offensichtlich zwischen Bestellung und Einzelposten. Die Ganzes-Klasse Bestellung ist durch die Raute an ihrem Ende der Aggregation gekennzeichnet. Instanzen der Klasse Einzelposten haben Kenntnis von der zugehörigen Produktinstanz, jedoch nicht umgekehrt. Zu einem Einzelposten kann somit z.b. der Verkaufspreis des gewünschten Produktes ermittelt werden. Hierbei können beliebig viele Einzelposten, doch mind. 1 aufgegeben werden. Neben der Aggregation kennt die UML die Komposition. Die Komposition ist eine spezielle Aggregation, es werden also zusätzliche Forderungen an die Aggregation gestellt: Teilobjekte einer Komposition dürfen nur von Objekten der Ganzes-Klasse entfernt oder ausgetauscht werden, d.h. allein die Teilobjekte haben keine Daseinsberechtigung ohne Ihre zugeordnete Ganze-Klasse. dürfen nicht Teil anderer Kompositionen sein; konkreter: ein identisches Objekt (Instanz einer Klasse) darf nicht zwei oder mehr Kompositionen zugeordnet sein, dagegen kann ein gleiches Objekt sehr wohl mehreren Kompositionen zugeordnet werden. werden beim Zerstören des Ganzes-Objektes automatisch (kaskadierend) mit zerstört. Betrachten wir die Klasse Polygon. Jedes Erzeugnis besitzt ein Teilobjekt der Klasse Graphikattribut, in dem seine Visualisierungsattribute wie z.b. Farbe und Beschriftung gespeichert werden. Ist jede Instanz der Klasse Graphikattribut eindeutig einer Polygonin-

7 Copyright, Page 7 of 13 stanz zugeordnet, liegt eine Komposition vor; die Graphikattribut-Instanz darf nicht ausgetauscht werden und muss beim Zerstören des Polygonobjekts sinnvoller Weise automatisch mitzerstört werden. Häufig muss eine Assoziation mit Attributen ausgestattet werden, z.b. mit dem Datum, wann eine Verbindung zwischen zwei Objekten eingegangen wurde. Dieser Sachverhalt kann mit einer eigenen Assoziationsklasse modelliert werden, die es erlaubt, eine Assoziation nicht nur mit eigenen Attributen, sondern auch mit eigenen Operationen und anderen Elementen zu versehen. Wichtig ist die Eindeutigkeit, d.h. dass jede Assoziationsklasse genau eine Assoziation repräsentiert, die lediglich um einige Merkmale erweitert wurde. Im Klassendiagramm wird eine Assoziationsklasse durch eine gestrichelte Linie mit der entsprechenden Assoziationslinie verbunden. Obiges UML-Diagramm visualisiert ein typisches Beispiel. Offensichtlich besteht eine Verbindung zwischen einer Person und einer Firma ein Beschäftigungsverhältnis. Die Multiplizitäten sind klar, denn diese Beschäftigung ist üblicherweise eine 1:1-Beziehung. Natürlich kann eine Firma mehrere Beschäftigungen aufweisen. Eine übersichtlichere Modellierung ist die folgende. Wird einem Mitarbeiter gekündigt, so verweilt der Datensatz dennoch in der Datenbank, jedoch besteht keine Beschäftigung mehr. Dies ist auch der Grund, warum eine Person nicht mehrere Male bei einer Firma beschäftigt sein kann. Hier müsste man anstatt dessen mehrere Assoziationen verwenden. Unter den Attributen einer Klasse können solche vorkommen, die aus anderen Modellierungen berechnet werden können. So kann z.b. bei einer Klasse Zeitintervall mit den Attributen anfang, ende und dauer das Attribut dauer aus den beiden originären Attributen anfang und ende berechnet werden (genauer: aus den jeweiligen Attributwerten). Wir bezeichnen Attribute wie z.b. dauer als abgeleitete Attribute. Analog gibt es abgeleitete Assoziationen. So ist z.b. bei der Modellierung einer Familie mit den Klassen Elternperson und Kindperson die Assoziation Geschwister ableitbar aus der Assoziation Kind. Sind nämlich zwei (Kind-)Personen mit denselben (Eltern-) Personen verbunden, kann man auf die Existenz der Geschwisterverbindung schließen. Abgeleitete Modellelemente erkennt man in der UML daran, dass ihrem Namen ein / vorangestellt wird. Zugriffe auf Attribute (auch auf öffentlich sichtbare) sollten zur Wahrung des Geheimnisprinzips stets über entsprechende Operationen erfolgen. Das Gleiche gilt auch für das

8 Copyright, Page 8 of 13 Erstellen und Lösen von Verbindungen zwischen Objekten. Dies hat zur Folge, dass bereits bei der Klassenmodellierung für alle Klassen und Assoziationen derartige Operationen vorgegeben werden müssen. Zur Vereinfachung führt man Standardoperationen für den Zugriff auf Attribute und Asoziationen ein, die oft nicht explizit in den Diagrammen angegeben werden. Die im Folgenden angegebenen Standardoperationen sind in allen Aktivitäten der Softwareentwicklung verwendbar. Für ein Attribut att vom Typ T heißen die Standardoperationen zum Lesen und Schreiben: gibatt():t liefert den Wert des Attributs att; setzeatt(in wert: T) setzt den Wert des Attributs att auf den übergebenen Wert wert. verbindeass(in einb : B) verbindet die ausführende A-Instanz mit der übergebenen B-Instanz einb; gibass(): B gibt die mit der ausführenden A-Instanz verbundene B-Instanz bzw. (bei einer mehrwertigen Assoziation) die Menge aller verbundenen B-Instanzen zurück; loeseass(in einb : B) hebt die Verbindung zwischen der ausführenden A-Instanz und der übergebenen B-Instanz einb wieder auf. 5.0 Fortgeschrittene Konzepte: Klassen und Beziehungen Das Konzept der Klasse arbeitet Gemeinsamkeiten von Objekten heraus. Wir werden nun noch einen Schritt weiter gehen und klassenübergreifende Gemeinsamkeiten betrachten. In der Biologie werden gemeinsame Eigenschaften von Lebewesen über Hierachiestufen wie z.b. Rasse, Art, Gattung, Familie und Ordnung ausgedrückt. Diese Systematisierung schreitet von spezielleren Eigenschaften bestimmter Lebewesen zu allgemeineren Eigenschaften. Die objektorientierte Modellierung bietet die Möglichkeit, Gemeinsamkeiten wie z.b. Attribute oder Operationen unterschiedlicher spezieller Klassen in einer allgemeineren Klasse zusammenzufassen. Auf diese Weise gewinnt das Modell an Aussagekraft und es wird Redundanz vermieden. Wir nennen solche Beziehungen zwischen spezielleren und allgemeineren Klassen Generalisierungen. Generalisierung bedeutet, dass alles, was für eine Instanz der allgemeineren Klasse gilt, auch für eine Instanz der spezielleren Klasse zutrifft. Wir nennen die allgemeinere Klasse Oberklasse und die speziellere Klasse Unterklasse. Die Unterklasse erbt (d.h. hat zur Verfügung) alle Attribute und Methoden sowie alle Assoziationen der Oberklasse. Häufig wird anstelle des Begriffs Generalisierung auch Spezialisierung verwendendet.

9 Copyright, Page 9 of 13 Gemäß Definition ist damit jedes Erzeugnis der Unterklasse auch ein Erzeugnis der Oberklasse. Daraus folgt direkt, dass jedes Vorkommen eines Erzeugnisses der Oberklasse (sei es in der Spezifikation, im Quelltext oder im ausgeführten Programm), durch ein Erzeugnis der Unterklasse ersetzt werden kann, ohne das sich die Semantik ändert. Diese Eigenschaft nennt man auch Substituierbarkeitsprinzip. Wir betrachten Privatkunden und Firmenkunden und fassen die gemeinsamen Merkmale wie z.b. Name und Adresse in einer neuen gemeinsamen Oberklasse Kunde zusammen. Somit ist jedes Erzeugnis der Klasse Privat- oder Firmenkunde natürlich auch eine Instanz der Klasse Kunde. Es gilt also das Substituierbarkeitsprinzip. Das Konzept der Generalisierung erscheint einleuchtend und einfach, doch die korrekte Anwendung erfordert einige Übung. Falsch eingesetzte Generalisierung ist nicht nur irreführend, sondern kann auch zu aufwendigen Änderungen und unangenehmen Fehlern führen. Um Substituierbarkeit zu ermöglichen, unterstützen objektorientierte Programmiersprachen wie Java die Konzepte Polymorphismus und dynamisches Binden. Jede Operation einer Klasse besitzt eine Vor- und eine Nachbedingung, welche zum einen die zulässigen Eingaben und zum anderen den gewünschten Zustand nach der Operation spezifizieren. Diese Bedingungen ordnen der aktuellen Objektkonstellation (Programmzustand) ein boolsches Ergebnis (True oder False) zu. Die Objekte einer Klasse besitzen häufig Eigenschaften, die vor und nach jeder Ausführung einer öffentlichen Operation gelten müssen. Um die Bedingung, die diese Eigenschaften sicherstellt, nicht in jeder Vor- und Nachbedingung angegeben werden müssen, formulieren wir diese als Klasseninvariante. Wir betrachten eine Klasse A mit Unterklasse B und bezeichnen mit op A bzw. op B die in A definierte bzw. in B überschriebene Operation op(). Die (Spezifikation der) Operation op B aus B heißt konform zur (Spezifikation der) in der Klasse A definierten Operation op A, wenn die folgenden drei Konformitätsbedingungen gelten: 1. op B und op A haben die gleiche Signatur 2. Vorbedingungen(op A ) Vorbedingungen(op B ) 3. Nachbedingungen(op B ) Nachbedingungen(op A ) Damit Instanzen der Unterklasse die Instanzen der Oberklasse auch semantiktreu vertreten können, ist es erforderlich, dass die Spezifikation der Unterklasse zur Spezifikation der Oberklasse konform ist. INV A bzw. INV B bezeichnen im Weiteren die Invarianten der Klasse A bzw. B. Sind alle von A geerbten Operationen in B konform zu den entsprechenden Operationen in A und gilt darüber hinaus INV B INV A, so heißt die (Spezifikation der) Unterklasse B konform zur (Spezifikation der) Oberklasse A.

10 Copyright, Page 10 of 13 Die Definition der Konformität präzisiert das Prinzip der Substituierbarkeit: Ist die Klasse B konform zur Klasse A, dann können Instanzen der Klasse A durch Instanzen der Klasse B ersetzt werden. Damit lässt sich jetzt die Definition der Generalisierung präzisieren: Eine Ober-Unter-Klassenbeziehung bezeichnen wir als Generalisierung, wenn die Unterklasse konform zur Oberklasse ist. Für die Spezifikation von in der Unterklasse zusätzlich definierten Operationen besteht keine Einschränkung. Ist der Unterklasse zu ihrer Oberklasse nicht konform, sprechen wir anstelle von Generalisierung von Vererbung. Die Sichtbarkeiten von Attributen und Operationen werden in der UML durch Voranstellen der Schlüsselworte public bzw. private gekennzeichnet. Die öffentlichen Attribute und Operationen stehen ihrem Dienstnutzer zur Verfügung, die privaten nicht. Letztere werden nur für die Realisierung benötigt, die gemäß dem Geheimnisprinzip nach außen verborgen bleiben müssen. Wie bereits angesprochen sollte man auch auf öffentliche Attribute nur über entsprechende Standardoperationen (seter- und geter-methoden) zugreifen. Im Kontext der Generalisierung bietet die UML (und einige Programmiersprachen) noch eine weitere Sichtbarkeit an. Die Generalisierung koppelt die verbundenen Klassen relativ eng (vgl. Substituierbarkeitsprinzip). Häufig muss die Unterklasse sogar einige Realisierungsdetails ihrer Oberklasse kennen, z.b. wenn sie die Implementierung einer Oberklassenoperation geeignet anpassen muss (Aufruf der super-methode in Java). Um Implementierungsdetails, die nur in Unterklassen bekannt sein sollen, allen anderen Klassen gegenüber zu verbergen, können Attribute und Operationen als geschützt (protected) deklariert werden. Geschützte Attribute und Operationen sind nur in der definierten Klasse selbst und in ihren Unterklassen sichtbar. In der UML wird bei geschützten Attributen und Operationen das Schlüsselwort protected oder das Zeichen # vorangestellt. Analog zu den verschiedenen Sichtbarkeiten werden verschiedene Schnittstellen einer Klasse unterschieden. Die öffentliche Schnittstelle einer Klasse umfasst die Beschreibung ihrer öffentlichen Attribute und Operationen. Sie stellt damit den von außen sichtbaren Teil der Klasse dar, also genau diejenigen Features, die von den Dienstnutzern in Anspruch genommen werden können. Private bzw. geschützte Features werden in der privaten bzw. geschützten Schnittstelle beschrieben. Die privaten Features einer Klasse dienen ihrer internen Realisierung, die geschützten Features ermöglichen es, Realisierungsdetails in Unterklassen geeignet zu modifizieren. Entsprechend versteht man unter dem Begriff Implementierung einer Klasse die Realisierung ihrer öffentlichen Schnittstelle. Allerdings setzen die öffentlichen Schnittstellen auf den privaten Operationen derselben Klasse auf, da diese die öffentliche Schnittstelle

11 Copyright, Page 11 of 13 mit ihren verkapselten Funktionalitäten realisieren. Die Implementierung einer Operation wird dabei in der UML als Methode bezeichnet. Die Realisierungsinterna der Implementierung bleiben Dienstnutzern verborgen. Um Modellierungselmente wie z.b. Klassen oder Assoziationen besonders aussagekräftig an die jeweilige Situation anpassen zu können, bietet die UML das Erweiterungskonzept Stereotyp an. Für jeden Stereotyp gilt ein Satz spezieller, textuell spezifizierter Charakteristika und/oder Zusicherungen. Jeder Stereotyp wird durch einen Benutzer identifiziert. Zusätzlich kann auch ein graphisches Symbol vereinbart werden. In UML-Diagrammen können stereotypisierte Klassen auf drei verschiedene Arten dargestellt werden: 1. Der Bezeichner des Stereotyps wird textuell, eingefasst in guillemets (), über dem Namen der Klasse angegeben oder 2. das graphische Symbol des Stereotyps erscheint oben rechts im Klassenrahmen oder 3. es ist nur das graphische Symbol des Stereotyps mit darunterliegendem Klassennamen aufgeführt. Bisher haben wir drei Arten von Beziehungen kennengelernt: o Verbindungen bei Objekten, o Assoziationen (inklusive Aggregationen und Kompositionen) bei Klassen und o Generalisierungsbeziehungen. Neben diesen gibt es in der UML noch eine weitere Beziehungsart: die Abhängigkeit (dependency). Mit dieser (schwächeren) Beziehungsart kann man ausdrücken, dass Modellelemente irgendwie von anderen Modellelementen abhängen. Eine Abhängigkeit ist eine gerichtete Beziehung, welche die hinsichtlich eines bestimmten Sachverhalts abhängigen Elemente ( Klienten, clients) mit den unabhängigen Elementen ( Anbieter, supplier) verknüpft. Eine Abhängigkeit kann also auch mehr als zwei Modellelemente umfassen und sagt ohne weitere Angaben nur aus, dass die abhängigen Elemente Kenntnis von den abhängigen Elementen haben und Änderungen eines Anbieters Konsequenzen für Klienten nach sich ziehen können. In der UML sind einige Stereotype vordefiniert, welche die jeweils verknüpfbaren Modellelemente und die Bedeutung der Abhängigkeiten präzisieren. Abhängigkeiten werden in UML-Diagrammen als in Richtung von den abhängigen zu den unabhängigen Elementen verlaufende Pfeile mit gestrichelter Linie und offener Spitze dargestellt. Die Art der Darstellung kann jedoch je nach Stereotyp der Abhängigkeit variieren. Hier verwendet die Klasse A bspw. die Klasse B, d.h. die Klasse A ist von der Klasse B abhängig. Die UML unterscheidet drei arten von Klassen.

12 Copyright, Page 12 of 13 a) Reguläre Klassen, deren sämtliche Operationen implementiert sind. b) Abstrakte Klassen, die mindestens eine abstrakte Operation besitzen, d.h. eine Operation, für die keine Implementierung angegeben ist. c) Interfaces, die keine Attribute besitzen, keine ihrer Operationen implementieren und keine Kenntnis von Assoziationen haben dürfen, d.h. sie dürfen höchstens Ziel einseitig navigierbarer Assoziationen sein. Von regulären Klassen können Instanzen erzeugt werden, nicht aber von abstrakten Klassen oder Interfaces. Bei den beiden letzteren wäre sonst zumindest ein Teil des Verhaltens ihrer Instanzen undefiniert. Durch Unterklassenbildung (Vererbung) einer abstrakten Klasse, in der die abstrakten Operationen implementiert werden, erhält man reguläre (Unter-)Klassen, von denen Instanzen gebildet werden können. Ansonsten verhalten sich die abstrakten Klassen wie normale, sie enthalten die gleichen Eigenschaften und können auch selbst von anderen Klassen erben. Abstrakte Klassen sind das Gegenteil von konkreten Klassen. Eine Klasse realisiert ein Interface, indem sie dessen sämtliche Operationen in ihren Schnittstellen anbietet. Zur Modellierung dieses Sachverhalts bietet die UML die «realizes»-abhängigkeite (realize dependency) an. Zu einem Interface kann es durchaus mehrere realisierende Klassen geben, die dann alle als Klienten in der Realisierungsabhängigkeit zum Interface (Anbieter) auftreten. Interfaces werden in UML-Diagrammen als Klassen mit dem Stereotyp «interface» dargestellt oder einfach als ein kleiner, mit dem Namen des Interface unterschriebener Kreis. Abstrakte Klassen und Interfaces dienen primär der Strukturierung von Modellen und Software. Sie extrahieren Gemeinsamkeiten von Klassen und definieren Vorgaben für deren Schnittstellen, wobei in abstrakten Klassen nicht nur die Schnittstellen, sondern auch Teile der Implementierung zur Redundanzvermeidung vordefiniert werden können. Abstrakte Klassen und Interfaces bieten also den Dienstnutzern eine einheitliche Schnittstelle für eine Familie von Realisierungen an. Zusammenfassend halten wir fest: Abstrakte Klassen und Interfaces sind ähnliche Konzepte und werden in vielen Programmiersprachen mit demselben Konstrukten umgesetzt. Beide definieren eine Schnittstelle und verschieben die Realisierung auf einen späteren Zeitpunkt bzw. in Unterklassen. Während eine abstrakte Klasse jedoch Attribute enthalten kann, beliebig in Assoziationsbeziehungen vorkommen darf und die Implementierung von eigenen Operationen zulässt, enthält ein Interface keine Attribute, ist höchstens Ziel von einseitig navigierbaren Assoziationen und erlaubt die Implementierung der spezifizierten Operationen ausschließlich in den realisierenden Klassen. Wie bekannt werden die Attribute und Operationen eines Obejekts durch entsprechende Attributs- und Operationsspezifikationen seiner Klasse definiert. In einigen Fällen möchte man jedoch modellieren, dass ein Attributwert nicht nur im Kontext einer einzelnen Instanz der jeweiligen Klasse, sondern klassenweit, d.h. für alle Erzeugnisse der Klasse, gilt. Um solche Attributwerte manipulieren zu können, muss es auch entsprechende klassenweit ausführbare Operationen geben. Die UML sieht hierfür die Konzepte Klassenattribut und Klassenoperation vor.

13 Copyright, Page 13 of 13 Für ein Klassenattribut existiert jeweils nur ein einziger, für alle Erzeugnisse global sichtbarer Wert. Im Fall einer Klassenoperation wird die Operation nicht im Kontext einer Instanz, sondern im Kontext der Klasse ausgeführt. Klassenattribute und operationen werden in UML-Diagrammen und textuellen Spezifikationen durch Unterstreichungen des Bezeichners gekennzeichnet. Zur Beschreibung komplexer Sachverhalte der Realwelt können sich die bisher vorgestellten Modellierungselemente als nicht ausreichend erweisen. Für derartige Fälle sieht die UML so genannte Zusicherungen (Constraints) vor, die für (Mengen von) Modellierungselmenten formuliert werden können. Eine Zusicherung kann in das Klassendiagramm integriert werden, indem sie (eingeschlossen in geschweifte Klammern) an die Elemente im Klassenmodell geschrieben wird, für welche sie gilt. Zum Abschluss noch einige Bemerkungen zur strukturellen Modellierung. Das objektorientierte Paradigma wird oft zu einseitig interpretiert. Softwareentwickler tendieren gerne dazu, alles in der Welt als Objekt zu begreifen eine naive, viel zu kurz greifende und oft kontraproduktive Betrachtungsweise. Nicht zuletzt wegen der immer wichtiger werdenden unternehmensweiten Integration von Softwareanwendungen gewinnen globale Funktionen, modelliert als Geschäftsprozess, zunehmend an Bedeutung. Derartige Funktionen etwa in den Operationen von (vielen) Klassen zu verstecken, stellt nicht nur eine inadäquate Modellierung dar, sondern erweist sich noch aus einem anderen Grund als besonders nachteilig. Erfahrungsgemäß ändern sich Funktionen häufiger als Daten bzw. Objekte, und die Änderung solcher verstreuter Funktionalität ist besonders aufwändig.

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

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

Mehr

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

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

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

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen 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

Mehr

Objektorientierte Programmierung

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

Mehr

4. AuD Tafelübung T-C3

4. AuD Tafelübung T-C3 4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Klassendiagramm. (class diagram)

Klassendiagramm. (class diagram) : Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau

Mehr

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Abschnitt 12: Strukturierung von Java-Programmen: Packages Abschnitt 12: Strukturierung von Java-Programmen: Packages 12. Strukturierung von Java-Programmen: Packages 12.1 Strukturierung durch Packages 12.2 Zugriffsspezifikationen 12.3 Zusammenfassung 12 Strukturierung

Mehr

SEQUENZDIAGRAMM. Christoph Süsens

SEQUENZDIAGRAMM. Christoph Süsens SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von

Mehr

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

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

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt 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

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

SWE5 Übungen zu Software-Engineering

SWE5 Ü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

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS 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

Mehr

Produktskizze. 28. November 2005 Projektgruppe Syspect

Produktskizze. 28. November 2005 Projektgruppe Syspect 28. November 2005 Carl von Ossietzky Universität Oldenburg Fakultät II Department für Informatik Abteilung Entwicklung korrekter Systeme Inhaltsverzeichnis 1 Einleitung 3 2 Die graphische Oberfläche der

Mehr

Prozessorganisation Mitschriften aus den Vorlesung bzw. Auszüge aus Prozessorganisation von Prof. Dr. Rudolf Wilhelm Feininger

Prozessorganisation Mitschriften aus den Vorlesung bzw. Auszüge aus Prozessorganisation von Prof. Dr. Rudolf Wilhelm Feininger Darstellungsmittel für Prozesse graphische Darstellung Bild davon machen wie Prozesse gegenwärtig verlaufen Durchführung der Prozesse festlegen zwei Darstellungsmittel: Prozesslandkarten und Flussdiagramme

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Abschlussklausur Geschäftsprozessmodellierung und Workflowmanagement

Abschlussklausur Geschäftsprozessmodellierung und Workflowmanagement Abschlussklausur Geschäftsprozessmodellierung und Workflowmanagement (Wintersemester 2007/2008, Freitag, 08.02.2008, Leo18) Es können maximal 120 Punkte erreicht werden. 1 Punkt entspricht etwa einer Minute

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

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

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle 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

Mehr

1 topologisches Sortieren

1 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

Mehr

Ist 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? 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,

Mehr

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003 Nicht kopieren Der neue Report von: Stefan Ploberger 1. Ausgabe 2003 Herausgeber: Verlag Ploberger & Partner 2003 by: Stefan Ploberger Verlag Ploberger & Partner, Postfach 11 46, D-82065 Baierbrunn Tel.

Mehr

Einführung in die Java- Programmierung

Einfü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

Mehr

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

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

Mehr

Einführung in die Programmierung

Einfü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

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. 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

Mehr

Software Engineering Klassendiagramme Assoziationen

Software 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

Mehr

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

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

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Darstellung von Assoziationen

Darstellung von Assoziationen Darstellung von Assoziationen Wie bereit aus Kapitel 1 bekannt, beschreiben Assoziationen Beziehungen zwischen Objekten, die zwischen Klassen modelliert werden. Zunächst soll die Modellierung binärer Assoziationen

Mehr

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Handbuch und Dokumentation Beschreibung ab Vers. 1.13.5 Am Güterbahnhof 15 D-31303 Burgdorf Tel: +49 5136 802421 Fax: +49 5136 9776368 Seite 1

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 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

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. 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:

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

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

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.

Mehr

Modellbildungssysteme: Pädagogische und didaktische Ziele

Modellbildungssysteme: Pädagogische und didaktische Ziele Modellbildungssysteme: Pädagogische und didaktische Ziele Was hat Modellbildung mit der Schule zu tun? Der Bildungsplan 1994 formuliert: "Die schnelle Zunahme des Wissens, die hohe Differenzierung und

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Der Gutachtenstil: Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Das Ergebnis steht am Schluß. Charakteristikum

Mehr

Datenbankmodelle 1. Das Entity-Relationship-Modell

Datenbankmodelle 1. Das Entity-Relationship-Modell Datenbankmodelle 1 Das Entity-Relationship-Modell Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle ER Modell - 2 Was kann modelliert werden?

Mehr

Anleitung über den Umgang mit Schildern

Anleitung ü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

Mehr

Stift-Karussell in M-Plot einrichten

Stift-Karussell in M-Plot einrichten Einsteiger Fortgeschrittene Profis markus.meinl@m-quest.ch Version 1.0 Voraussetzungen für diesen Workshop Die M-Quest Suite 2005 oder höher ist auf einem Rechner installiert Das Produkt M-Plot Suite ist

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Lizenzierung von SharePoint Server 2013

Lizenzierung von SharePoint Server 2013 Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur 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

10 Erweiterung und Portierung

10 Erweiterung und Portierung 10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

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

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Programmieren in Java

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

Mehr

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien Sie haben von der VR DISKONTBANK GmbH ein signiertes PDF-Dokument (i.d.r. eine Zentralregulierungsliste mit dem Status einer offiziellen Rechnung) erhalten und möchten nun die Signatur verifizieren, um

Mehr

Animationen erstellen

Animationen erstellen Animationen erstellen Unter Animation wird hier das Erscheinen oder Bewegen von Objekten Texten und Bildern verstanden Dazu wird zunächst eine neue Folie erstellt : Einfügen/ Neue Folie... Das Layout Aufzählung

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1..

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1.. Software Engineering I Musterlösungen zur Klausur vom 3.7.2004 Aufgabe a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. zeigt eine mögliche Lösung. Turnier sportart

Mehr

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999 Mind Mapping am PC für Präsentationen, Vorträge, Selbstmanagement von Isolde Kommer, Helmut Reinke 1. Auflage Hanser München 1999 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 21222 0 schnell

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

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

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

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen 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.

Mehr

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Bereich METIS (Texte im Internet) Zählmarkenrecherche Bereich METIS (Texte im Internet) Zählmarkenrecherche Über die Zählmarkenrecherche kann man nach der Eingabe des Privaten Identifikationscodes einer bestimmten Zählmarke, 1. Informationen zu dieser Zählmarke

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut Von Susanne Göbel und Josef Ströbl Die Ideen der Persönlichen Zukunftsplanung stammen aus Nordamerika. Dort werden Zukunftsplanungen schon

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

MCRServlet Table of contents

MCRServlet Table of contents Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Objektbasierte Entwicklung

Objektbasierte 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

4.4 AnonymeMärkteunddasGleichgewichtder"vollständigen Konkurrenz"

4.4 AnonymeMärkteunddasGleichgewichtdervollständigen Konkurrenz 4.4 AnonymeMärkteunddasGleichgewichtder"vollständigen Konkurrenz" Wir haben bisher nachvollziehen können, wie zwei Personen für sich den Anreiz zum TauschentdeckenundwiemitwachsenderBevölkerungdieMengederAllokationensinkt,

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Anwendertreffen 20./21. Juni

Anwendertreffen 20./21. Juni Anwendertreffen Verbindungsmittelachsen VBA Allgemein Die Verbindungsmittelachsen werden nun langsam erwachsen. Nach zwei Jahren Einführungszeit haben wir bereits viele Rückmeldungen mit Ergänzungswünschen

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

Einfü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 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

Mehr

Lizenzierung von SharePoint Server 2013

Lizenzierung von SharePoint Server 2013 Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe

Mehr

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de Inhaltsverzeichnis Inhaltsverzeichnis... 1 Grundlagen... 2 Hyperlinks innerhalb einer Datei... 2 Verweisziel definieren... 2 Einen Querverweis setzen... 3 Verschiedene Arten von Hyperlinks... 3 Einfache

Mehr

Datenaufbereitung in SPSS. Daten zusammenfügen

Datenaufbereitung in SPSS. Daten zusammenfügen Daten zusammenfügen I. Fälle hinzufügen Diese Schritte müssen Sie unternehmen, wenn die Daten in unterschiedlichen Dateien sind; wenn also die Daten von unterschiedlichen Personen in unterschiedlichen

Mehr

Hilfedatei der Oden$-Börse Stand Juni 2014

Hilfedatei 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

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Qualität und Verlässlichkeit Das verstehen die Deutschen unter Geschäftsmoral!

Qualität und Verlässlichkeit Das verstehen die Deutschen unter Geschäftsmoral! Beitrag: 1:43 Minuten Anmoderationsvorschlag: Unseriöse Internetanbieter, falsch deklarierte Lebensmittel oder die jüngsten ADAC-Skandale. Solche Fälle mit einer doch eher fragwürdigen Geschäftsmoral gibt

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

Das Leitbild vom Verein WIR

Das Leitbild vom Verein WIR Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich

Mehr

Inhaltsverzeichnis. 1. Fragestellung

Inhaltsverzeichnis. 1. Fragestellung Inhaltsverzeichnis 1. Fragestellung... 1 2. Herleitung zum Thema... 1 3. Das Entity Relationship Modell (ERM)... 2 4. Praktisches Beispiel zum ERM... 7 5. Anhang...Fehler! Textmarke nicht definiert. 1.

Mehr

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Wir wollen, dass ihr einfach für eure Ideen und Vorschläge werben könnt. Egal ob in ausgedruckten Flyern, oder in sozialen Netzwerken und

Mehr