Transformation von nicht linear rekursiven Funktionen in iterative Funktionen

Größe: px
Ab Seite anzeigen:

Download "Transformation von nicht linear rekursiven Funktionen in iterative Funktionen"

Transkript

1 Transformation von nicht linear rekursiven Funktionen in iterative Funktionen Beispielhaft an fibo (über schlicht nach iterativ): Trick: akkumulierende Parameter Idee: es wird ja immer wieder dasselbe berechnet, deshalb werden Berechnungsergebnisse gespeichert. fiboaux erhält 3 Parameter, k und zwei Akkumulatoren, in denen fibo(k-2) und fibo(k-1) gespeichert werden. 2.8) Methoden / Rekursion 1 Transformation von nicht linear rekursiven Funktionen in iterative Funktionen FUNCTION fiboaux (N, Acc1,Acc2: Integer): Integer; BEGIN END ; IF N=0 THEN fiboaux := Acc1 ELSE fiboaux := fiboaux (N-1, Acc2, Acc1+Acc2) fiboaux ist schlicht rekursiv und berechnet fibo, wenn wir sie mit Acc1=Acc2=1 aufrufen. FUNCTION fibo (N : Integer): Integer; BEGIN fibo := fiboaux (N,1,1) END ; 2.8) Methoden / Rekursion 2 1

2 Transformation von nicht linear rekursiven Funktionen in iterative Funktionen fibo(5) = fiboaux(5,1,1) = fiboaux(4,1,2) = fiboaux(3,2,3) = fiboaux(2,3,5) = fiboaux(1,5,8) = fiboaux(0,8,13) = 8 Vergleich der folgenden Definitionen: Behauptung: fibo(n) = fiboaux(n,1,1) Beweis: 2.8) Methoden / Rekursion 3 Klassifikation rekursiver Methoden Definition: Zwei Funktionen heißen wechselseitig rekursiv, wenn sie sich gegenseitig aufrufen. Beispiel: Die Methode Even/Odd sind wechselseitig rekursiv. 2.8) Methoden / Rekursion 4 2

3 Grundlagen der Objektorientierung Grundlagen und Begriffe Begriffe Analyse versus Entwurf Objektorientierung versus prozedurale Entwicklung Was ist die Unified Modelling Language (UML) Diagrammtypen Welche Diagrammtypen gibt es? Wie werden sie typischerweise verwendet? Eigenschaften objektorientierter Prozesse 5 Objektorientierte Modellierung Zentrales Konzept...der UML ist die objektorientierte Modellierung. Doch was ist eigentlich ein Objekt? Beispiel: Kaffeemühle 6 3

4 Kaffeemühle: Funktionen kurbeln = Bohnen zu Pulver mahlen Kaffeebohnen einfüllen Kaffeepulver entnehmen 7 Kaffeemühle: Zustandswerte Bohnenvorrat Pulvervorrat 8 4

5 Kaffeemühle: Charakterisierung unterstützte Funktionen füllen (mit Kaffeebohnen) mahlen (manipuliert den Inhalt) entnehmen (von Kaffeepulver) Inspektion des Bohnenvorrats Inspektion des Pulvervorrats zustandsbestimmende, interne Werte Bohnenvorrat Pulvervorrat Zusammenhänge zwischen Funktionen und Zustand Füllen nur möglich, wenn Bohnenvorrat noch nicht voll ist Mahlen nur möglich, wenn Bohnenvorrat noch nicht erschöpft ist Entnehmen nur möglich, wenn Pulvervorrat noch nicht erschöpft ist 9 Kaffeemühle: Technische Interna Wie funktioniert das Mahlen? Technische Realisierung der internen Abläufe bleibt unbekannt Wissen um technische Realisierung ist zur Benutzung der Kaffeemühle unerheblich!? Gerade das Nicht-Wissen um die Realisierung von Funktionen und die interne Zustände ermöglicht die einfache Nutzung vieler Gegenstände/Konzepte. 10 5

6 Modelle für komplexe Systeme Wozu braucht man Modelle in der Softwareentwicklung? Die Entwicklung komplexer Systeme erfordert die Bildung von Modellen, damit Menschen die Struktur und die Abläufe darin planen und realisieren können. Warum braucht man verschiedene Modelle für ein System? Es werden häufig unterschiedliche Modelle verwendet, um jeweils einen bestimmten Aspekt des Systems zu fokussieren. Je nach Aspekt werden häufig unterschiedliche Modellierungssprachen verwendet. Welche Probleme ergeben sich daraus? Für die Konstruktion des Gesamtsystems muss jedoch sichergestellt werden, dass die Einzelmodelle auch wirklich zueinander passen. Modelle unterschiedlicher Sprachen müssen zusammengeführt werden. 11 Phasen der Softwareentwicklung Anforderungsanalyse Was will der Anwender? Spezifikation, Analyse Unter der Spezifikation (auch Verhaltensspezifikation) verstehen wir eine Beschreibung des Verhaltens des Software-Systems. Die Spezifikation enthält keine Angaben darüber, wie dieses Verhalten realisiert werden soll, sondern nur darüber was das Verhalten sein soll. (WAS statt WIE) 2.8) Methoden / Rekursion 12 6

7 Phasen der Softwareentwicklung Spezifikation der Software-Steuerung für einen Telefondienst im Hotel Spezifikation / Was: Um ein Ferngespräch zu führen, muß der Anwender den Hörer abnehmen. Nach maximal 3 Sekunden ertönt ein Ton. Der Anwender wählt eine 9. Nach maximal drei weiteren Sekunden ertönt ein Freizeichen und der Anwender kann eine Telefonnummer wählen. Vorwegnahme von Entwurfsentscheidung / Wie: Das System umfaßt vier Zustände: wartend, Ton, Freizeichen, Verbunden. Um vom Zustand wartend in den Zustand Ton zu kommen, muß der Anwender den Hörer heben. Um vom Zustand Ton in den Zustand Freizeichen zu kommen muß der Anwender eine 9 wählen. 13 Phasen der Softwareentwicklung Entwurf konzeptioneller Entwurf implementierungsunabhängige Verfeinerung des Ergebnisses der Analyse im Hinblick auf technische Eigenschaften pragmatischer Entwurf implementierungsabhängige Anpassung der Architektur an die Zielsprache. Algorithmenentwurf Festlegung von klasseninternen Algorithmen und Datenstrukturen. 14 7

8 Phasen der Softwareentwicklung Entwurf Der Software-Entwurf wird oft auch als die Software-Architektur bezeichnet. In der Praxis werden oft fachliche Architektur, software-technische Architektur und systemtechnische Architektur unterschieden. Fachliche Architektur: Software-Systeme und ihre wesentlichen Schnittstellen (aus Anwendersicht) Software-technische Architektur: Komponenten, Module und ihre Aufrufbeziehungen, die wesentlichen Algorithmen Systemtechnische Architektur: Rechner, DBMS, Betriebssysteme, Middleware, Kommunikationsprotokolle, Telekommunikationsinfrastruktur Realisierung / Programmierung. 2.8) Methoden / Rekursion 15 Phasen der Softwareentwicklung Traditionelle Probleme prozeduraler Vorgehensweisen: Für Anforderungsanalyse, Analyse, Entwurf werden Spezialsprachen und Modelle verwendet, die ineinander übersetzt werden müssen. Deshalb: neue Experten, neue Fehler, Anwendungswissen tritt in den Hintergrund 16 8

9 Oo Entwicklungsabschnitte Anforderungsanalyse: Wie bisher, Überlappung mit OOA OO-Analyse: Bestimmen von Objekten und Klassen aus der Realität des Anwendungsbereichs OO-Entwurf: Ergänzen der Strukturen aufgrund technischer Erfordernisse OO-Programmierung: Umsetzen in Programmiersprache und Anpassen an Sprachspezifika 17 OO Analyse Erforschung des Anwendungsbereichs, d.h. Objekte entdecken Klassen ableiten Klassen strukturieren Aufgaben zuordnen Zusammenarbeit festlegen 18 9

10 OO Analyse Entdecken von Objekten des Anwendungsbereichs: Ableiten aus textueller Beschreibung (Hauptwörter selektieren und normieren) Ableiten aus eigenem Wissen Ableiten aus Expertenbefragung Ableiten aus Use Case Model (Analyse der anwendungstypischen Handlungsabläufe) Kandidaten für Objekte sind greifbare Dinge Konzepte Ereignisse 19 OO Analyse Ableiten von Klassen aus Objekten = natürliche Gemeinsamkeiten von Objekten erkennen und diese in Klassen zusammenfassen Strukturieren der Klassen existierende Vererbungsstrukturen bestimmen (mögliche Subklassen suchen) (mögliche Superklassen suchen) Superklassen ergänzen (Gemeinsamkeiten in Superklassen extrahieren) Abhängigkeiten bestimmen (Aggregationen und Assoziationen charakterisieren) 20 10

11 OO Analyse - Statik und Dynamik OOA erfasst statische und dynamische Aspekte statische Aspekte: alles um die Struktur von Klassen Klassen Attribute, Operationen Subsysteme dynamische Aspekte: alles rund um Objekte und ihre Werte Objekte Ereignisse Prozesse (verstanden als die Ausführung von Operationen) 21 Objektorientierter Entwurf Ziel der Analyse ist ausschließlich: Verstehen und Beschreiben der Realität des Problembereichs. Ziele des Entwurfs sind: Ergänzung bisher fehlender technischer Aspekte, technische Umsetzbarkeit der Analyseergebnisse vorbereiten, organisatorische Umsetzbarkeit sicherstellen, Schnittstellen zu bereits vorhandener Software beachten, Möglichkeiten von Programmiersprachen einarbeiten, Implementierung vorbereiten

12 Objektorientierter Entwurf Bestandteile des Entwurfs: Überarbeiten von Klassen und Klassenstrukturen zur technischen Präzisierung der Analyseergebnisse. Überarbeitung von Klassen und Klassenstrukturen aufgrund von technischen Qualitätsanforderungen. Ergänzen der Klassenstruktur zur Konzeption einer Systemarchitektur. Überarbeiten der Klassenstruktur zur Realisierung einzelner Klassen. Überarbeitung der Klassenstruktur zur Realisierung von Verknüpfungen zwischen Objekten. 23 Konzeption einer Systemarchitektur Zielsetzung: Ergänzen von Strukturen für Benutzungsschnittstelle, Prozesssteuerung und Datenhaltung. Anbinden dieser Strukturen an das problemspezifische Ergebnis der Analyse. Im Folgenden am Beispiel der Datenhaltung erörtert

13 Konzeption einer Systemarchitektur Konzeption der Datenhaltung: Jedes Objekt muss selbst für Ablage persistenter Daten sorgen. Datenhaltung wird lokal unterstützt: Jedes Objekt wird individuell gesichert. Datenhaltung ist verteilt mit vielen Einzellösungen. Datenhaltung erfolgt durch Objektmanagementsystem: Objektmanagementsysteme standardisieren die lokale Datenhaltung. Datenhaltung erfolgt durch zentrale (relationale) Datenbank: Klasse(n) verkapseln Datenbank gegenüber objektorientiertem System. Jedes Objekt sendet seine Daten an Datenbankobjekt

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++ Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen

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

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen

Mehr

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

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

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen

Mehr

Einführung in die Objektorientierung (OO)

Einführung in die Objektorientierung (OO) Einführung in die Objektorientierung (OO) I) Warum OO? II) Grundbegriffe der OO III) IV) Darstellung von Klassen und Objekten Kapselung I) Warum OO? 1) Früher: Prozedurale / strukturierte Programmierung

Mehr

Softwaretechnik 2015/2016

Softwaretechnik 2015/2016 Softwaretechnik 2015/2016 PST Lehrstuhl Prof. Dr. Matthias Hölzl HAUPT-/ BACHELOR- SEMINAR ADAPTIVE SYSTEME PST Joschka PROF. DR. Rinke WIRSING 14. JUNI 2009 VORNAME NAME AGENDA Übung 11: 14.01.2016 Schon

Mehr

Objektorientierte Systementwicklung

Objektorientierte Systementwicklung Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick

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

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML The role of UML Theoretical model model for comparison calibration verification Empirical model model of deduction induction Generating

Mehr

Grundkurs C++ Objektmodellierung

Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung Martin Knopp, Martin Gottwald, Stefan Röhrl 09.05.2018 Folie 1/25 GK C++: Objektmodellierung Martin Knopp, Martin Gottwald, Stefan Röhrl 09.05.2018 Objektmodellierung Welche

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

2. Der Software-Entwicklungszyklus

2. Der Software-Entwicklungszyklus 2. Der Software-Entwicklungszyklus 2.1 Klassische Phasenmodelle 2.1.1 Wasserfallmodell 2.1.2 Rapid Prototyping 2.2 Objektorientierte Phasenmodelle 2.2.1 OOA / OOD / OOP 2.2.2 Iteratives Phasenmodell 2.2.3

Mehr

Kapitel 5: Das Design

Kapitel 5: Das Design Nach der Analyse kommt... Kapitel 5: Das Design SoPra 2008 Kap. 5: Das Design (1/20) Kapitel 5.1: Überblick Was ist Design? Ergebnis der Analyse: abstrakte Definitionen Objektmodell: Klassen, Assoziationen,

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

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1 Fundamentals of Software Engineering 1 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung - Klassische Konzepte des Software Engineering- 2.1 Das Kontextmodell 2.2 Entscheidungstabellen 2.3 Zustandsmodelle

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

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

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

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

Objektorientierter Entwurf. Grundlagen des Software Engineerings

Objektorientierter Entwurf. Grundlagen des Software Engineerings Objektorientierter Entwurf Grundlagen des Software Engineerings Lernziele } Verstehen, wie der Softwareentwurf als Menge von interagierenden Objekten dargestellt werden kann, die ihren eigenen Zustand

Mehr

Software Engineering. 5. Architektur

Software Engineering. 5. Architektur Software Engineering 5. Architektur Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung Konfigurationsmanagement

Mehr

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs... Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung

Mehr

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1 Vorlesung 3 Fundamentals of Software Engineering 1 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung - Klassische Konzepte des Software Engineering- 2.1 Das Kontextmodell 2.2 Entscheidungstabellen

Mehr

4.Grundsätzliche Programmentwicklungsmethoden

4.Grundsätzliche Programmentwicklungsmethoden 4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden

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

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Technische Universität München Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften

Mehr

22. Januar Gruppe 2: TOPCASED

22. Januar Gruppe 2: TOPCASED 22. Januar 2008 Aufgabenstellung Modellgetriebene Softwareentwicklung auf Basis von am Beispiel eines Seminarverwaltungssystems Ziel Entwicklungsprozess Anforderungen & Codegenerierung Modellierung & Templates

Mehr

UML - Unified Modeling Language

UML - Unified Modeling Language Rainer Burkhardt UML - Unified Modeling Language Objektorientierte Modellierung für die Praxis ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Bonn Reading, Massachusetts Menlo Park, California

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

Analyse und Entwurf von Softwaresystemen mit der UML

Analyse und Entwurf von Softwaresystemen mit der UML Analyse und Entwurf von Softwaresystemen mit der UML Bearbeitet von Horst A. Neumann 2. Auflage 2002. Buch. XVI, 480 S. Hardcover ISBN 978 3 446 22038 6 Format (B x L): 17,7 x 24,5 cm Gewicht: 1049 g Zu

Mehr

Abschnitt 10: Datenstrukturen

Abschnitt 10: Datenstrukturen Abschnitt 10: Datenstrukturen 10. Datenstrukturen 10.1Einleitung 10.2 Peer Kröger (LMU München) Einführung in die Programmierung WS 16/17 829 / 867 Einleitung Überblick 10. Datenstrukturen 10.1Einleitung

Mehr

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften Ziel: Methoden kennen

Mehr

Datenbankentwurf. Kapitel 3. Datenbankentwurf 76 / 508

Datenbankentwurf. Kapitel 3. Datenbankentwurf 76 / 508 Kapitel 3 Datenbankentwurf 76 / 508 Phasen des Datenbankentwurfs Phasen des Datenbankentwurfs Anforderungsanalyse Spezifikation Konzeptueller Entwurf Konzeptuelles Schema Logischer Entwurf Logisches Schema

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

Konzeptueller Entwurf

Konzeptueller Entwurf Konzeptueller Entwurf UML Klassendiagrame UML Assoziationen Entspricht Beziehungen Optional: Assoziationsnamen Leserichtung ( oder ), sonst bidirektional Rollennamen Kardinalitätsrestriktionen UML Kardinalitätsrestriktionen

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

3. Objektorientierte Analyse

3. Objektorientierte Analyse 3. Objektorientierte Analyse 3. Systemanalyse Witzfrage (nach Booch 9): Welches ist der älteste Beruf: Arzt, Bauingenieur oder Systemanalytiker? Anforderungsanalyse Analyse Anforderungs- Ermittlung Anforderungs-

Mehr

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg... 1 1.1 Objektorientierung: Konzepte und Stärken...... 1 1.1.1 Gedankliche Konzepte der Objektorientierung....... 2 1.1.2 Objektorientierung als

Mehr

Software- /Systemarchitektur

Software- /Systemarchitektur Software- /Systemarchitektur Agenda: Definition von Softwarearchitektur Voraussetzungen Was bedeutet Objektorientierung? Wie speichert man Daten persistent? Client-Server-Architektur Schichtenarchitektur

Mehr

Für Software werden heute Investitionen getätigt, die mit dem Bau oder Kauf von Maschinen und Immobilien ohne weiteres vergleichbar sind.

Für Software werden heute Investitionen getätigt, die mit dem Bau oder Kauf von Maschinen und Immobilien ohne weiteres vergleichbar sind. Für Software werden heute Investitionen getätigt, die mit dem Bau oder Kauf von Maschinen und Immobilien ohne weiteres vergleichbar sind. Hier bedient man sich der Fachkenntnis von Ingenieuren und Architekten,

Mehr

Evelin Kofler SE aus Fachdidaktik / Dr. Hubwieser / SS 2002 Seite 1

Evelin Kofler SE aus Fachdidaktik / Dr. Hubwieser / SS 2002 Seite 1 Wie schülergerecht ist Objektorientierung wirklich? Evelin Kofler SE aus Fachdidaktik / Dr. Hubwieser / SS 2002 Seite 1 Themenschwerpunkte Entwicklungspsychologie: Formen des Denkens Altersstufen Objektorientiertes

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

Seminar zu Ursachen und Vermeidung von Fehlern in der Software-Entwicklung

Seminar zu Ursachen und Vermeidung von Fehlern in der Software-Entwicklung Seminar zu Ursachen und Vermeidung von Fehlern in der Software-Entwicklung Semantische Validierung der objektorientierten Analyse Berlin, 4. April 2006 Inhalt Einleitung Psychologische und objektorientierte

Mehr

7. Objektorientierung. Informatik II für Verkehrsingenieure

7. Objektorientierung. Informatik II für Verkehrsingenieure 7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete

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

Kapitel 2 - Die Definitionsphase

Kapitel 2 - Die Definitionsphase Kapitel 2 - Die Definitionsphase SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH

Mehr

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski Die Phase Design Design Entwerfen der Benutzeroberfläche, des Bedienablaufs und der Softwarearchitektur Umsetzen des fachlichen Modells auf technische Möglichkeiten; Spezifikation der Systemkomponenten

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte

Mehr

Konzepte der Programmiersprachen

Konzepte der Programmiersprachen Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C

Mehr

Objektorientierter Software-Entwurf Objektorientierte Analyse und Design 6 1

Objektorientierter Software-Entwurf Objektorientierte Analyse und Design 6 1 Objektorientierter Software-Entwurf Objektorientierte Analyse und Design 6 1 Der Entwicklungsprozeß Wie zu Anfang festgestellt, stellt der eigentliche Entwicklungsprozeß das Hauptproblem bei der Verwendung

Mehr

Informatik 2-stündig

Informatik 2-stündig Klasse 11 Einführung in die objektorientierte Modellierung und Programmierung 20 Leitidee 3: Problemlösen und Modellieren kennen ein Konzept der objektorientierten Modellierung; können Beziehungen zwischen

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

Methodische objektorientierte Softwareentwicklung

Methodische objektorientierte Softwareentwicklung Mario Winter Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte dpunkt.verlag I Klassische Aspekte des Software Engineering 1 1 Allgemeine

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM Objektorientierte Programmierung 11. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Die 2. lgruppe von KobrA: : le der : e Folie 1 Zur Erinnerung: 1. lgruppe:

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

Ü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

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt 2. Datenbankentwurf Motivation Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt Fehler sind umso teurer zu beheben, je weiter die Entwicklung bzw. der Einsatz

Mehr

SWE6 Slide 1. Software-Engineering. Vorlesung 6 vom Sebastian Iwanowski FH Wedel

SWE6 Slide 1. Software-Engineering. Vorlesung 6 vom Sebastian Iwanowski FH Wedel SWE6 Slide 1 Software-Engineering Vorlesung 6 vom 22.11.2004 Sebastian Iwanowski FH Wedel SWE6 Slide 2 Software-Engineering Vorlesungsthemen: 1. Überblick über das Thema und die Vorlesung 2. Grundlegende

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

Lehrbuch der Objektmodellierung

Lehrbuch der Objektmodellierung Heide Balzert Lehrbuch der Objektmodellierung Analyse und Entwurf mit CD-ROM Technische Universität Darmstadt FACHBEREICH INFORMATIK BIBLIOTHEK Inventar-Nr.: Sachgebiete: Standort: Tt Spektrum Akademischer

Mehr

IT-Projekt-Management

IT-Projekt-Management IT-Projekt-Management email: av@dr-vuong.de http: www.dr-vuong.de 2005-2015 by, Bielefeld Seite 1 IT-Projekte: Entwicklungsprozesse -1 - Planen Projektsteuerung, Budgetüberwachung (Controlling) Anforderungs-,

Mehr

Das Softwaresystem BASEMENT

Das Softwaresystem BASEMENT Numerische Modellierung von Naturgefahren mit dem Softwaresystem BASEMENT Workshop vom 6. Oktober 2006 an der VAW ETH Zürich Das Softwaresystem BASEMENT David Vetsch Inhalt 1. Motivation und Entstehungsgeschichte

Mehr

Das UML Benutzerhandbuch

Das UML Benutzerhandbuch Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 Inhalt Vorwort 15 Ziele 15 Publikum 16 Wie Sie dieses Buch verwenden sollten 16 Aufbau und besondere Merkmale 17

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

Teil II Objektorientierte Programmierung (OOP) 20. Objektnetze

Teil II Objektorientierte Programmierung (OOP) 20. Objektnetze Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Teil II Objektorientierte Programmierung (OOP) 20. Objektnetze Prof. Dr. rer. nat. Uwe Aßmann Institut für Software-

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 2 Die Definitionsphase Prof. Walter F. Tichy Wo sind wir gerade? Planung Lastenheft (funktionales Modell) Definition (Analyse) Pflichtenheft

Mehr

Exkurs 1: Hintergrund zu Java und UML

Exkurs 1: Hintergrund zu Java und UML Exkurs 1: Hintergrund zu Java und UML Warum gerade Java? Entwicklung Eigenschaften, speziell Portabilität Warum UML? Entwicklung Diagrammarten und CRC-Karten Lothar Schmitz UniBwM (teils nach Prof. Hußmann

Mehr

Software Engineering

Software Engineering Software Engineering Gustav Pomberger, Wolfgang Pree Architektur-Design und Prozessorientierung ISBN 3-446-22429-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22429-7 sowie

Mehr

2 Softwarearchitektur in der Organisationsstruktur 25

2 Softwarearchitektur in der Organisationsstruktur 25 xiii Teil I Grundlagen und Organisation 1 1 Grundlagen 3 1.1 Warum Softwarearchitektur?.............................. 4 1.2 Was ist Softwarearchitektur?.............................. 6 1.2.1 Definition

Mehr

Die Unified Modeling Language (UML)

Die Unified Modeling Language (UML) Die Unified Modeling Language (UML) Entwickelt seit Mitte der 1990er Vereinigt zahlreiche Ansätze der objektorientierten Modellierung Umfaßt verschiedene Spracheinheiten/Diagrammtypen Struktur Klassiagramme

Mehr

Einführung: Verteilte Systeme - Remote Method Invocation -

Einführung: Verteilte Systeme - Remote Method Invocation - Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation

Mehr

Schulinterner Lehrplan zum Kernlehrplan für die gymnasiale Oberstufe. Informatik Q2. Stand: 02/2016 Status: Gültig

Schulinterner Lehrplan zum Kernlehrplan für die gymnasiale Oberstufe. Informatik Q2. Stand: 02/2016 Status: Gültig Schulinterner Lehrplan zum Kernlehrplan für die gymnasiale Oberstufe Informatik Q2 Stand: 02/2016 Status: Gültig Unterrichtsvorhaben: Modellierung und Implementierung von Anwendungen mit dynamischen, nichtlinearen

Mehr

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008 Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008 27. Februar 2008 Institut für Softwaresysteme, TUHH Regeln: 1. Zu dieser Klausur sind keinerlei Hilfsmittel zugelassen.

Mehr

Interaktionsdiagramme in UML

Interaktionsdiagramme in UML Interaktionsdiagramme in UML Interaktionsdiagramm ist ein Oberbegriff für eine Reihe von Diagrammen, die das Verhalten eines objektorientierten Systems durch Objektinteraktionen beschreiben Ein Sequenzdiagramm

Mehr

Objektorientierung und UML im Anfangsunterricht

Objektorientierung und UML im Anfangsunterricht Objektorientierung und UML im Anfangsunterricht Ira Diethelm Gaußschule, Braunschweig und Software Engineering Research Group, Universität Kassel 03.04.2006 Ausgangssituation: Informatikunterricht soll:

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

11/2009 Bernhard Gangl. Steuerungen mit OOP entwickeln 11 / 2009 1. Themenübersicht. Übersicht und Begriffsklärung: Objektorientierte Programmierung

11/2009 Bernhard Gangl. Steuerungen mit OOP entwickeln 11 / 2009 1. Themenübersicht. Übersicht und Begriffsklärung: Objektorientierte Programmierung Reduzierung der Engineeringzeiten und kosten durch objektorientierte Steuerungsprogrammierung 11/2009 Bernhard Gangl www.sigmatek-automation.com Steuerungen mit OOP entwickeln 11 / 2009 1 Themenübersicht

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

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

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

Ansätze zur Erfassung von Faktoren durch Prüfungsaufgaben. (Diskussionen in Dagstuhl sowie mit Prof. Nickolaus, Technikpädagogik, U Stuttgart)

Ansätze zur Erfassung von Faktoren durch Prüfungsaufgaben. (Diskussionen in Dagstuhl sowie mit Prof. Nickolaus, Technikpädagogik, U Stuttgart) Taxonomie + Schwierigkeit Ansätze zur Erfassung von Faktoren durch Prüfungsaufgaben. (Diskussionen in Dagstuhl sowie mit Prof. Nickolaus, Technikpädagogik, U Stuttgart) Beurteilen Synthese Konstruktion

Mehr

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog 10.Klasse: Themenschwerpunkt I: Datenbanken Datenbanken o Einsatzbereiche von Datenbanken o Verwaltung von großen Datenmengen o Probleme aus dem Alltag in Datenbanken abbilden o Relationale Datenbanksysteme

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

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

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

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

Modulhandbuch für das Weiterbildungsangebot Softwareentwicklung (WZ-SWE)

Modulhandbuch für das Weiterbildungsangebot Softwareentwicklung (WZ-SWE) Modulhandbuch für das Weiterbildungsangebot Softwareentwicklung (WZ-SWE) Ausgabe A vom 27.06.2012 Modulhandbuch Weiterbildungsangebot WZ-SWE Seite 1 von 9 Ausgabe A Übersicht Weiterbildungsangebot Softwareentwicklung

Mehr

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11 vii 1 Einführung 1 1.1 Motivation.................................... 1 1.2 Vorteile der neuen Techniken...................... 3 1.3 Aufbau des

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 05 Unified Modeling Language, Codierregeln Clemens Lang T2/T4 25. Mai 2010 (bergfrei) 27. Mai 2010 (Vertretung) Tafelübung zu AuD 1/18 Was ist UML? Was ist UML?

Mehr

Systemmodelle. Grundlagen des Software Engineerings

Systemmodelle. Grundlagen des Software Engineerings Systemmodelle Grundlagen des Software Engineerings Lernziele } Verstehen, warum es wichtig ist, die Grenzen eines Systems festzusetzen und seinen Kontext zu modellieren } Die Konzepte der Verhaltens-,

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Parameterübergabemechanismen für den Methodenaufruf

Parameterübergabemechanismen für den Methodenaufruf Methode, griech. der Weg zu etwas, planmäßiges Verfahren -Brockhaus Parameterübergabemechanismen für den Methodenaufruf Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw

Mehr

Konzept und Umsetzung

Konzept und Umsetzung Konzept und Umsetzung oo-design- Sprache Konzepte Instanz UML eine Umsetzung der Konzepte oo-programmier- Sprache Konzepte Instanz Java eine Umsetzung der Konzepte FH AACHEN UNIVERSITY OF APPLIED SCIENCES

Mehr