Kapitel KLASSENDIAGRAMME

Größe: px
Ab Seite anzeigen:

Download "Kapitel KLASSENDIAGRAMME"

Transkript

1 Kapitel KLASSENDIAGRAMME 5.1 Klassendiagramm Objekt Darstellung im Objektdiagramm Objektidentität Kapselung und Geheimnisprinzip 5.2 Klasse Abstrakte Klasse, Klassenname Wurzelklasse 5.3 Assoziation Abgeleitete Assoziation Assoziative Klasse Restriktion (or, subset) Multiplizität (Kardinalität) Aggregation Komposition 5.4 Attribut Attributtyp Klassenattribut Abgeleitetes Attribut 5.5 Vererbung Vor- und Nachteile 5.6 Anforderungen an unsere Klassendiagramme (Meilenstein) Dieses Manuskript steht allen Teilnehmern der Lehrveranstaltung Software Engineering (SE I) an der Technischen Fachhochschule Berlin als unterrichtsbegleitendes Lehrmaterial frei zur Verfügung. Die Nutzung durch andere Personen oder zu anderen Zwecken bedarf zur Vermeidung möglicher Verletzungen des deutschen Urheberrechts der vorherigen Inkenntnissetzung und Erlaubnis des Autors. Seite 1 von 13

2 You can not control what you can not measure. (Tom DeMarco) Die Fachklassendiagramme stellen das Hauptresultat der statischen objektorientierten Analysephase dar. Sie bilden ihrerseits die Grundlage zur Entwurfsphase und werden dort systematisch weiter verfeinert (konkretisiert), um sich dabei einer möglichen Implementierung des Softwareprodukts sukzessive anzunähern. 5.1 Klassendiagramm Objekt In der realen Welt existieren nur Objekte. Ein Objekt (object, instance, class instance oder Exemplar) ist ein Ding oder ein Abstraktum, das gegen andere Objekte abgegrenzt ist und für das zu modellierende Problem eine Bedeutung hat. Es kann ein materieller Gegenstand sein, eine Person oder ein nicht-materieller Gegenstand wie ein Auftrag oder eine Rechnung: Auto mit dem Kennzeichen B-TZ 775 Stuttgart das UML-Buch auf meinem Schreibtisch Kontoüberweisung Jedes Objekt besitzt einen bestimmten Zustand (state) und reagiert mit einem definierten Verhalten (behaviour) auf seine Umgebung. Der Zustand umfasst seine Datenstruktur bzw. deren aktuelle Werte und die jeweiligen Verbindungen (relationship, associations) zu anderen Objekten. Das Verhalten eines Objekts wird durch eine Menge von Operationen beschrieben (diese werden jedoch erst in einer späteren Vorlesung behandelt, vergleiche Manuskript [SE I, 8. VL: Operationen]). Darstellung im Objektdiagramm Das Objekt wird in der UML im Objektdiagramm (object diagram) als Rechteck dargestellt, das in zwei Felder (Reihen) aufgeteilt werden kann. Im oberen Feld wird das Objekt mit einem führenden Doppelpunkt unterstrichen und zentriert bezeichnet: :Klasse Objekt:Klasse Objekt anonymes Objekt enthält nur den Klassennamen das Objekt wird über den Namen angesprochen wenn es reicht, das Objekt über den Namen anzusprechen Im unteren Teil werden optional die Attribute des Objekts eingetragen. Seite 2 von 13

3 Objektidentität Jedes Objekt hat seine eigene Identität, die sog. Objektidentität, auch wenn es beispielsweise augenblicklich dieselben Attributwerte wie ein zweites Objekt besitzt. In diesem Fall spricht man nur von der Gleichheit der Objekte. In der realen Welt unterscheiden sich Objekte schlichtweg durch ihre Existenz voneinander. :Hund hundid = 4711 name = wuffi rasse = zwergpinscher geschlecht = ruede gewichtkg = 31 :Hund name = wuffi rasse = zwergpinscher geschlecht = ruede gewichtkg = 31 Hinweis: die linke Darstellung ist nicht erfunden, sondern aus [Shlaer&Mellor92] Kapselung und Geheimnisprinzip Zustand und Verhalten eines Objekts bilden eine Einheit: ein Objekt kapselt seinen Zustand (Dateninhalt) und Verhalten (Operationen). Der Dateninhalt eines Objekts kann nur mittels bestimmter Getter- und Setter-Operationen gelesen und verändert werden. Das bedeutet, dass die Repräsentation dieser Daten nach außen hin verborgen sein soll: ein Objekt realisiert das Geheimnisprinzip. 5.2 Klasse Alle gleichartigen Objekte, d.h. Objekte mit denselben Assoziationen, Attributen und den gleichen Operationen, gehören zur selben Klasse. Jedes Objekt ist ein Exemplar dieser Klasse. Klasse Objekt Stadt name: Text popul: Number Stuttgart: Stadt name = Stuttgart popul = 10 Ein Klassendiagramm beschreibt die Typen von Objekten im Softwaresystem, die gemeinsame Eigenschaften und einen gemeinsamen semantischen Zweck erfüllen, sowie die verschiedenen Arten von statischen Beziehungen zwischen diesen Objekten. Seite 3 von 13

4 Gemeinsame Eigenschaften sind: 1. Attribute (Struktur) 2. Verhalten 3. Beziehungen (relationships) zu anderen Objekten Es gibt zwei grundsätzliche Arten von statischen Beziehungen: 1. Assoziationen (binäre, tertiäre) 2. Untertypen (synonym: Unterklasse, Ableitung, Vererbung) Auto Stadt Buch Klassendiagramme zeigen die Attribute und Operationen einer Klasse, sowie die Einschränkungen bei der Verbindung ihrer Objekte. Eine Klasse definiert demnach für eine Kollektion von Objekten deren Struktur, Verhalten und Beziehungen. Sie besitzt ferner einen eingebauten (inhärenten) Mechanismus, neue Objekte zu erzeugen (object factory), und hat mittels einer inhärenten Objektverwaltung Kenntnis über alle ihre Objekte. Abstrakte Klassen Es gibt auch Klassen, von denen gar keine Objekte erzeugt werden können. Sie werden abstrakte Klassen genannt. Sie werden durch einen kursiven Klassennamen oder das Merkmal {abstract} gekennzeichnet. Sie können nur zu konkreten Klassen abgeleitet werden. Dazu weiter unten mehr in diesem Manuskript. Ein Merkmal (property) beschreibt bestimmte Eigenschaften eines Elements im Modell. Klassenname Der Klassenname ist im Klassendiagramm stets ein fettgedrucktes, zentriertes Substantiv im Singular, das durch ein Adjektiv ergänzt werden kann (Person, Mitarbeiter, SpeziellerKunde). Es beschreibt immer ein einzelnes Objekt der Klasse. Wurzelklasse Jede objektorientierte Softwareanwendung besitzt genau eine Klasse, die den Startpunkt zu ihrer Ausführung enthält. In der Programmiersprache Java ist das beispielsweise die Klasse, in der sich die Operation public static void main( ) befindet. Sie stellt den Ausgangspunkt für die Instanziierung aller weiteren Objekte dar. Seite 4 von 13

5 5.3 Assoziation Assoziationen (association) repräsentieren Beziehungen (relationships) zwischen Instanzen von Klassen (also Objekten). Jede Assoziation besitzt gewöhnlich zwei Assoziationsenden, obwohl nicht nur binäre, sondern selten auch ternäre Assoziationen vorkommen können. Diese können jedoch keine Aggregation oder Komposition (beide siehe weiter unten) bilden. Jedes Ende ist mit einer Klasse der Assoziation verbunden. Die Enden können explizit mit einer Beschriftung versehen werden. Sie wird Rollenname genannt. Wenn es keine Beschriftung gibt, benennt man die Enden (also die Rolle) nach der jeweiligen Zielklasse (also nach dem Namen der jeweils gegenüberliegenden Klasse). Eine (selbst-) reflexive Assoziation besteht zwischen Objekten derselben Klasse. Mitarbeiter Angestellter Arbeitgeber 0.. arbeitet_für 1 Firma (selbst-) Reflexive Assoziation: Teil Oberteil Unterteil besteht_aus ist_teil_von Assoziationen sind in der Systemanalysephase inhärent bidirektional, d.h. der Mitarbeiter kennt seine Firma, und die Firma kennt ihre Mitarbeiter. Erst in der Entwurfsphase werden die konkreten Richtungen der Navigation einer Assoziation festgelegt. Abgeleitete Assoziation Eine Assoziation heißt abgeleitet (derived association), wenn die gleichen Abhängigkeiten bereits durch andere Assoziationen beschrieben werden. Sie fügt neue Informationen nur durch die Angabe ihrer Rollennamen zum Modell hinzu, und ist daher redundant. Sie wird durch das Präfix / vor dem Assoziationsnamen oder dem Rollennamen gekennzeichnet. Siehe auch abgeleitetes Attribut. Professor Vorlesung 1 liest hört / ist_hörer_von Student Seite 5 von 13

6 Assoziative Klasse Eine Assoziation kann zusätzlich die Eigenschaften einer Klasse besitzen (Attribute, Operationen, sowie Beziehungen zu anderen Klassen). Wir sprechen dann von einer assoziativen Klasse (association class). Die assoziative Klasse wird dann verwendet, wenn bestimmte Informationen bedeutungslos werden, sobald die Beziehung zwischen den Objekten nicht mehr besteht. Leser 0..1 Ausleihe datum verlängerung Buch Nachdem das Buch zurückgegeben wurde, sind das Ausleihdatum sowie eine eventuelle Verlängerungsmöglichkeit nicht mehr interessant. Ok, darüber ließe sich nun fachlich streiten, aber wir nehmen es mal so hin oder finden ein besseres Beispiel Restriktion Assoziationen können mit Restriktionen (constraints) ergänzt werden. Diese Restriktionen können frei formuliert werden. Die or-restriktion sagt aus, dass zu einem beliebigen Zeitpunkt nur eine von mehreren angegebenen Assoziationen gelten kann (siehe Abbildung). Die subset-restriktion (Teilmenge) ist eine einschränkende Assoziation, die über eine generelle Assoziation hinausgehend wirksam ist. Sportler Teilnehmer {subset} Sieger 0..1 Wettbewerb Europalette lagert_in 1 {or} lagert_in 1 Wareneingang Hochregallager Die Multiplizität ist eine Form der Restriktion, die besonders wichtig ist, und deswegen eine eigene Darstellung besitzt. Seite 6 von 13

7 Multiplizität (oder Kardinalität) Die Assoziationsenden besitzen ferner eine Multiplizität, die besagt, wie viele unterschiedliche Objekte an der Beziehung beteiligt sein können (siehe auch Abbildung oben). Allgemein gibt die Multiplizität eine untere und eine obere Schranke für die Anzahl der beteiligten Objekte an, die durch zwei Punkte miteinander verbunden werden. Ein Stern repräsentiert hierbei den Bereich bis unendlich. Man unterscheidet Kann- und Muss-Multiplizitäten. Eine Kann-Multiplizität hat als Untergrenze die Objektanzahl 0, eine Muss-Multiplizität die Anzahl 1 oder höher. Achtung: Die Angabe der Multiplizität in Klassendiagrammen führt manchmal dazu, die tatsächlich spezifizierte Anzahl der möglichen Objektexemplare falsch zu interpretieren: A 1 1 B Man könnte davon ausgehen, dass es von Klasse A und Klasse B jeweils nur ein Objekt geben dürfte. Was aber, wenn das Klassendiagramm nur leicht erweitert wird? A 1 1 B C Offensichtlich kann es mehr als ein Exemplar der Objekte A und B geben, denn Objekt C kann zu beliebig vielen Objekten B Beziehungen aufbauen. Das obere Klassendiagramm sagt nur aus, dass ein Objekt A nur mit einem Objekt B in Beziehung stehen darf (und umgekehrt). Es trifft keine Aussage darüber, wie viele A-B-Kombinationen insgesamt möglich sind. Aggregation Eine Aggregation (aggregation) liegt vor, wenn zwischen den Objekten der beteiligten Klassen eine Teil-Ganzes-Beziehung (whole-part-relation) gilt. Die Aggregation wird durch eine offene Raute an der Beziehungslinie auf der Seite des Ganzen (der sogenannten Aggregatklasse) angezeigt: Verlag Buch Entspricht: Zusammengesetztes Teil Einzelteil Buch Kapitel Absatz Satz Wort Kapitel Absatz Satz Wort Buchstabe Zusammengesetztes Teil Ganzes 0..1 besteht_aus ist_teil_von Teil Einzelteil Seite 7 von 13

8 Komposition Eine Komposition (composition) ist eine starke Form der Aggregation. Auch hier muss eine Teil-Ganzes-Beziehung vorliegen. Darüber hinaus gilt: jedes Objekt der Teilklasse kann zu einem beliebigen Zeitpunkt nur Komponente eines einzelnen Objekts der Aggregatklasse sein. Auto 1 4 Rad Wird das Ganze kopiert, werden implizit auch seine Teile kopiert. Wird das Ganze gelöscht, dann werden automatisch auch seine Teile gelöscht ( they live and die with it ). Ein Teil darf allerdings auch explizit vom Ganzen entfernt werden. Die Komposition wird durch eine gefüllte Raute an der Beziehungslinie auf der Seite der Aggregatklasse angezeigt. Bei Kompositionen handelt es sich häufig um physische Objekte der realen Welt (Auto mit Rädern etc.), deren Objektverbindungen meist über einen längeren Zeitraum bestehen. Ein Teil-Objekt kann jedoch von seinem Aggregat-Objekt getrennt und einem anderen Ganzen zugeordnet werden. 5.4 Attribut Attribute (instance variables, Member-Variablen) enthalten die Werte eines Objekts. Ein Attribut hat eine Bezeichnung, die innerhalb der Klasse eindeutig sein muss, in der es sich befindet. Die Klasse Person kann das Attribut Name besitzen, aber auch die Klasse Firma. Die beiden Attribute sind jedoch lokal zu ihrer jeweiligen Klasse. Jedes Attribut ist von einem bestimmten Typ. Attribute weisen gewöhnlich einen einzelnen Wert auf (single valued), aber man kann bei Bedarf die Multiplizität nach dem Attributnamen in eckigen Klammern angeben, beispielsweise datereceived[0..1] : Date Student :Student matrikelnummer : Number matrikelnummer = 42 name : NameT name = (Prefect, Ford) geburtsdatum : Date geburtsdatum = (1, 1, 1958) Im Objekt :Student wurden die Attribute mit einem Anfangswert versehen. Seite 8 von 13

9 Attributtyp In der UML ist nicht festgelegt, wie der Typ eines Attributs definiert wird. Um ein standardisiertes OOA-Modell zu erstellen, verwenden wir in der Systemanalysephase folgende Typen: Standardtypen String, Number, Boolean, Date, Time Aufzählungstyp Als Bereich werden alle Werte aufgezählt, die das Attribut annehmen kann. Als Selektionsart wird individuell festgelegt, wie viele Werte festgelegt werden können (Voreinstellung: ein Wert). Über ein weiteres Schlüsselwort noadd wird bedarfsweise festgelegt, dass vom Benutzer später keine neuen Werte in die Liste aufgenommen werden können (ohne Angabe können Werte aufgenommen werden). Beispielsweise: {values: rot, grün, blau, select: 1..n, noadd} Klasse Der Typ eines Attributs kann selbst wieder durch eine Klasse beschrieben werden. Diese sogenannte elementare Klasse (support class) wird nicht in das Klassendiagramm eingetragen, sondern meist einmal definiert, und bei jedem Projekt wiederverwendet. Selbstdefinierte Typen werden im allgemeinen mit einem hinten angestellten T bezeichnet. Student matrikelnummer : Number name : NameT NameT name : String vorname: String List-of-Typ Gestatten es dem Attribut, als Wert eine Liste von Datenwerten des definierten Typs anzunehmen: Student NoteT NotenwertT fachbereich: String matrikelnummer : Number {mandatory, key, frozen} name : NameT noten : list of NoteT wert: NotenwertT wert : {values: 1.0,1.3,1.7,2.0,2.3,2.7, 3.0,3.3,3.7,4.0,5.0, noadd} Hier entsteht häufig ein Konflikt, wenn Personen an der Analyse beteiligt sind, die zugleich auch Implementierer sind, da diese dazu neigen, auch systemspezifische Attributspezifikationen (Bitbreiten etc.) in das Klassenmodell der objektorientierten Analyse aufzunehmen. Seite 9 von 13

10 Um aus den Attributen den Prototyp der Benutzungsoberfläche ableiten zu können, muss jedes Attribut über seinen Namen, Typ und Anfangswert hinausgehend durch folgende Angaben spezifiziert werden: Muss-Attribut {mandatory} Der Attributwert muss bei der Erzeugung des Objekts eingetragen werden. Schlüssel {key} Ein Schlüsselattribut identifiziert jedes Objekt innerhalb der Klasse eindeutig (beispielsweise die Matrikelnummer den Studenten). Attributwert nicht änderbar {frozen} Kennzeichnet ein Attribut, dessen Wert nicht geändert werden darf, nachdem er einmal definiert wurde. Einheit {Einheit: } Die Angabe der Einheit wird für den Prototyp der Benutzungsoberfläche benötigt. Beschreibung {Beschreibung: } Erläutert die Bedeutung des Attributs. Attribute sind im Unterschied zu Objekten reine Datenwerte, die nicht selbständig identifizierbar sind. Beispielsweise sind die verschiedenen Vorkommen der Zahl 42 nicht voneinander unterscheidbar. Es ist oft nicht leicht zu entscheiden, ob etwas ein Attribut oder Objekt ist, insbesondere bei zusammengesetzten Attributen wie Adresse. Das hängt letztlich vom Modellierungskonzept ab. Alle Objekte einer Klasse besitzen dieselben Attribute, jedoch unterschiedliche Attributwerte. Attributnamen beginnen mit einem Kleinbuchstaben. Jedes weitere Wort beginnt mit einem Großbuchstaben (camel case). Es werden keine Unterstriche verwendet. firstname matrikelnummer Klassenattribut Ein Klassenattribut liegt vor, wenn nur ein einziger Attributwert für alle Objekte der Klasse existiert. Klassenattribute existieren auch dann, wenn es zu einer Klasse (noch) kein Objekt gibt. Um Klassenattribute von den Objektattributen zu unterscheiden, werden sie im Klassendiagramm unterstrichen dargestellt. Seite 10 von 13

11 Abgeleitetes Attribut Der Wert eines abgeleiteten Attributes (derived attribute) kann jederzeit aus anderen Attributen berechnet werden. Abgeleitete Attribute werden mit dem Präfix / gekennzeichnet. Sie werden gewöhnlich dann verwendet, wenn der in ihnen enthaltene Wert sich selten oder nie ändert und nur durch komplexe Berechnungen herzuleiten ist. Person /alter : Number geburtsjahr : Date 5.5 Vererbung Generalisierung und Spezialisierung sind mächtige Mittel zur Abstraktion von Gemeinsamkeiten verschiedener Klassen. Die gemeinsamen Attribute, Assoziationen und Operationen werden der Oberklasse (Basisklasse) zugeordnet und in den Unterklassen nicht mehr aufgeführt. Man sagt, dass die Unterklassen diese Eigenschaften erben. Der dazu notwendige Mechanismus wird Vererbung (oder auch Ableitung) genannt. Generalisierung bezeichnet den Vorgang, von weniger abstrakten Klassen zu abstrakteren zu gelangen, während die Spezialisierung das Vorgehen von abstrakteren Klassen zu konkreteren bezeichnet. Die Unterklasse erbt die Eigenschaften ihrer Oberklasse und ergänzt diese Gemeinsamkeiten durch ihre eigenen, spezifischen Eigenschaften. Wichtiger Hinweis: in dieser Lehrveranstaltung wird großer Wert darauf gelegt, dass jede Unterklasse (sub class) nur eine einzige Oberklasse (super class) besitzt, auch wenn die zu verwenden beabsichtigte Programmiersprache (beispielsweise C++) mehrere zulassen sollte. Diese Art der Vererbung nennt man Einfachvererbung. Mehrfachvererbung erfolgt wenn überhaupt erst in der Entwurfsphase. Ein Objekt der spezialisierten Klasse (Unterklasse) kann überall dort verwendet werden, wo ein Objekt der Basisklasse erlaubt ist. Man spricht von einer Klassenhierarchie oder Vererbungsstruktur. Jedes Objekt der Unterklasse ist ein Objekt der Basisklasse. Oberklasse Einfachvererbung Unterklasse 1 Unterklasse 2 Seite 11 von 13

12 Bei der Generalisierung und Spezialisierung sollte man sich zunächst immer darüber klar werden, was das Untergliederungskriterium (Diskriminator) ist. Liegt ein falscher Diskriminator vor, kann keine sinnvolle Vererbung vorgenommen werden. Sind Pumpen in einer Klassenhierarchie nach Bauart (Diskriminator) untergliedert, kann eine Vakuumpumpe schlecht eingefügt werden. Auch die Untergliederung nach Fördermaterial führt zu unbefriedigenden Ergebnissen, da die Unterklassen in verschiedenen Teilbäumen der Hierarchie auftauchen könnten. Die Fähigkeit, ein Vakuum erzeugen zu können, wird vielleicht einfacher als Attribut modelliert? Hinweis: ohne bereits zuvor definierte Operationen (Stichwort Polymorphismus) und Attribute lassen sich im allgemeinen keine sinnvollen Vererbungen finden. Sie sind deshalb auch noch kein zwingender Bestandteil des Meilensteins. Vor- und Nachteile der Vererbung Mit wenigem Aufwand können neue Klassen erstellt werden, deren Eigenschaften auf bestehenden Klassen aufbauen. Die Änderbarkeit wird unterstützt. Änderungen an den Attributen der Oberklasse wirken sich automatisch auf die Attribute der Unterklassen aus. Sie wirken sich allerdings auch dann aus, wenn sie vielleicht gar nicht erwünscht sind. Das Konzept der Vererbung steht im Widerspruch zum Geheimnisprinzip, solange noch keine Sichtbarkeit eingeführt wurde. Dies geschieht jedoch erst in der Entwurfsphase. Durch die Vererbung können Unterklassen die Attribute und Operationen ihrer Oberklasse sehen. 5.6 Anforderungen an unsere Klassendiagramme (Meilenstein) Erstes Fachklassendiagramm: Klassennamen, Attribute mit ihrem Attributtyp, Assoziationen (auch Aggregationen und/oder Kompositionen) mit Rollennamen und Kardinalitäten, bei Bedarf auch mit der Angabe von Restriktionen (or, subset), sowie evtl. mit ihren assoziativen Klassen. Die Benutzungsoberfläche bleibt in unseren Fachklassendiagrammen während der Analysephase unberücksichtigt. In einer späteren Vorlesung werden jedoch zur Erstellung des Prototyps Transformationsregeln zur Umwandlung von Klassen in eine Dialogstruktur vorgestellt. Die Fachklassendiagramme beschränken sich in diesem Meilenstein auf die Geschäftslogik, die im Pflichtenheft definiert und in den Geschäftsprozessen konkretisiert wurden. Erst in der Entwurfsphase werden Regeln zur Transformation der objektorientierten Datenhaltung in relationale Strukturen (OR-Mapping) der Datenhaltungsschicht vorgestellt. Auch diese Schicht bleibt in der Analysephase unberücksichtigt. Seite 12 von 13

13 Dennoch markieren Sie bitte diejenigen Fachklassen, die nach außen hin als Benutzungsoberfläche visualisiert werden sollen (sogenannte visuelle Klassen). Zur Vorbereitung der Datenhaltung geben Sie bitte ferner für jede Klasse an, welche Attribute über die Laufzeit des Programms hinaus in einer Datenbasis abgelegt werden sollen (sogenannte persistente Attribute). Beides kann durch eine Zweitfassung des/der Klassendiagramme in einer in einer anderen Farbe geschehen, oder auch durch die Angabe von Properties ({visual} und {persistent}). Berücksichtigen bitte die Wurzelklasse in Ihrem Klassendiagramm. Referenzglossar Das Referenzglossar wird um die in den Fachklassen definierten Fachbegrifflichkeiten (Klassennamen, Attribute etc.) erweitert. Als Modellkennzeichen dieser Erweiterungen ist das Kürzel SOLL-AM (Soll-Anforderungsmodell) zu verwenden. Vorzulegen sind: Anforderung Erstes Fachklassendiagramm (mit Namen, Attributen inkl. Typ, Assoziationen inkl. Rollennamen, Multiplizitäten) Markierung der visuellen und persistenten Klassen Fortschreibung des Referenzglossars Maximale Punktezahl 90 Punkte 20 Punkte 20 Punkte Seite 13 von 13

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

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

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 -

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 - Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule

Mehr

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

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

Mehr

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

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

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

Mehr

Klassendiagramm. (class diagram)

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

Mehr

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation

Mehr

Software Engineering Klassendiagramme weiterführende Konzepte

Software Engineering Klassendiagramme weiterführende Konzepte Software Engineering Klassendiagramme weiterführende Konzepte Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassenattribut: static Implementierung in Java public

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

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

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

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische

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

Assoziation und Aggregation

Assoziation und Aggregation Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben

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

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

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

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

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

Mehr

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation Objektorientierte Konzepte und Notation in UML Objekt Klasse Attribut Operation Objekt Wodurch zeichnet sich ein Objekt aus? - Zustand - Verhalten - Identität Objektdiagramm - Notationsregeln :Kuh Elsa:Kuh

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2 Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

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

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

Mehr

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

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

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

SWT MN Vorlesung 19.04.2006 2. Übungsblatt Hausaufgaben und Hörsaalübungen zum Themenbereich UML-Modellierung mit Rollen und OOA-Muster

SWT MN Vorlesung 19.04.2006 2. Übungsblatt Hausaufgaben und Hörsaalübungen zum Themenbereich UML-Modellierung mit Rollen und OOA-Muster SWT MN Vorlesung 19.04.2006 2. Übungsblatt Hausaufgaben und Hörsaalübungen zum Themenbereich UML-Modellierung mit Rollen und OOA-Muster Aufgabe 1 analytische Aufgabe Die Eigenschaften und Einsatzbereiche

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht 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

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

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

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

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

OO Softwareentwicklung

OO Softwareentwicklung OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung

Mehr

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Grundzüge der Programmierung Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Inhalt dieser Einheit JAVA ist objektorientiert! Grundbegriffe der objektorientierten Programmierung:

Mehr

Use Cases. Use Cases

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

Mehr

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

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

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

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

Monitoring-Service Anleitung

Monitoring-Service Anleitung Anleitung 1. Monitoring in CrefoDirect Wie kann Monitoring über CrefoDirect bestellt werden? Bestellung von Monitoring beim Auskunftsabruf Beim Auskunftsabruf kann das Monitoring direkt mitbestellt werden.

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Name: Matrikelnummer: Note: Prüfungstag: 21.09.2012 Prüfungsdauer:

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

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

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

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish UML Klassendiagramm Igor Karlinskiy, Mikhail Gavrish Agenda Wichtigste Eigenschaften Syntaktische Elemente mit entsprechendem C++ Code Analysemodell Designmodell Quellen 2 Klassendiagramm gibt die Möglichkeit,

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

ER-Modell. Entity-Relationship-Model

ER-Modell. Entity-Relationship-Model + ER-Modell Entity-Relationship-Model + Was ist ein Modell? Worte/Zitat aus einem Physikbuch: "Modelle sind also Vorstellungshilfen und Wirklichkeitshilfen, nicht die Wirklichkeit selbst." (Metzler Physik).

Mehr

Kapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht)

Kapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht) Kapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht) Anforderungen In einer Hochschulverwaltung sind mehrere Personengruppen tätig. Die Hochschule hat Angestellte, die Professoren, Labor-Ingenieure,

Mehr

Übung 4. Musterlösungen

Übung 4. Musterlösungen Informatik für Ökonomen II HS 2010 Übung 4 Ausgabe: 18.11.2010 Abgabe: 25.11.2010 Musterlösungen Schreiben Sie Ihre Namen und Ihre Matrikelnummern in die vorgesehenen Felder auf dem Deckblatt. Formen Sie

Mehr

Software Engineering Interaktionsdiagramme

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

Mehr

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation (Bei Abweichungen, die bspw. durch technischen Fortschritt entstehen können, ziehen Sie bitte immer das aktuelle Handbuch

Mehr

How to do? Projekte - Zeiterfassung

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

Mehr

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das 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

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

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Hinweise zum Übungsblatt Formatierung von Text:

Hinweise zum Übungsblatt Formatierung von Text: Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger

Mehr

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

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

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

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Abschnitte. Abschnittswechsel einfügen

Abschnitte. Abschnittswechsel einfügen Abschnitte Word 2010 Advanced Ein Abschnitt ist eine Einheit innerhalb eines Dokuments, der sich durch sein Layout vom Rest des Dokuments unterscheidet. Standardmäßig besteht das Dokument aus einem Abschnitt.

Mehr

ARCO Software - Anleitung zur Umstellung der MWSt

ARCO Software - Anleitung zur Umstellung der MWSt ARCO Software - Anleitung zur Umstellung der MWSt Wieder einmal beschert uns die Bundesverwaltung auf Ende Jahr mit zusätzlicher Arbeit, statt mit den immer wieder versprochenen Erleichterungen für KMU.

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

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

Integration verteilter Datenquellen in GIS-Datenbanken

Integration verteilter Datenquellen in GIS-Datenbanken Integration verteilter Datenquellen in GIS-Datenbanken Seminar Verteilung und Integration von Verkehrsdaten Am IPD Lehrstuhl für Systeme der Informationsverwaltung Sommersemester 2004 Christian Hennings

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Erklärung zum Internet-Bestellschein

Erklärung zum Internet-Bestellschein Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und

Mehr

Wü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!.

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

Mehr

Dokumentenverwaltung im Internet

Dokumentenverwaltung im Internet Dokumentenverwaltung im Internet WS 09/10 mit: Thema: Workflow und Rollenverteilung im Backend Gruppe: DVI 10 Patrick Plaum und Kay Hofmann Inhalt 1. Benutzer und Benutzergruppen erstellen...2 1.1. Benutzergruppen...2

Mehr

Übungen zur Softwaretechnik

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

Mehr

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation (Bei Abweichungen, die bspw. durch technischen Fortschritt entstehen können, ziehen Sie bitte immer das aktuelle Handbuch

Mehr

Software Entwicklung II (SS12)

Software Entwicklung II (SS12) Prof. Dr. P. Liggesmeyer Dipl.-Inf. K. Bizik M.Sc. K. Nehring TU Kaiserslautern Fachbereich Informatik AG Software Engineering: Dependability Software Entwicklung II (SS12) Übung 5 Ausgabe: 04.06.2012

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

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

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

Grundbegriffe der Objektorientierung

Grundbegriffe der Objektorientierung Grundbegriffe der Objektorientierung Objekt Merkmale Zustand Verhalten Lebenszyklus Beziehungen zwischen Objekten Kategorisierung von Objekten Grundbegriffe der Objektorientierung Objekt Merkmale Zustand

Mehr

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY Vorteile der Verwendung eines ACTIVE-DIRECTORY Automatische GEORG Anmeldung über bereits erfolgte Anmeldung am Betriebssystem o Sie können sich jederzeit als

Mehr

Prinzipien Objektorientierter Programmierung

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

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einführung in die Programmierung mit Java. Hörsaalübung Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung

Mehr

TECHNISCHE INFORMATION LESSOR LOHN/GEHALT BEITRAGSNACHWEIS-AUSGLEICH BUCH.-BLATT MICROSOFT DYNAMICS NAV

TECHNISCHE INFORMATION LESSOR LOHN/GEHALT BEITRAGSNACHWEIS-AUSGLEICH BUCH.-BLATT MICROSOFT DYNAMICS NAV MICROSOFT DYNAMICS NAV Inhaltsverzeichnis TECHNISCHE INFORMATION: Einleitung... 3 LESSOR LOHN/GEHALT Beschreibung... 3 Prüfung der Ausgleichszeilen... 9 Zurücksetzen der Ausgleichsroutine... 12 Vorgehensweise

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

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

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

1. Einführung. 2. Archivierung alter Datensätze

1. Einführung. 2. Archivierung alter Datensätze 1. Einführung Mit wachsender Datenmenge und je nach Konfiguration, kann orgamax mit der Zeit langsamer werden. Es gibt aber diverse Möglichkeiten, die Software wieder so zu beschleunigen, als würden Sie

Mehr

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang 16 8307 Effretikon

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang 16 8307 Effretikon Prozess 4 Akonto WinWerk 8307 Effretikon Telefon: 052-740 11 11 Telefax: 052 740 11 71 E-Mail info@kmuratgeber.ch Internet: www.winwerk.ch Inhaltsverzeichnis 1 Akonto... 2 1.1 Allgemein... 2 2 Akontobeträge

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

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