Inhalt 5 Objektorientierte Grundkonzepte

Größe: px
Ab Seite anzeigen:

Download "Inhalt 5 Objektorientierte Grundkonzepte"

Transkript

1 1 Inhalt 5 Objektorientierte Grundkonzepte Intuitive Einführung Objekte Klassen Attribute Methoden Botschaften Assoziationen Vorgehensweise Unified Modeling Language (UML).

2 2 4 Objektorientierte Grundkonzepte

3 3 4 Objektorientierte Grundkonzepte Zur Historie Prof. Dr. e. h. Kristen Nygaard * in Oslo, Norwegen Department of Informatics University of Oslo Erfinder der Programmiersprache SIMULA 67, die das Klassenkonzept in die Programmiersprachenwelt einführte (zusammen mit Ole-Johan Dahl) Erfinder der objektorientierten Programmiersprache BETA (zusammen mit B. B. Kristensen, O. L. Madsen, B. Møller- Pedersen).

4 4 Intuitive Einführung Attribute Objektname Attributwerte Paul Abstraktion Geburtsdatum: Einkommen: Stipendium lernen feiern Methoden Beispiel: Modellierung einer Person im Kontext einer Universität

5 5 Intuitive Einführung Klassenname Attribute Student Abstraktion Geburtsdatum: String Einkommen: String lernen feiern Methoden Beispiel: Modellierung einer Klasse Student

6 6 Intuitive Einführung Vererbung

7 7 Intuitive Einführung Polymorphismus

8 8 Intuitive Einführung z.b. Student subjektiver Blickwinkel des Modellierers Begriff Erkennen [N:1] [1:1] z.b. Klasse Student Geburtsdatum Einkommen studieren feiern [1:N] Instanziieren z.b. Phänomen Welt [1:1] (Modell-) (Modell-) Objekt Objekt z.b. z.b. Anna Paul Geburtsdatum: Einkommen: Stipendium Geburtsdatum: Einkommen: Stipendium studieren feiern studieren feiern

9 9 Objekte Objekt: Paul Geburtsdatum: Einkommen: Stipendium lernen feiern Ein Objekt ist allgemein ein Gegenstand des Interesses, insbesondere einer Beobachtung, Untersuchung oder Messung. Objekte können Dinge und Begriffe sein. In der objektorientierten Softwareentwicklung besitzt ein Objekt bestimmte Eigenschaften und reagiert mit einem definierten Verhalten auf seine Umgebung. Außerdem besitzt jedes Objekt eine Identität, die es von allen anderen Objekten unterscheidet. Die Eigenschaften eines Objektes werden durch dessen Attributwerte ausgedrückt, sein Verhalten durch eine Menge von Methoden.

10 10 Klassen Klasse: Student Geburtsdatum: String Einkommen: String lernen feiern Eine Klasse beschreibt eine Sammlung von Objekten mit gleichen Eigenschaften (Attributen), gemeinsamer Funktionalität (Methoden), gemeinsamen Beziehungen zu anderen Objekten und gemeinsamer Semantik.

11 11 Attribute Student Geburtsdatum: String Einkommen: String lernen feiern Attribute: Die Attribute beschreiben die Daten bzw. Eigenschaften einer Klasse. Alle Objekte einer Klasse besitzen dieselben Attribute, jedoch unterschiedliche Attributwerte. (Das bedeutet für die Implementation, dass jedes Objekt Speicherplatz für alle seine Attribute erhalten muss.)

12 12 Methoden Student Geburtsdatum: String Einkommen: String lernen feiern Methode: Eine Methode ist ein Algorithmus, der einem Objekt zugeordnet ist und von diesem abgearbeitet werden kann.

13 13 Quelltext in Java public class Student { /* Attribute */ private String geburtsdatum; private String einkommen; Student Geburtsdatum: String Einkommen: String lernen feiern /* Konstruktor(en) */ public Student() { geburtsdatum = " "; einkommen = "Stipendium"; /* Methoden */ public void lernen(){ public void feiern(){

14 14 Botschaften Objekte kommunizieren untereinander über Nachrichten, die Botschaften genannt werden. Wird an ein Objekt eine Botschaft geschickt, so führt dies zum Aufruf der entsprechenden Methode. Im Beispiel hat die Lehrkraft John dem Studenten Felix die Botschaft lernen gesandt. Auf die Botschaft (bitte) lernen lernen führt ein freundlicher Felix in der Realität die entsprechenden Aktivitäten durch. In der Modellwelt würde ein Objekt Felix mit der Ausführung der gleichnamigen Methode reagieren. Nach absolviertem Lernen sendet Felix eine Vollzugsmeldung an seinen Lehrer. John Geburtsdatum: Einkommen: Gehalt lehren lernen lernen Felix Geburtsdatum: Einkommen: Stipendium lernen feiern

15 15 Botschaftgen Verkapselung, Geheimnisprinzip

16 16 Lehrer in Java mit Array und Vektor 1 class Lehrer{ private String geburtsdatum, einkommen; private Student[] studentenliste; public Lehrer(String gebdat, Student[] studenten) { geburtsdatum = new String(gebdat); einkommen = new String("Gehalt"); studentenliste = studenten; import java.util.vector; class Lehrer{ private String geburtsdatum, einkommen; private Vector<Student> studentenliste; public Lehrer(String gebdat, Vector<Student> studenten) { geburtsdatum = new String(gebdat); einkommen = new String("Gehalt"); studentenliste = studenten;

17 17 Lehrer in Java mit Array und Vektor 2 public void lehren() { int i, j; i = 0; j= studentenliste.length; while (i <j) { studentenliste[i].lernen(); i++; public void lehren() { int i, j; i = 0; j= studentenliste.size(); while (i <j) { studentenliste.elementat(i).lernen(); i++;

18 18 Vererbung 1 Klassen werden in eine Hierarchie eingeordnet, die eine Weiterleitung von Informationen von oben nach unten ermöglicht. Eine Unterklasse verfügt dann über die Eigenschaften und das Verhalten der Oberklasse. Eine Unterklasse erbt die Attribute und Methoden einer Oberklasse

19 19 Vererbung 2 Vorteile der Vererbung + Aufbauend auf existierenden Klassen können leicht neue entwickelt werden + Wiederverwendung wird unterstützt + Adaptierbarkeit ist möglich Nachteile Vererbung folgt nicht dem Prinzip der Datenkapselung

20 20 Vererbung 3

21 21 Abstrakte Klasse 1 Abstrakte Klasse Eine Klasse, zu der keine Objekte existieren können, bezeichnet man als abstrakte Klasse. Konkrete Klasse Wenn zu einer Klasse Objekte erzeugt werden können, bezeichnet man sie als konkrete Klasse.

22 22 Abstrakte Klasse 2 Eine abstrakte Klasse muss Unterklassen haben. Wird zur Beschreibung von Schnittstelle benutzt.

23 23 Polymorphismus und dynamisches Binden Polymorphismus Eine Botschaft ist polymorph, wenn sie bei unterschiedlichen Objekten Methoden aktiviert, die verschiedene Semantiken besitzen Dynamisches Binden Dynamisches oder spätes Binden liegt vor, wenn erst beim Ablauf eines Algorithmus (zur Laufzeit) festgelegt werden kann, welche Methode durch eine Botschaft aktiviert wird.

24 24 Mehrfachvererbung Erbt eine Klasse nur von einer anderen Klasse, so spricht man von Einfachvererbung. Sind es mehrere Klassen, von denen geerbt wird, so bezeichnet man dies als Mehrfachvererbung.

25 25 Vererbung class Student_fuer_Fach1 extends Student { /* extends repäsentiert Vererbung*/ public Student_fuer_Fach1(String gebdat) { super(gebdat); /* Aufruf des Konstruktors der Oberklasse */ public void lernen() { System.out.println( geburtsdatum + " Fach1 beginnt zu lernen! "); System.out.println( geburtsdatum + " Beende das Lernen! "); public void feiern() { System.out.println( geburtsdatum + " Fach1 beginnt zu trinken! "); System.out.println( geburtsdatum + " Beende das Trinken! ");

26 26 Testbeispiel import java.util.vector; class LehrerTestVector { public static void main(string[] args){ Student paul, antje, heike; Lehrer john; Vector<Student> liste = new Vector<Student>(); paul = new Student(" "); antje = new Student_fuer_Fach1(" "); heike = new Student_fuer_Fach2(" "); liste.add(paul); liste.add(antje); liste.add(heike); john = new Lehrer(" ", liste); john.lehren();

27 27 Testergebnis Student beginnt zu lernen! Beende das Lernen! Fach1 beginnt zu lernen! Beende das Lernen! Fach2 beginnt zu lernen! Beende das Lernen! Student beginnt zu feiern! Beende das Feiern! Fach1 beginnt zu trinken! Beende das Trinken! Fach2 beginnt zu tanzen! Beende das Tanzen!

28 28 Botschaften Objekte müssen sich kennen, um Nachrichten austauschen zu können. Zwischen der entsprechenden Klassen muss eine Verbindung über Assoziationen bestehen Assoziationen beschreiben Beziehungen (Verknüpfungen) zwischen Objekten. Sie werden zwischen Klassen formuliert, beziehen sich aber auf die Instanzen (Objekte) dieser Klassen. Beispiel für eine unidirektionale Assoziation:

29 29 Assoziationen Assoziationen beschreiben Beziehungen (Verknüpfungen) zwischen Objekten. Sie werden zwischen Klassen formuliert, beziehen sich aber auf die Instanzen (Objekte) dieser Klassen. Wenn zwischen Klassen eine Assoziation besteht, dann kann zwische den zugehörigen Objekten eine Relation existieren auf Objektebene wären folgende Relationen Für den Lehrer John denkbar

30 30 Assoziationen Assoziationen sind im oo.paradigma mit dem Begriff der Navigierbarkeit verknüpft. - Bei unidirektionalen Assoziationen sind nur Objekte der Quellklasse über die Beziehung informiert. - Bei bidirektionalen Assoziationen sind Objekte der Quellund Zielklasse über die Beziehung informiert. Beispiel für eine bidirektionale Assoziation: - Eine Instanz der Klasse Student kann Botschaften an Instanzen der Klasse Lehrveranstaltung senden. - Eine Instanz der Klasse Lehrveranstaltung kann Botschaften an Instanzen der Klasse Student senden.

31 31 Assoziationen Multiplizitäten (Kardinalitäten) Multiplizitäten geben an, mit wievielen anderen Objekten ein Objekt einer bestimmten Klasse in einer konkreten Beziehung stehen kann bzw. stehen muß. 1 Klasse genau ein Objekt * Klasse kein oder mehrere Objekte 0..1 Klasse optional (kein oder ein Objekt) m..n Klasse mindestens m, höchstens n Objekte

32 32 Assoziationen Rolle: beschreibt welche Funktion ein Objekt in einer Assoziation innehat. z.b.: Geordnete Assoziation: {ordered Der Begriff {ordered macht im Beispiel deutlich, dass die Seminarveranstaltungen bezogen auf jeweils einen Kunden geordnet sind.

33 33 Assoziationen Beispiel für Bedingungen (Restriktionen) an Assoziationen: Mitarbeiter Name Gehalt Position Chef Sekretärin {Chef.Gehalt > Sekretärin.Gehalt Restriktion

34 34 Assoziationen Assoziationsklasse: Assoziation werden eigene Attribute und Operationen zugeordnet kann keine unabhängigen Objekte erzeugen erzeugte Objekte hängen von der Existenz anderer Objekte ab kapseln Informationen, die die Beziehung dieser anderen Objekte beschreiben z.b.: Buchungsobjekte existieren nur in Abhängigkeit von Kunden- und Seminarveranstaltungsobjekten.

35 35 Assoziationen Abgeleitete Assoziationen: sind Assoziationen, die durch andere Assoziationen definiert werden können (redundant). z.b.: abgeleitet

36 36 Assoziationen Beispiel angelehnt an (Coad&Mayfield, 1999) Die regionale Fluggesellschaft MV Charter fliegt mit kleinen Flugzeugen nahegelegene Ziele an. Sie benötigt eine Anwendung zur Planung der Linienflüge und der entsprechenden Reservierungen. Zweck des Systems: Flüge beschreiben Flüge planen Reservierungen vornehmen

37 37 Vorgehensweise Unterschiedliche Vorgehensweisen möglich: Orientierung an den Informationen (Daten) des Systems, Orientierung an der Funktionalität (Verhalten) des Systems, Synthese der beiden Vorgehensweisen. statische Modellierung (Klassendiagramm): - Klassen identifizieren, diskutieren, selektieren und (informal) beschreiben - Assoziationen identifizieren, diskutieren, selektieren - Methoden identifizieren - Attribute identifizieren, diskutieren, selektieren -...(später) dynamische Modellierung: - Szenarien vorbereiten - Sequenzdiagramme entwickeln - (später) Hinweise Eine Vorgehensweise, angelehnt an Rumbaugh.

38 38 Vorgehensweise Anwendungsfalldiagramme gestatten eine Modellierung der Anforderungen an ein System auf abstrakter Basis. Sie erlauben einen Überblick über involvierte Akteure und die Funktionalität eines Systems. System Planer Kundenbetreuer

39 39 Vorgehensweise Hinweise für mögliche Klassen findet man z.b. beim Durchsuchen der Funktionen nach - Rollen und Rollenspielern -Transaktionen -Orten System -Containern - katalogähnlichen Beschreibungen Planer -... Kundenbetreuer

40 40 Vorgehensweise Erst Klassen, dann Assoziationen und Attribute identifizieren Sequenzdiagramme entwickeln Methoden spezifizieren...

41 41 UML Sprache UML (Unified Modeling Language) Familie von graphischen Notationen, die die Beschreibung und Entwicklung von Software-Systemen unterstützen (speziell von Systemen, die nach einer objektorientierten Herangehensweise entwickelt werden). UML ist relativ offener Standard, der durch die OMG (Object Management Group) entwickelt und betreut wird. UML entstand 1997 aus einer Vereinigung vieler objektorientierter graphischer Modellierungssprachen, die sich in den 80er und frühen 90er Jahren entwickelten. Den Notationen liegt ein gemeinsames Metamodell zugrunde. Aktuelle in Bearbeitung befindliche Version: UML 2.6

42 42 Unified Modeling Language (UML). Diagram Structure Diagram Class Diagram Composite Structure Diagram Object Diagram Component Diagram Deployment Diagram Package Diagram Activity Diagram Use Case Diagram Behavior Diagram State Machine Diagram Sequence Diagram Communication Diagram Interaction Diagram Diagrammtypen ab UML 2.0 Interaction Overview Diagram Timing Diagram

43 43 Unified Modeling Language (UML). Ein Sequenzdiagramm beschreibt die Kooperation zwischen Objekten in einem Szenarium sind nicht gedacht und geeignet zur allgemeinen Verhaltensbeschreibung anorder anorderline aproduct acustomer Rückgabe teilnehmendes Objekt Botschaft an sich selbst Botschaft Aktivierungsbalken

44 44 Unified Modeling Language (UML) Aktivierungsbalken sind optional: zeigen, wann ein Objekt aktiv an der Interaction beteiligt ist Rückgaben weglassen, wenn sie nicht zum Verständnis notwendig sind Stil der Interaktion ist erkennbar (z.b. zentrale vs. verteilte Steuerung) horizontale und vertikale Verfeinerung möglich Notationen für teilnehmende Objekte: O Objekt O O/R:C... O:C Objekt O der Klasse C /R:C O/R Objekt O in Rolle R /R :C unbenanntes Objekt der Klasse C

45 45 Unified Modeling Language (UML) synchroner und asynchroner Nachrichtenaustausch modellierbar Beispiel: John Felix:Student Anne Paul John Felix:Student Anne Paul synchrone Variante asynchrone Variante

46 46 Unified Modeling Language (UML) Was kennen wir bisher? Klassenname Attribute Rolle Methoden (Operationen) bidirektionale Assoziation Multiplizitäten Assoziation

47 47 Unified Modeling Language (UML)

48 48 Unified Modeling Language (UML) Eine Aggregation liegt vor, wenn zwischen den Objekten der beteiligten Klassen eine Rangordnung gilt, die sich durch»ist Teil von«bzw.»besteht aus«beschreiben läßt. Man spricht auch vom Ganzen und seinen Teilen von einer Stücklistenstruktur. Eine sehr starke Aggregation wird als Komposition bezeichnet. Die Teile und das Ganze haben die gleiche Lebensdauer (z.b. bei vielen physischen Objekten) Beispiele: Aggregation Komposition

49 49 Unified Modeling Language (UML) a) b) c)

50 50 Unified Modeling Language (UML) a) public class Spiel{ private String farbe; private Würfel würfel; public Spiel() { farbe = "rot"; public String getfarbe(){ return farbe; public void setfarbe(string f){ farbe = f; public Würfel getwürfel(){ return würfel; public void setwürfel(würfel w){ würfel = w; public class Würfel { private String farbe; public Würfel(){ farbe = "rot"; public String getfarbe(){ return farbe; public void setfarbe(string f){ farbe = f; b) public void setfarbe(string f){ farbe = f; if (würfel!= null) würfel.setfarbe(f);

51 51 Unified Modeling Language (UML) c) public class Spiel{ private String farbe; private Würfel würfel; public Spiel() { farbe = "rot"; würfel = new Würfel(); würfel.setfarbe("rot"); public String getfarbe(){ return farbe; public void setfarbe(string f){ farbe = f; würfel.setfarbe(f); public Würfel getwürfel(){ return würfel; public void setwürfel(würfel w){ if (w!= null) würfel = w; public class Würfel { private String farbe; public Würfel(){ farbe = "rot"; public String getfarbe(){ return farbe; public void setfarbe(string f){ farbe = f;

52 52 Unified Modeling Language (UML) Fast jede Klasse benötigt Standardoperationen, die in vielen Klassendiagrammen aus Übersichtlichkeitsgünden weggelassen werden. Create: Erzeugung eines neuen Objektes, ggf. mit Initialisierung. Delete: Löschen eines Objektes. SetAttribute: Erfassen oder Ändern eines Attributwertes. GetAttribute: Lesen eines Attributwertes. von der Analyse Beispiel: zum Design...

53 53 Unified Modeling Language (UML) UML wird in vielen Aktivitäten bei der SW-Entwicklung genutzt, z.b. bei der Analyse, Design, Implementation, beim Forward- und Reverse-Engineering. Die durchgängige Nutzung der Modellierungsmittel hat Vor- und Nachteile. Welche? M. Fowler: three modes in which people use UML: sketch, blueprint, and programming language. - UML as sketch: developers use the UML to help to communicate some aspects of a system...the essence of sketching is selectivity. - UML as blueprint is about completeness (e.g. a detailed design for a programmer to code up) - UML as programming language: UML diagrams are compiled directly to executable code

54 54 Unified Modeling Language (UML) aus einem gezeigten Beispiel zur Analyse:... Umsetzung von Attributen als private Attribute in Java mit entsprechenden Zugriffsmethoden (information hiding), z.b.: public class Linienflug { private Calendar date; public void setdate (Calendar cal) { date = cal; public Calendar getdate() { return(date);......

55 55 Umsetzung von Assoziationen am Beispiel einer 1:* -Assoziation public class Linienflug { private Vector<Reservierung> reservierungen = new Vector<Reservierung>(); public void hinzufügenreservierung (Reservierung r) { reservierungen.add(r); public void entfernenreservierung (Reservierung r) { reservierungen.remove(r); public class Reservierung { private Linienflug linienflug; public void setlinienflug (Linienflug l){ linienflug = l; public Linienflug getlinienflug(){ return linienflug;

56 56 Zusammenfassung Objektorientierte Modellierung in UML hat sich als Standard für die Softwarespezifikation entwickelt Objekte der Realität werden als Klassen modelliert Klassen sind in der Lage, Objekte in der virtuellen zu erzeugen Rechnerwelt Die Eigenschaften von Klassen werden durch Attribute mit Datentypen und die Fähigkeiten durch Methoden spezifiziert Objekte einer Klasse haben die gleichen Methoden und die gleichen Attribute wie die Klasse, die Attribute haben allerdings Werte entsprechend des Datentyps der Klasse Klassen berücksichtigen des Datenkapselungsprinzip Objekte kommunizieren durch Nachrichtenaustausch, der den Aufruf der entsprechenden Methode zur Folge hat Nachrichten sind mit der Absenderinformation versehen, so dass die Rückgabe von Ergebniswerten möglich ist.

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Java-Programmierung mit NetBeans

Java-Programmierung mit NetBeans Java-Programmierung mit NetBeans Klassen, Objekte, Alternativen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Grundlegende Definitionen - Objekt Ein Objekt ist allgemein ein Gegenstand

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

Vorlesung Programmieren

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

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

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit

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

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

UML -Klassendiagramme

UML -Klassendiagramme UML -Klassendiagramme UML - offline: ArgoUML http://argouml.stage.tigris.org/ UML online: Links genmymodel.com umlet.com/umletino/umletino.html Arten von UML-Diagrammen Diagramm Strukturdiagramm Verhaltensdiagramm

Mehr

10. Programmierungs-Phase: Objektorientierung Software Engineering

10. Programmierungs-Phase: Objektorientierung Software Engineering 10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext

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

Einführung in die objektorientierte Programmierung

Einführung in die objektorientierte Programmierung Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.

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

INSPIRE - Modellierung

INSPIRE - Modellierung INSPIRE - Modellierung Inhalt Motivation Modellierung UML Diagramme INSPIRE-Schulung LKROS 2 Motivation Was ist ein Modell, und warum wollen wir modellieren? Warum brauchen wir eine Modellierungssprache

Mehr

Objektorientierte Programmierung III

Objektorientierte Programmierung III Objektorientierte Programmierung III OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen

Mehr

Objektorientierte Programmierung (OOP)

Objektorientierte Programmierung (OOP) orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

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

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

Mehr

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:

Mehr

Unified Modelling Language

Unified Modelling Language Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

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

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

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

Techniken der Projektentwicklungen

Techniken der Projektentwicklungen Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische

Mehr

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595 Überblick 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 und Java 15.8 Zusammenfassung 15 Unified

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

Algorithmen und Datenstrukturen 06

Algorithmen und Datenstrukturen 06 31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung

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

Teil II: OOP und JAVA (Vorlesung 9)

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

Mehr

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen

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 Programmiersprache Java II

Einführung in die Programmiersprache Java II Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches

Mehr

Programmiertechnik Objektorientierung

Programmiertechnik Objektorientierung Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was ist Objekt-Orientierung? Objekt-Orientierung (OO) ist nicht völlig scharf definiert, d.h. es gibt unterschiedliche

Mehr

2. Vererbung und Kapselung

2. Vererbung und Kapselung 2. Vererbung und Kapselung Die Objekte der Klasse BALL werden im Gegensatz zu den Objekten von KREIS noch nicht graphisch dargestellt. Um die BALL-Objekte auch graphisch darzustellen zu können, muss BALL

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

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Objektorientierung Was ist Objektorientierung Es einige Grundprinzipien, die (fast) allen Definitionen des Begriffs Objektorientierung

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel Alina Stürck WS2016/17 11. Oktober 2016 Objektorientierte Programmierung OOP 1 Was ist das? 2 Wie geht das? 3 Warum

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

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,

Mehr

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim Matthias Niete niete@oio.de Dirk M. Sohn sohn@oio.de Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim 1 Allgemeine Notationselemente Paketnamen {Eigenschaftswerte} Notiz Paketnamen

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

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

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

Geoinformation I Datenmodellierung

Geoinformation I Datenmodellierung Seite 1 von 61 Geoinformation I Datenmodellierung Seite 2 von 61 Datenmodellierung Übersicht Datenverwaltung und Datenbanken objektorientierte Abbildung der Realität Grundlagen der Objektorientierung Darstellung

Mehr

1.1 Einführung 11. Grundbegriffe der objektorientierten Softwareentwicklung

1.1 Einführung 11. Grundbegriffe der objektorientierten Softwareentwicklung 1.1 Einführung 11 1 Grundbegriffe der objektorientierten Softwareentwicklung 12 1 Grundbegriffe der objektorientierten Softwareentwicklung 1 Grundbegriffe der objektorientierten Softwareentwicklung 1.1

Mehr

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

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

Mehr

Objektorientiertes Programmieren

Objektorientiertes Programmieren JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist

Mehr

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,

Mehr

Begriffe 1 (Wiederholung)

Begriffe 1 (Wiederholung) Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.

Mehr

Programmieren 2 C++ Überblick

Programmieren 2 C++ Überblick Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 5. Behälter und Iteratoren 6. Templates

Mehr

Objektorientierte Softwareentwicklung mit UML

Objektorientierte Softwareentwicklung mit UML Objektorientierte Softwareentwicklung mit UML Peter Forbrig ISBN 3-446-40572-0 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40572-0 sowie im Buchhandel 12 1 Grundbegriffe

Mehr

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

Einführung in die OOP mit Java

Einführung in die OOP mit Java Einführung in die OOP mit Java Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/HTI 2011 by MOU2/TI Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Beziehungen zwischen Klassen, Packages, UML Einführung

Mehr

Objektorientes Design & Programm

Objektorientes Design & Programm Objektorientes Design & Programm Ziele Motivation für OO-Design Softwarekomponenten mit Objektbeschreibungen Klassen und Objekte Konstruktoren zum Erzeugen von Objekten Motivation Vermischung von Variablendeklarationen

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Grundkonzepte der UML Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung

Mehr

Objektorientiertes Software-Engineering

Objektorientiertes Software-Engineering Objektorientiertes Software-Engineering TIT99BPE/TIT99CPE BA Mannheim WS 2001/2 F. Schönleber Organisatorisches Kurs 1: TIT99BPE 6.Studienhalbjahr Termin Mo. 13.00 14.30 Raum: 037B Kurs 1: TIT99CPE 6.Studienhalbjahr

Mehr

Einführung. Einführung

Einführung. Einführung Einführung Einführung Im Oktober 1994 haben sich Grady Booch und Jim Rumbaugh bei der Rational Software Corporation zusammengeschlossen, um ihre erfolgreichen Methoden zu einem einheitlichen Industriestandard

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

Vererbung, Polymorphismus

Vererbung, Polymorphismus Vererbung, Polymorphismus INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Automobilbau Firma produziert Limousine Kunde möchte Kombi Wielösen? Möglichkeiten Neudesign

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Bernhard Lahres, Gregor Rayman Objektorientierte Programmierung Das umfassende Handbuch Galileo Press 1.1 Was ist Objektorientierung? 13 1.2 Hallo liebe Zielgruppe 14 1.3 Was bietet dieses Buch (und was

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

4. Mentorium. UML-Modellierung (Lösungshinweise)

4. Mentorium. UML-Modellierung (Lösungshinweise) Wirtschaftsinformatik (PWIN) 4. Mentorium Objektorientierung & UML-Modellierung (Lösungshinweise) Wirtschaftsinformatik 2 (PWIN), SS 2009, Professur für Mobile Business & Multilateral Security 1 Objektorientierung

Mehr

Überblick. Überblick zum weiteren Inhalt

Überblick. Überblick zum weiteren Inhalt Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen

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

Praxisbuch Objektorientierung

Praxisbuch Objektorientierung Bernhard Lahres, Gregor Rayman Praxisbuch Objektorientierung Von den Grundlagen zur Umsetzung Galileo Press 1.1 Was ist Objektorientierung? 11 1.2 Hallo liebe Zielgruppe 12 1.3 Was bietet dieses Buch (und

Mehr

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte

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

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen

Mehr

Modellierungstipps für die Anwendungsfallmodellierung

Modellierungstipps für die Anwendungsfallmodellierung Modellierungstipps für die Anwendungsfallmodellierung Identifiziere nur relativ grobe Abläufe als Anwendungsfälle! Anwendungsfälle werden nicht in weitere Anwendungsfälle zerlegt, höchstens unter Verwendung

Mehr

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl 26.07.21 Themenübersicht Objektorientierte Software-Entwicklung Objektorientierte Analyse und Design OOA OOD Objektorientierte

Mehr

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren Einführung in die Informationsverarbeitung Teil Thaller Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 18. Dezember 2014 Rekapitulation Der Gang der Argumentation 1. Der Rohstoff:

Mehr

Java für Bauingenieure

Java für Bauingenieure 1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

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

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch

Mehr

Muster in der Software Technik. Grundlegende Konzepte der Software Entwicklung und Objekt Orientierung

Muster in der Software Technik. Grundlegende Konzepte der Software Entwicklung und Objekt Orientierung Muster in der Software Technik Grundlegende Konzepte der Software Entwicklung und Objekt Orientierung Grundlagen für die weitere Vorlesung: Aktivitäten und Prozesse der Software Entwicklung Objektorientierte

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

Realität zu modellieren eine

Realität zu modellieren eine Objektorientierung Objektorientierung ist zunächst einmal eine Möglichkeit, Realität zu modellieren dem menschlichen Denken ähnliche Art, an Probleme heran zu gehen Objektorientierung ist eine Vorgehensweise

Mehr

Programmierparadigmen

Programmierparadigmen Programmierparadigmen DEKLARATIV Funktional Logisch IMPERATIV Prozedural Objektorientiert Einsatz der Programmierparadigmen Systemkomplexität von der Komplexität der Algorithmen dominiert deklarativ oder

Mehr

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017 So#waretechnologie für Fortgeschri4ene Teil Eide Stunde IV: UML Köln 26. Januar 2017 Model of vs. model for TheoreKcal model model for comparison calibra9on verifica9on Empirical model model of deduc9on

Mehr

Sommersemester Implementierung I: Struktur

Sommersemester Implementierung I: Struktur Sommersemester 2003 Implementierung I: Struktur 2 Aufgabe 3 Implementierung I: Struktur Umfang: 1 Woche Punkte: 50 P. In den ersten beiden Aufgaben wurden die Struktur und das Verhalten des Systems modelliert.

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

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

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

Mehr

Rückblick: Entity-Relationship-Modell

Rückblick: Entity-Relationship-Modell Rückblick: Entity-Relationship-Modell Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Einführung in die objektorientierte Programmierung Teil 2 2 Übersicht der heutigen Inhalte Vererbung Abstrakte Klassen Erweitern von Klassen Überladen von Methoden Überschreiben von

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

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

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

Die Unified Modeling Language UML

Die Unified Modeling Language UML Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 4 Die Unified Modeling Language UML Universität Zürich Institut für Informatik Inhalt 4.1 Hintergrund 4.2 Grundkonzepte der UML 4.3 Die Rolle

Mehr

Einführung in die Objektorientierung

Einführung in die Objektorientierung Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Objektorientiert daisy : Kunde 2. angebot Nein Prozedural Schleife über alle Projekte Noch was zu tun? Manager informieren... Ja Daten

Mehr

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 9 UML Unified Modeling Language Universität Zürich Institut für Informatik 2006, 2008 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind

Mehr

Beziehungen zwischen Objekten

Beziehungen zwischen Objekten 1/19 Beziehungen zwischen Objekten Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/19 Outline 1 Vererbung (Wiederholung)

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2 iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...

Mehr