UML Eine kurze Einführung

Größe: px
Ab Seite anzeigen:

Download "UML Eine kurze Einführung"

Transkript

1 UML Eine kurze Einführung Programmiermethodik Eva Zangerle Universität Innsbruck

2 Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle Themen Generische Programmierung Java Collection-Framework Streams Unit-Tests Entwurfsmuster - Eine Einführung GUI-Programmierung Java Virtual Machine Ausblick Allgemeine Grundlagen Objekte und Klassen Klassen, Objekte und Methoden in Java String-Klasse Wrapper-Klassen UML Eine kurze Einführung Programmiermethodik - Objektorientierung 2

3 Modell und Diagramm Ein Modell stellt Abstraktion eines Realitätsausschnitts dar. Um Informationen verständlicher darzustellen Analog zum Erstellen von Bauplänen von Gebäuden Um essentielle Systemaspekte aufzuzeigen Zur Kommunikation Mit Projektmitarbeitern Mit Kunden Um komplexe Architekturen darstellen zu können Ein Diagramm ist die grafische Repräsentation eines Modells. Sicht Modell Sicht Realitätsausschnitt Programmiermethodik - Objektorientierung 3

4 Unified Modeling Language (UML) Die Unified Modeling Language (UML) ist eine standardisierte ausdruckstarke Modellierungssprache. Mit Hilfe der UML können Softwaresysteme besser entworfen, analysiert und dokumentiert werden. Begriff Unified bedeutet Unterstützung des gesamten Entwicklungsprozesses. Unabhängigkeit von Entwicklungswerkzeugen, sowie Programmiersprachen oder auch Anwendungsbereichen. Die UML ist aber nicht ein Allheilmittel und vollständig, ein vollständiger Ersatz für eine Textbeschreibung, eine Methode oder Vorgehensmodell. Programmiermethodik - Objektorientierung 4

5 Diagrammarten (1) Etliche unterschiedliche Diagrammarten Klassendiagramm (in dieser Vorlesung) Beschreibt den strukturellen Aspekt (Klassen, Interfaces, Beziehungen). Sequenzdiagramm (in der Vorlesung über Entwurfsmuster) Beschreibt komplexe Interaktionen zwischen Objekten in bestimmten Rollen. Beschreibt die zeitliche Abfolge dieser Interaktionen. viele mehr (z.b. Business Prozesse, Use Case-Diagramme, etc.) Programmiermethodik - Objektorientierung 5

6 Diagrammarten (2) Grafik übernommen von Programmiermethodik - Objektorientierung 6

7 Notation für Klassen (Übersicht) Klasse Sprachkonzept Klasse mit Abschnitten Notation Name Name Attribut1 Attribut2 Operation1 Operation2 Programmiermethodik - Objektorientierung 7

8 Klassen (Attribute) Sichtbarkeit für Attribute und Operationen + = public # = protected - = private ~ = default Instanzattribute oder Klassenattribute Klassenattribute werden unterstrichen Zusätzliche Eigenschaften angeben <<readonly>> <<ordered>> <<unique>> <<redefines <Operationsname>>> Programmiermethodik - Objektorientierung 8

9 Klassen (Multiplizität) Multiplizität von Attributen Spezifiziert wie viele Werte ein Attribut aufnehmen kann. Attribut:Typ[a..b] a..b mindestens a.. höchstens b a und b sind natürliche Zahlen * statt b bedeutet beliebig viele Beispiele 1..1 genau ein (entspricht 1) 0..1 Null oder ein 0..* beliebig viele (entspricht *) 1..* beliebig viele aber zumindest ein Programmiermethodik - Objektorientierung 9

10 Beispiele -max_size : int -top : int -stackarr : int [0..*] S tack <<constructor>>+s tack( max_size : int ) +push( element : int ) +pop() : int +ise mpty() : boolean +length() : int Alle Attribute sind privat User -name : S tring [1] -key : P asswo rd [1..*] User kann mehrere Passwörter haben Bereiche (hier Operationen) können auch leer bleiben Alle Operationen sind öffentlich <<enumerat ion>> RED B LUE GRE EN B LACK Color Datentypen oder Enumerations Programmiermethodik - Objektorientierung 10

11 Klassen (Operationen) Obligate Angabe einer (eventuell leeren) Parameterliste für jede Operation. Für jeden Parameter muss zumindest der Name und sein Typ angegeben werden (auch Multiplizität). Auch Rückgabetyp möglich (wenn nichts angegeben void). Unterstreichen kennzeichnet Klassenoperationen. Sichtbarkeit wie bei Attributen Zusätzliche Eigenschaften <<abstract>> (oder kursiv geschrieben) <<leaf>> (wenn final) <<raisedexception>> (wie throws) <<enumeration>> <<constructor>> Hinweise auf Algorithmen können in einer Notiz angefügt werden. Programmiermethodik - Objektorientierung 11

12 Assoziation Grundform (binäre Assoziation) A B Zusätzliche Angaben Benennung In der Mitte der Kante (Anzeigen der Leserichtung durch Pfeil möglich) Rollen (an den Enden der Assoziation, spezifische Funktion angeben) Multiplizitäten (an den Enden, wie bei Attributen) Angabe von Eigenschaften {ordered} {unique} Navigationsangaben Zulässige Navigationsrichtung (durch Pfeil) Keine Navigation erlaubt (durch X) Programmiermethodik - Objektorientierung 12

13 Beispiele User has P assword User has * -key P assword User -owner 1 has * -key P assword Reflexive Assoziation S ortedintlist <<c ons truc tor>>+s ortedintlis t() +insert( element : int ) +print() * -firs t 0..1 Node -data : int <<constructor>>+node( data : int ) * -next 0..1 Programmiermethodik - Objektorientierung 13

14 Beispiel (Java Umsetzung) Borr ower -c urrentb orrower 0..1 borrows -borrowedbooks 5 Book public class Borrower{ private Book[] borrowedbooks; private int numbooks;... public Borrower(){ numbooks = 0; borrowedbooks = new Book[5]; } public class Book{ private Borrower currentborrower;... public void setborrower(borrower bw){ currentborrower = bw; } } } public void borrowbook(book b){... borrowedbooks[numbooks] = b; numbooks++; b.setborrower( this );... } Programmiermethodik - Objektorientierung 15

15 Aggregation Ist eine spezielle Assoziation (Teile-Ganzes-Beziehung). Komposition ist eine speziellere (strengere) Form der Aggregation mit folgenden Einschränkungen. Ein Teil darf Kompositionsteil höchstens eines Ganzen sein. Multiplizität 1 bedeutet, dass das Teil nur solange existiert wie sein Ganzes. Ganzes ist verantwortlich für die Erzeugung der Teile. Beispiele Company 1 has 1..* Div ision Aggregation Inv oice 1 has 1..* Inv oice line item Komposition Rechnungsposition existiert nur mit Programmiermethodik - Objektorientierung der Rechnung 16

16 Beispiel (Java Umsetzung) Car has -wheels 4 W heel Car has -fixedwheels 4 W heel public class Car { private Wheel[] wheels;... public Car(Wheel r1, Wheel r2, ) { wheels = new Wheel[4]; wheels[0] = r1; wheels[1] = r2; } } public class Car { private Wheel[] fixedwheels;... public Car(){ fixedwheels = new Wheel[4]; fixedwheels [0] = new Wheel(); fixedwheels [1] = new Wheel(); }... } Programmiermethodik - Objektorientierung 17

17 Vererbung, Schnittstellen Programmiermethodik - Objektorientierung 18

18 Programmiermethodik - Objektorientierung 19

Abschnitt 15: Unified Modeling Language (UML)

Abschnitt 15: Unified Modeling Language (UML) Abschnitt 15: Unified Modeling Language (UML) 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML

Mehr

Übersicht. Softwarearchitektur. Softwarearchitektur, UML, Design Patterns und Unit Tests. Softwarearchitektur

Übersicht. Softwarearchitektur. Softwarearchitektur, UML, Design Patterns und Unit Tests. Softwarearchitektur Übersicht Object Oriented Organization Das System besteht aus Objekten, die mittels Methodenaufrufe (Nachrichten) miteinander kommunizieren. 2 / 34 4 / 34,, Design Patterns und Stefan Wehr Prof. Dr. Peter

Mehr

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure 8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

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

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 12: Einführung in UML und Java API Dokumentation Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in UML Sequenzdiagramm Klassendiagramm

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 5. Dezember 2011 1 Besprechung Blatt 6 Fragen 2 Vererbung Allgemein abstract Interfaces 3 Unified Modeling Language (UML) Ablaufdiagramme Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung Blatt 7

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

Software Engineering. 6. Klassendiagramme. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering. 6. Klassendiagramme. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 6. Klassendiagramme Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 6. Klassendiagramme 2 Klassendiagramme Wichtigster Diagrammtyp in UML Statische objekt-orientierte

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

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Informatik I - Programmierung Globalübung Objektorientierung. Objektorientierung Konzepte & Notationen

Informatik I - Programmierung Globalübung Objektorientierung. Objektorientierung Konzepte & Notationen Informatik I - Programmierung Globalübung 2.12.2003 Objektorientierung Konzepte & Notationen Thomas Weiler Fachgruppe Informatik RWTH Aachen T. Weiler, RWTH Aachen - 1 - Objektorientierung Notationen Entwurfsprinzipien

Mehr

Kurzeinführung in UML

Kurzeinführung in UML Kurzeinführung in UML Die Unified Modeling Language (UML) ist eine Sprache zur Beschreibung von Softwaresystemen. Der Grundgedanke bei UML bestand darin, eine einheitliche Notation für viele Einsatzgebiete

Mehr

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014 Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme 11. November 2014 Überblick Was ist die Unified Modeling Language (UML)? die Standardmodellierungssprache für Softwaresysteme

Mehr

Klassendiagramm. (class diagram)

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

Mehr

Java Einführung Objektorientierte Grundkonzepte

Java Einführung Objektorientierte Grundkonzepte Java Einführung Objektorientierte Grundkonzepte Inhalt Verständnis der grundlegenden Konzepte der Objektorientierung: Objekte Nachrichten Kapselung Klassen und Instanzen Vererbung Polymorphismus Darstellung

Mehr

Software- und Systementwicklung

Software- und Systementwicklung Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm

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

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

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

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

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

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

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language ADV-Seminar Leiter: Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

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

Code-Erzeugung aus UML-Klassendiagrammen

Code-Erzeugung aus UML-Klassendiagrammen Dominik 09.03.2009 Universität Ulm Gessenharter Inst. f. Programmiermethodik und Compilerbau Code-Erzeugung aus UML-Klassendiagrammen Theorie und Praxis Seite 2 REConf 2009 München Dominik Gessenharter

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Übersicht. Vorstellung des OO-Paradigmas

Übersicht. Vorstellung des OO-Paradigmas Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Unified Modelling Language

Unified Modelling Language Proseminar Systemmodellierung mit SysML Martin Fobian 04.05.2010 Unified Modelling Language Klassendiagramm Objekt, Klasse, Operation 1 Überblick 1. Objekt 2. Klassen 3. Attribute 4. Operationen 2 1. Objekt

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

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

7. Analyse-Phase: Datenmodellierung Software Engineering

7. Analyse-Phase: Datenmodellierung Software Engineering 7. Analyse-Phase: Datenmodellierung Software Engineering Hochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm Hochschule Darmstadt, 20. November 2006 Einordnung in den Kontext

Mehr

Teil V. Generics und Kollektionen in Java

Teil V. Generics und Kollektionen in Java Teil V Generics und Überblick 1 Parametrisierbare Datenstrukturen in Java 2 Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 5 1 Parametrisierbare Datenstrukturen in Java Motivation für

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

Methodische objektorientierte Softwareentwicklung

Methodische objektorientierte Softwareentwicklung Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte von Mario Winter 1. Auflage Methodische objektorientierte Softwareentwicklung Winter schnell

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

Programmieren in Java

Programmieren in Java FG TECHNISCHE INFORMATIK V JV A00 00 TH 0 Programmieren in Java Anhang A A. Modellierung von OOP-Programmen A.. Klassenkategorien A.2. Klassembeziehungen A.3. Klassendiagramm und Sequenzdiagramm der UML

Mehr

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen Objektorientierte Programmierung mit Grundlagen 27.10.2008 1 Übersicht 27.10.2008 2 1 Übersicht Klassen und Objekte in - Klassen - Objekte - Klassen - Objekte 27.10.2008 3 Übersicht 27.10.2008 4 2 Einführung

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Unified Modeling Language (UML )

Unified Modeling Language (UML ) Unified Modeling Language (UML ) Seminar: Programmiersprachenkonzepte Inhalt Einleitung UML 2.0 Diagrammtypen 2 Einleitung Objektorientierte Modellierungssprache Definiert vollständige Semantik Dient der

Mehr

Vorlesung Programmieren. Bisher: Klassen und Objekte. Was ist mit ähnlichen Klassen? Vererbung und Polymorphismus

Vorlesung Programmieren. Bisher: Klassen und Objekte. Was ist mit ähnlichen Klassen? Vererbung und Polymorphismus Vorlesung Programmieren Vererbung und Polymorphismus Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Bisher: Klassen und Objekte Haupteigenschaften:

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

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

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

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

Softwarepraktikum: Enigma

Softwarepraktikum: Enigma Softwarepraktikum: Enigma Martin Steffen Sommersemester 2003 Abschnitt I Softwareentwurf Bereiche der Softwareentwicklung 1 Softwareentwurf eigentliche Softwareentwicklung Projektmanagement Konfigurationsmanagement

Mehr

Die abstrakte Syntax der Unified Modeling Language

Die abstrakte Syntax der Unified Modeling Language Die abstrakte Syntax der Unified Modeling Language 6. November 2012 Taentzer Visuelle Sprachen 79 Überblick Wie ist die abstrakte Syntax der UML definiert? Über ein Metamodell Die UML vereinigt verschiedene

Mehr

UML 2.0 Das umfassende Handbuch

UML 2.0 Das umfassende Handbuch Christoph Kecher V.-M \MM UML 2.0 Das umfassende Handbuch Galileo Computing Inhalt Vorwort 11 1 Einführung 13 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3 Die Geschichte

Mehr

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,... Vorlesung GIS Einführung in UML Stephan Mäs 28. Mai 2009 Überblick 1. Was ist UML??? Was ist ein Modell??? UML Geschichte,... 2. Diagrammtypen Schwerpunkt: Klassendiagramme 3. UML Software Arbeitsgemeinschaft

Mehr

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion 1 Java 1.1 e B Java RMI orientierte Sprache e beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. referenzen Verweise auf e keine Zeiger, Adressen o.ä. B.1 B.2 1.1 e (2)

Mehr

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck Unit Tests Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

8. Generics Grundlagen der Programmierung 1 (Java)

8. Generics Grundlagen der Programmierung 1 (Java) 8. Generics Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 6. Dezember 2005 Einordnung im Kontext der Vorlesung 1.

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

Objektorientierte und Funktionale Programmierung SS 2014

Objektorientierte und Funktionale Programmierung SS 2014 Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten

Mehr

Arbeitsblätter zu Teil I des Praktikums

Arbeitsblätter zu Teil I des Praktikums Arbeitsblätter zu Teil I des Praktikums Allgemeine Hilfsmittel Bitte benutzen Sie bei Schwierigkeiten mit spezifischem Domänenwissen das Internet als Recherchemöglichkeit (beispielsweise Google oder Wikipedia).

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 29 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen Einführung:

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

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

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Klassen und Objekte Einführung in Java Folie 1 von 28 12. Mai 2011 Ivo Kronenberg Inhalt Objekte Klassendefinitionen Datenelemente (Klassenattribute) Instanzieren von Objekten Konstruktoren Vergleich primitive

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

Softwaretechnik Unified Modeling Language (UML)

Softwaretechnik Unified Modeling Language (UML) Softwaretechnik Unified Modeling Language () Karsten Weicker, Nicole Weicker HTWK Leipzig, FHTW Berlin David Shayne: She s so charismatic, and she s brilliant and beautiful. I mean, a real artist, and,

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte)

1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte) Praktische Informatik (Software) Vorlesung Softwareentwicklung 1 Prof. Dr. A. Ferscha Hauptklausur am 01. 02. 2001 Zuname Vorname Matr. Nr. Stud. Kennz. Sitzplatz HS / / / Punkte Note korr. Fügen Sie fehlende

Mehr

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte Grundkonzepte Objektorientierter Programmierung Nicole Himmerlich FSU Jena mit Java, Oberon-2, Object-Pascal und Python Inhaltsüberblick I. Grundbegriffe 1) Kopplung 2) Datenkaspelung 3) Konstruktor 4)

Mehr

Oracle JDeveloper 10 g

Oracle JDeveloper 10 g Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II SS 2011 3 Objektorientierter Entwurf mit UML und Java Wissensbassierte Systeme / Wissensmanagement Einführung in die Informatik II 1 Prüfungstermine EI II im Sommersemester

Mehr

Bei Sitzungen im Team oder mit dem Kunden erleichtert eine grafische Darstellung des Software-Systems die Kommunikation.

Bei Sitzungen im Team oder mit dem Kunden erleichtert eine grafische Darstellung des Software-Systems die Kommunikation. UML Was ist UML UML (=Unified Modeling Language) ist eine weit verbreitete, standardisierte Notationsschrift, die das grafische Darstellen von Software-Systemen ermöglicht und dadurch eine grosse Unterstützung

Mehr

Objektorientierte Programmierung. 1. Einführung. Dresden, 10. April 2008

Objektorientierte Programmierung. 1. Einführung. Dresden, 10. April 2008 Fakultät Informatik, Studienrichtung Lehramt Informatik Objektorientierte Programmierung 1. Einführung Dresden, 10. April 2008 Dr. Michael Unger Gymnasium Coswig Schülerrechenzentrum der TU Dresden (mu2@inf.tu-dresden.de)

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

UML. Weiteres Vorgehen im Projekt

UML. Weiteres Vorgehen im Projekt UML Download objectif Personal Edition (kostenlos): http://www.microtool.de/objectif/de/download.asp Weiteres Vorgehen im Projekt Komponenten, Klassen, Objekte Prozesse Nichtfunktionale Anforderungen Skizzen,

Mehr

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt.

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. Was ist eine Klasse? Was ist ein Objekt? Geben Sie ein

Mehr

Sind Kühe Tiere? oder Was lehrt uns die Objektorientierung? Prof. Dr. Th. Letschert

Sind Kühe Tiere? oder Was lehrt uns die Objektorientierung? Prof. Dr. Th. Letschert oder Was lehrt uns die Objektorientierung? Prof. Dr. Th. Letschert Kühe Was sind Kühe? 2 Kühe Zwei Kühe 3 Kühe in der Informatik / UML Kuh Kuh Horn: hornlinks Horn: hornrechts Konzept, Typ, Klasse Beschreibt

Mehr

Softwaretechnik für den Entwurf

Softwaretechnik für den Entwurf Projektseminar RIKA Wintersemester 1999/2000 18.11.1999 Holm Wegner, Florian Matthes Entwurfsphase: Einordnung Planungsphase Lastenheft Definitionsphase Pflichtenheft Entwurfsphase Produktentwurf Implementierungsphase

Mehr

Gliederung des Vortrages

Gliederung des Vortrages Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme

Mehr

Teil 2: OOP und JAVA (Vorlesung 11)

Teil 2: OOP und JAVA (Vorlesung 11) Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Smalltalk CLOS Ada 9 C++ Objektorientierte Softwareentwicklung Object Pascal Java Oberon-2 Frage: Die Bibliothek der Fachhochschule

Mehr

Objektorientierter Softwareentwurf mit UML. Grundlagen. Ricardo Hernández Garcia. 3. Ausgabe, November 2012 PGOS

Objektorientierter Softwareentwurf mit UML. Grundlagen. Ricardo Hernández Garcia. 3. Ausgabe, November 2012 PGOS Objektorientierter Softwareentwurf mit UML Ricardo Hernández Garcia 3. Ausgabe, November 2012 Grundlagen PGOS 3 Objektorientierter Softwareentwurf mit UML - Grundlagen 3 Das objektorientierte Vorgehensmodell

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 Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation zwischen

Mehr

1. Grundlegende Datentypen

1. Grundlegende Datentypen 1. Grundlegende Datentypen 16.08.2011 a) Wichtige Datentypen R double Rundungsfehler! 1.42 oder 2E+2 Z int maximal ± 2 Milliarden 2374 Wahrheitswerte boolean true oder false Zeichen char Unicodezeichen

Mehr

Techniken der Projektentwicklung

Techniken der Projektentwicklung diagramme Termin 6 Denken in Schnittstellen Was nun? Einführung Bisher kennengelernt: Modellierung auf Konzeptlevel Usecase-Diagramme Domänenmodelle Jetzt: Übergang zu Spezifikation und Implementierung!

Mehr

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference) 2. Methoden n Generelles zum Aufruf von Methoden n Parameterübergabemechanismen (call by value, call by reference) n Speicherorganisation bei Methodenaufruf und Parameterübergabe (Laufzeitkeller) n vararg

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM Objektorientierte Programmierung 8. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung e Die 1. lgruppe von KobrA: Realization le der Realization: Kurze Structural

Mehr

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

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

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

J.2 Objektorientiertes Modellieren mit UML

J.2 Objektorientiertes Modellieren mit UML Modellieren mit UML Objektorientiertes Modellieren mit UML 2002 Prof. Dr. Rainer Manthey Informatik II 1 UML: Übersicht in den 1980er Jahren: Entstehen einer Vielzahl objektorientierter Entwurfsmethoden

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Dr. Beatrice Amrhein. April 13

Dr. Beatrice Amrhein. April 13 Dr. Beatrice Amrhein April 13 Viele der Ideen und Aufgabenbeispiele stammen aus dem Skript von André- Claude Godet, welches er mir freundlicherweise als Ausgangspunkt für dieses Skript zur Verfügung gestellt

Mehr

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

Mehr