Kapitel 7 Software-Entwicklungssysteme



Ähnliche Dokumente
1. Einführung. Grundbegriffe: Programm vs. Software. 1.1 Programmierung & Software 1.2 Programmiersprachen

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Programmiersprachen und Programmierkonzepte

VBA-Programmierung: Zusammenfassung

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

Modellierung und Programmierung 1

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Informatik 12 Datenbanken SQL-Einführung

VBA-Programmierung WS 2008/09

Programmierung: Ein erster Überblick

Wirtschaftsingenieurwesen (Informationstechnik) Modulname. Programmierung II / Software Engineering II Modulnummer

Kapitel 10: Datenbankzugriff & Pufferung 2

Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise?

Programmieren was ist das genau?

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1

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

Spezialisierung Business Intelligence

Einführung in PHP. (mit Aufgaben)

Visual Basic Express Debugging

Einführung zum Arbeiten mit Microsoft Visual C Express Edition

2 Grundlagen der Programmierung

Objektorientiertes Programmieren mit Suse Linux

Die Softwareentwicklungsphasen!

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Wofür braucht man eine Tabellenkalkulation? Das Programm Microsoft Excel gehört in Softwarekategorie der Tabellenkalkulationen.

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) stoyan@informatik.uni-erlangen.

Informatik (G8) Sek I - Differenzierung 8/9

4D Server v12 64-bit Version BETA VERSION

Java. Warum Programmierung? Programmierung Beispiel Taschenrechner

Allgemeines zu Datenbanken

Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn Inhaltsverzeichnis.

Werkstudent Qualitätssicherung (m/w) (627468)

Kontrollstrukturen - Universität Köln

Einführung in Eclipse und Java

Prolog basiert auf Prädikatenlogik

E-PRIME TUTORIUM Die Programmiersprache BASIC

Anleitung Homepage TAfIE

Komponenten- und ereignisorientierte Softwareentwicklung am Beispiel von Borland-Delphi

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

BEISPIELKLAUSUR Softwareentwicklung:

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.

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

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

Abschnitt 16: Objektorientiertes Design

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

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

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Eine Logikschaltung zur Addition zweier Zahlen

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Übersicht. Rechtsschutz von Software und Datenbanken; Lizenzverträge. Rechtsschutz von Software und Datenbanken

Xesar. Die vielfältige Sicherheitslösung

Informationen zur Verwendung von Visual Studio und cmake

Robot Karol für Delphi

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Informatik I Tutorial

Informatik Programmiersprachen eine kurze Übersicht

Thema: - DWF. Das Business Process Management System aus dem Hause PRAXIS AG. Wolfgang Lammel PRAXIS-Consultant

Softwaretechnik. Wesentliche Inhalte der Vorlesung

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Lizenzierung von System Center 2012

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Vergleich: Positionen der Word 2003-Befehle in Word

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Vorlesung vom Einführung in die geschäftsprozessorientierte Unternehmensführung

MetaQuotes Empfehlungen zum Gebrauch von

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Informatik (G9) Sek I - Differenzierung 8/9/10

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Software Engineering

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Die Informatik als junge Wissenschaft

Programmieren I. Überblick. Institut für Angewandte Informatik

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Artenkataster. Hinweise zur Datenbereitstellung. Freie und Hansestadt Hamburg. IT Solutions GmbH. V e r s i o n

Was ist Logische Programmierung?

Informationsverarbeitung im Bauwesen

Liste Programmieren - Java

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

1 Informationelle Systeme begriffliche Abgrenzung

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Internet Explorer Version 6

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Task: Nmap Skripte ausführen

Lizenzierung von Windows Server 2012

Prof. Dr.-Ing. Rainer Schmidt 1

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

Open Source Software. Workshop : Open Source Software 3. Mannheimer Fachtag Medien Referent : Christopher Wieser (

Transkript:

Kapitel 7 Software-Entwicklungssysteme Literatur zu Kapitel 7 HANSEN, HANS ROBERT; NEUMANN, GUSTAF: Wirtschaftsinformatik I: Grundlagen betrieblicher Informationsverarbeitung, 8. Auflage, Stuttgart 2001. GABRIEL, ROLAND et al.: Computergestützte Informations- und Kommunikationssysteme in der Unternehmung, Berlin et al. 2002. BALZERT, HELMUT: Lehrbuch der Software- Technik: Software-Management, Software- Qualitätssicherung, Unternehmensmodellierung, Heidelberg; Berlin 1998. Folie 300

7 Software-Entwicklungssysteme 7.1 Systemarchitekturen 7.2 Programmiersprachen-Konzepte Folie 301 Programmiersprachen Eine zur Lösung einer Aufgabe vollständige Anweisung zusammen mit allen erforderlichen Vereinbarungen heißt PROGRAMM. Ein PROGRAMM setzt sich aus Befehlen zusammen, die von der Zentraleinheit in logischer Reihenfolge abgearbeitet werden. Eine PROGRAMMIERSPRACHE ist eine künstliche Sprache zum Abfassen von Computerprogrammen (DIN 44300). Programmiersprachen sollen es ermöglichen, den Lösungsweg (Algorithmus) für eine spezielle Problemstellung in einer der Maschine verständlichen Sprache zu formulieren. Folie 302

Programmierumgebung Eine PROGRAMMIERUMGEBUNG ist ein Software-system, das eine Sammlung von Werkzeugen, die zur Entwicklung von Software dient, zur Verfügung stellt. Wesentliche Komponenten: TEXTEDITOR: zur Erfassung des Quelltextes ÜBERSETZUNGSPROGRAMME: Programm, das Anweisungen in einer höheren Sprache liest, analysiert und in bedeutungsgleiche Maschinenbefehle umwandelt DEBUGGER: ermöglicht ein schrittweises Abarbeiten des Programms zu Testzwecken HILFESYSTEM: erlaubt die kontextsensitive Abfrage von Informationen zur Programmsyntax u.ä. GUI-BUILDER: Modellierung der Benutzeroberfläche Folie 303 Programmierumgebung Visual Basic Hilfesystem Übersetzungsprg. Debugger Folie 304 Texteditor

CASE-Systeme I CASE Computer Aided Software Engineering CASE befasst sich mit allen computerunterstützten Hilfsmitteln, die dazu beitragen, die Software-Produktivität zu erhöhen die Software-Qualität zu verbessern das Software-Management zu erleichtern CASE-Systeme Ein CASE-System ist eine integrierte SOFTWARE-Entwicklungsumgebung, die den gesamten Softwarelebenszyklus (Problemanalyse, Systemspezifikation, Systementwurf, Implementierung, Systemtest, Wartung und Pflege) unterstützt. Folie 305 CASE-Systeme II Folie 306 CASE-Werkzeuge (CASE tools) Alle Software-Produkte, die zumindest einzelne bei der Erstellung von Software benötigte Funktionen bzw. Dienstleistungen anbieten CASE-Plattform (CASE platforms) / CASE-Rahmen (CASE-framework) integriert einzelne CASE-Werkzeuge stellt Basisdienstleistungen zur Verfügung und entlastet so die einzelnen CASE-Werkzeuge von diesen Dienstleistungen User-interface services Allgemeine Benutzungsschnittstelle Message services Schnittstelle zum Datenaustausch der einzelnen Komponenten Repository services Verwaltung aller Objekte und ihrer gegenseitigen Beziehungen Data-integration services Versions- und Konfigurationsverwaltung Metadatenverwaltung Prozess-management services Aufrufsequenzen einzelner Werkzeuge Rollen und Aufgaben der CASE-Plattform-Benutzer

Referenzmodell für CASE-Umgebung CASE-platform Repository services CASE-tool Data-integration services Horizontal tools Vertical tools Process-management services User-interface services FILE EDIT COMPILE PROGRAM beitrag; USES Wincrt; VAR brutto, netto : Integer; BEGIN WriteLN( Bitte geben Folie 307 Message services CASE-Systeme III Anspruch an CASE-Systeme Unterstützung des gesamten Softwarelebenszyklus (Problemanalyse, Systemspezifikation, Systementwurf, Implementierung, Systemtest, Wartung und Pflege) in einem integriertem System CASE-Umgebung/CASE-environment Eine organisatorische und computerunterstützte Arbeitsumgebung, die möglichst viele Tätigkeiten der Software-Erstellung integriert unterstützt auch Software-Entwicklungsumgebung (SEU) CASE Umgebung = CASE-Plattform + mehrere darin integrierte CASE-Werkzeuge Folie 308

CASE beim Data Base Engineering Betriebliche BetrieblicheProblemstellung Problemstellung (datenorientiertes (datenorientiertesproblem) Problem) Vorgehensmodell Vorgehensmodellbei beider derentwicklung Entwicklungeines einesdbs DBS unter unterberücksichtigung Berücksichtigungder derallgemeinen allgemeinenprinzipien Prinzipien und undmethoden Methodendes dessoftware SoftwareEngineering Engineering Planung des Einsatzes eines DB-Systems Semantisches Datenmodell Logisches / Konzeptionelles Datenmodell Physisches Datenmodell Ziel: Anforderungsanalyse und Erstellung des Anwendungs- bzw. Fachkonzeptes (Informations- und Kommunikationsstrukturmodell) Auswahl eines DB-Systems und seine Beschaffung Erstellung des Systemkonzeptes (Datenmodell) Implementierung, Integration, Freigabe zur Nutzung Einsatz eines DB-Systems zur Problemlösung Wartung und Pflege Folie 309 Beispiel eines CASE-Umgebung beim Data Base Engineering Semantisches Datenmodell Logisches / Konzeptionelles Datenmodell Folie 310 6

Beispielmodell für die Anwendung der CASE-Umgebung ER/Studio Kunden_Nr Nachname KUNDEN Vorname erteilt erteilt 1 N AUFTRAEGE M enthält enthält Auftrag-Nr. Datum Datum Preis Preis Artikel-Nr. N ARTIKEL Bezeichnung Folie 311 7 Software-Entwicklungssysteme 7.1 Systemarchitekturen 7.2 Programmiersprachen-Konzepte Folie 312

Programmiersprachenstammbaum Folie 313 Sprachgenerationen Folie 314 Sprachen der ersten Generation: MASCHINENSPRACHEN Sprachen der zweiten Generation: ASSEMBLERSPRACHEN Sprachen der dritten Generation: HÖHERE PROGRAMMIERSPRACHEN Sprachen der vierten Generation: 4GL-SYSTEME Alternative Sprachrichtungen: SUMME = 3 + 4 Compiler / Compiler / Interpreter / Interpreter Assemblersprachen Höhere Programmiersprachen 4GL-Systeme Alternative Sprachrichtungen SPRACHEN DER KÜNSTLICHEN INTELLIGENZ (Sprachen der fünften Generation) OBJEKTORIENTIERTE PROGRAMMIERSPRACHEN VISUELLE PROGRAMMIERSPRACHEN Assemblierer Assemblierer ADD 3, 4 Maschinensprache 00011010 0011 0100

Maschinensprachen (1. Generation) Maschinenorientierte Sprache Jeder Befehl besteht aus einer Folge der Binärzeichen 0 und 1 entsprechend dem Befehlssatz des jeweiligen Prozessors. Beispiel: Addiere 3+4 (Großrechner) Befehl Addition, Operanden 3, 4: 00011010 0011 0100 Befehlswort 3 4 unmittelbare Hardware-Orientierung, unverständlich, unübersichtlich, fehleranfällig Folie 315 Assemblersprachen (2. Generation) maschinenorientierte Sprache, die den Aufbau der Befehle der Maschinensprache beibehält, die Instruktionsteile jedoch nicht primär verschlüsselt, sondern durch Symbolik (mnemotechnische Abkürzungen) ausdrückt Beispiel: Addiere 3+4 Assemblerbefehl: ADD 3, 4 Die Übersetzung in Maschinensprache erfolgt mit Hilfe eines ASSEMBLIERERS (1:1-Übersetzung). optimale Speicherausnutzung und Verarbeitungsgeschwindigkeit enge Hardware-Orientierung, unübersichtlich, fehleranfällig Folie 316

Höhere / Prozedurale Programmiersprachen (3. Generation) Weitgehend genormte Sprachen, die für einen speziellen Anwendungsbereich konzipiert (problemorientiert) sind und nahezu unabhängig von einem bestimmten Rechnertyp sind. Die Programmierung erfolgt durch die Formulierung von Algorithmen (Algorithmus = Abfolge von Operationen, die jeweils Daten bearbeiten). Beispiel: Addiere 3+4: Operation SUMME = 3 + 4 Übersetzung in Maschinensprache erfolgt durch einen Compiler/Interpreter (1:n-Übersetzung) schlechtere Performance Folie 317 Übersetzungsprogramm I Ein Programm, das nicht in Maschinensprache abgefasst ist, wird QUELLPROGRAMM (QUELLCODE/SOURCECODE) genannt. Ein in Maschinensprache vorliegendes Programm (=Zielprogramm des Übersetzungsvorgangs) heißt OBJEKTPROGRAMM (OBJEKTCODE). Unter einem ÜBERSETZUNGSPROGRAMM (TRANSLATOR) versteht man ein Programm, das Anweisungen in einer höheren Sprache oder in Assemblersprache liest, analysiert (Optimierung) und in bedeutungsgleiche Maschinenbefehle umwandelt. Folie 318

Assemblierer Compiler Interpreter Assemblierer Compiler / / Interpreter 00011010 0011 0100 Assemblersprachen Höhere Programmiersprachen 4GL-Systeme Alternative Sprachrichtungen ADD 3, 4 SUMME = 3 + 4 Folie 319 Übersetzungsprogramm II Maschinensprache QUELLCODE: ÜBERSETZUNGS- PROGRAMM PROGRAM test; test; BEGIN BEGIN (Assemblierer, WriteLN ('Hallo!'); Compiler, Interpreter)...... OBJEKTCODE: 0101000100111 0110010011111 1110110001100 1100011... Hallo! Folie 320

Compiler vs. Interpreter Compiler Ein Übersetzungsprogramm, das in einer höheren Programmiersprache abgefassten Quellcode komplett in Zielanweisungen einer maschinenorientierten Programmiersprache umwandelt (kompiliert). Das erzeugte Objektprogramm kann für spätere Verarbeitungsläufe abgespeichert werden, so dass vor der (erneuten) Ausführung keine Übersetzung mehr nötig ist. Interpreter Ein Programm zur schrittweisen Übersetzung von Quellcode in lauffähigen Maschinencode, welcher sofort (zeilenweise) ausgeführt wird. Im Unterschied zum Kompilieren entsteht kein vollständiges, aufbewahrungsfähiges Objektprogramm. Bei jedem Programmstart erfolgt ein erneuter Übersetzungsvorgang Folie 321 Beispiele für 3-GL-Sprachen I COBOL (COmmon Business Oriented Language) Entwicklung in den 50er Jahren betriebswirtschaftliche Anwendungen (Verarbeitung umfangreicher Datenbestände) meistgenutzte Programmiersprache auf Großrechnern Standard: ANSI-COBOL-85 FORTRAN (FORmula TRANslator) Entwicklung in den 50er Jahren von IBM technisch-wissenschaftliche Anwendungen (effiziente Programme für komplexe mathematische Algorithmen) Standard: FORTRAN 90 BASIC (Beginners All-Purpose Symbolic Instruction Code) Entwicklung in den 60er Jahren als vereinfachtes FORTRAN fehlende Unterstützung der strukturierten Programmierung führte zu Spaghetticode Weiterentwicklung (MICROSOFT) zur professionellen Makro- und Programmiersprache VISUAL BASIC (Visuelle Programmierung) Folie 322

Beispiele für 3-GL-Sprachen II C Entwicklung in den 70er Jahren in den Bell Laboratories des amerikanischen Telekommunikationskonzerns AT&T effizientes Laufzeitverhalten eng mit dem Betriebssystem UNIX verbunden (UNIX zu 90% in C geschrieben) universell einsetzbar auf allen gängigen Rechnern objektorientierte Nachfolger: C++ Makrosprachen Automatisierung von wiederkehrenden Abläufen innerhalb von Anwendungen (z.b. Textverarbeitung, Tabellenkalkulation) Proprietär: Der Befehlsumfang wird ausschließlich von einem einzigen Hersteller definiert bzw. weiterentwickelt zumeist herstellerspezifische Dialekte der Programmiersprache BASIC z.b. Visual Basic for Application (VBA) von MICROSOFT, LotusScript von LOTUS Folie 323 Beispiele für 3-GL-Sprachen III PASCAL 1971 von Prof. Niklaus Wirth an der ETH Zürich entwickelt benannt nach französischen Mathematiker und Philosophen Blaise Pascal (1623-1662) unterstützt die strukturierte Programmierung durch leichte Erlernbarkeit für Ausbildungszwecke geeignet geringe Verbreitung im Bereich kommerzielle Anwendungsentwicklung durch unkomfortable Ein- und Ausgabeanweisungen und unzureichende Dateiverarbeitung Nachfolger: MODULA 2 (modulare Programmierung) ObjectPascal (objektorientierte Programmierung) Delphi (visuelle Programmierung) Blaise Pascal (1623-1662) Niklaus Wirth Folie 324

Nicht-prozedurale Sprachen 4GL-Systeme (4. Generation) Deskriptive Programmierung Der Programmierer muss nicht mehr angeben, auf welche Weise ein Problem Schritt für Schritt gelöst werden soll, sondern er legt in beschreibender Form das Resultat fest, was geschehen soll. Prozedurale Beispiel: Variante: Sortieren einer Kundenliste Datenbanksprache Structured Query Language (SQL) SELECT Vorname, Nachname FROM Kunden WHERE Ort = Bochum ORDER BY Nachname 1. Gehe zum ersten Datensatz in der Tabelle Kunde 2. Solange noch nicht am Ende der Tabelle Kunde 2.1. Wenn Ort von jeweiligen Datensatz = Bochum 2.1.1. Dann Markiere den Datensatz 2.2. Gehe zum nächsten Datensatz 3. Kopiere von markierten Datensätzen Vorname, Nachname in eine temporäre Tabelle 4. Sortiere Datensätze der temporären Tabelle nach Nachnamen Folie 325 Proprietär, hohe Inanspruchnahme der Hardwareressourcen bei Umsetzung, beschränkter Anwendungsbereich Alternative Richtungen: Sprachen der künstlichen Intelligenz Sprachen der 5. Generation Anwendungsgebiete: Expertensysteme, Robotersteuerung, Data Mining Funktionale Programmiersprachen mathematische Funktionen auf Basis von Basisfunktionen (Aneinanderkettung, Iteration, Rekursion) LISP (LISt-Processing Language): 1958 am MIT (Massachusetts Institute of Technology) entwickelt grundlegende Struktur der Liste für Programme und Daten Logische Programmiersprachen Prinzipien der mathematischen Logik: aus Fakten und Regeln werden mit Hilfe der Prädikatenlogik neue Fakten gewonnen PROLOG (PROgramming LOGic): 1972 in Marseille entwickelt Folie 326 kaum Ablaufsteuerung, Verwendung von Deduktionsverfahren

Alternative Richtungen: Objektorientierte Programmierspr. Objekt Daten: beschreiben den Zustand des Objekts Methoden: beschreiben das Verhalten des Objekts Klassen: Objekte mit gemeinsamer Struktur und gemeinsamen Verhalten weitere Konzepte: einfache/mehrfache Vererbung, Polymorphismus Objektorientierte Programmiersprachen (OOP) Simula (1967), Smalltalk (1972), Eiffel (1988), Java (1995) Hybridsprachen C++ (1985), ObjectPascal (1985), Modula-3 (1985) Folie 327 Alternative Richtungen: Visuelle Programmiersprachen objekt- und ereignisorientierte Modellierung des optischen Erscheinungsbildes des Programms Kontroll-/Steuerelemente besitzen Eigenschaften (z.b. Farbe) und Ereignisse (z.b. Mausklick) den Ereignissen werden Ereignisprozeduren zugeordnet VISUAL BASIC von MICROSOFT DELPHI von BORLAND Folie 328

Vergleich Pascal zu Visual Basic "Schritt für Schritt" Ereignisgesteuert Folie 329 Gefragte Softwaretechnologien bei den IT-Kernberufen Softwareentwicklung / Programmierung IT-Organisation / IT-Projekte Netzwerke / Betriebssysteme Service / Support Datenbanken [CDI, Sept 2001] Folie 330

Gefragte Softwaretechnologien bei den IT-Mischberufen Multimedia E-Business / E-Commerce SAP CAD Kaufmännische Sachbearbeitung [CDI, Sept 2001] Folie 331 Vielen Dank für Ihre Aufmerksamkeit Folie 332